Merge remote branch 'origin/platal-1.0.0'
[platal.git] / bin / lists.rpc.py
index dd959f3..9ed42d8 100755 (executable)
@@ -105,9 +105,10 @@ class BasicAuthXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
         except:
             raise Exception('method "%s" is not supported' % method)
 
+    def is_rpc_path_valid(self):
+        return True
 
     def _dispatch(self, method, params):
-        new_params = list(params)
         return list_call_dispatcher(self._get_function(method), self.data[0], self.data[1], self.data[2], *params)
 
     def do_POST(self):
@@ -195,7 +196,7 @@ def to_forlife(email):
     if ( fqdn == PLATAL_DOMAIN ) or ( fqdn == PLATAL_DOMAIN2 ):
         res = mysql_fetchone("""SELECT  CONCAT(f.alias, '@%s'), a.full_name
                                   FROM  accounts AS a
-                            INNER JOIN  aliases  AS f ON (f.uid = a.uid AND f.type = 'a_vie')
+                            INNER JOIN  aliases  AS f  ON (f.uid = a.uid AND f.type = 'a_vie')
                             INNER JOIN  aliases  AS aa ON (aa.uid = a.uid AND aa.alias = '%s'
                                                            AND a.type != 'homonyme')
                                  WHERE  a.state = 'active'
@@ -881,8 +882,11 @@ def create_list(userdesc, perms, vhost, listname, desc, advertise, modlevel, ins
 
     # avoid the "-1 mail to moderate" bug
     mlist = MailList.MailList(name)
-    mlist._UpdateRecords()
-    mlist.Save()
+    try:
+        mlist._UpdateRecords()
+        mlist.Save()
+    finally:
+        mlist.Unlock()
     return 1
 
 def delete_list(userdesc, perms, mlist, del_archives=0):