Fix a race condition in active redirection validation.
[platal.git] / bin / lists.rpc.py
index 99a7974..aac5a23 100755 (executable)
@@ -172,7 +172,7 @@ def quote(s, is_header=False):
     else:
         h = s
     h = str('').join(re.split('[\x00-\x08\x0B-\x1f]+', h))
-    return Utils.uquote(h.replace('&', '&amp;').replace('>', '&gt;').replace('<', '&lt;')) 
+    return Utils.uquote(h.replace('&', '&amp;').replace('>', '&gt;').replace('<', '&lt;'))
 
 def to_forlife(email):
     try:
@@ -687,10 +687,10 @@ def get_bogo_level(userdesc, perms, vhost, listname):
         if mlist.header_filter_rules == []:
             return 0
         try:
-            action = mlist.header_filter_rules[1][1]
+            action = mlist.header_filter_rules[2][1]
             return 2
         except:
-            action = mlist.header_filter_rules[0][1]
+            action = mlist.header_filter_rules[1][1]
             if action == mm_cfg.HOLD:
                 return 1
             if action == mm_cfg.DISCARD:
@@ -708,11 +708,14 @@ def set_bogo_level(userdesc, perms, vhost, listname, level):
             return 0
         hfr = []
         if int(level) is 1:
+            hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False))
             hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.HOLD, False))
         elif int(level) is 2:
+            hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False))
             hfr.append(('X-Spam-Flag: Yes, tests=bogofilter, spamicity=(0\.999999|1\.000000)', mm_cfg.DISCARD, False))
             hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.HOLD, False))
         elif int(level) is 3:
+            hfr.append(('X-Spam-Flag: Unsure, tests=bogofilter', mm_cfg.HOLD, False))
             hfr.append(('X-Spam-Flag: Yes, tests=bogofilter', mm_cfg.DISCARD, False))
         if mlist.header_filter_rules != hfr:
             mlist.Lock()
@@ -868,7 +871,7 @@ def create_list(userdesc, perms, vhost, listname, desc, advertise, modlevel, ins
         mlist.subject_prefix = '['+listname+'] '
         mlist.max_message_size = 0
 
-        inverted_listname = '_'.join(listname.split('_', 1)[-1::-1])
+        inverted_listname = listname.lower() + '_' + vhost.lower()
         mlist.msg_footer = "_______________________________________________\n" \
                          + "Liste de diffusion %(real_name)s\n" \
                          + "http://listes.polytechnique.org/members/" + inverted_listname