]> andersk Git - moira.git/commitdiff
Need to reserve more listnames for Mailman 2.1
authorzacheiss <zacheiss>
Thu, 16 Jan 2003 22:54:07 +0000 (22:54 +0000)
committerzacheiss <zacheiss>
Thu, 16 Jan 2003 22:54:07 +0000 (22:54 +0000)
gen/mailhub.pc
server/qsetup.pc

index cd0f8b2892df95427862cb447276ee106e79fb87..a995fb2b271ec494b36865f43108b9e64bfcf733 100644 (file)
@@ -372,12 +372,16 @@ void output_login(int dummy, void *user, void *out)
 }
 
 int line_width, alias_width;
+static const char *mailman_suffixes[] = { "-admin", "-owner", "-request",
+                                         "-bounces", "-confirm", "-join",
+                                         "-leave", "-subscribe",
+                                         "-unsubscribe", NULL };
 
 void output_mlist(int id, void *list, void *out)
 {
   struct list *l = list, *l1;
   struct user *u;
-  int len = strlen(l->name);
+  int len = strlen(l->name), i;
 
   if (!l->maillist || !check_string(l->name))
     return;
@@ -390,12 +394,9 @@ void output_mlist(int id, void *list, void *out)
 
   if (l->mailman && strcmp(l->mailman_server, "[NONE]"))
     {
-      fprintf(out, "%s-admin: %s-admin@%s\n", l->name, l->name,
-             l->mailman_server);
-      fprintf(out, "%s-owner: %s-owner@%s\n", l->name, l->name,
-             l->mailman_server);
-      fprintf(out, "%s-request: %s-request@%s\n", l->name, l->name,
-             l->mailman_server);
+      for (i = 0; mailman_suffixes[i]; i++)
+       fprintf(out, "%s%s: %s%s@%s\n", l->name, mailman_suffixes[i], l->name,
+               mailman_suffixes[i], l->mailman_server);
     }
 
   if (l->acl_t ==  'L' && (l1 = hash_lookup(lists, l->acl_id)))
index 80f5535bfb8d43956b1fd44c29cf621e2183a7c2..90a333aa0e28d8f5b3d40d77357acab3884a24bc 100644 (file)
@@ -365,6 +365,11 @@ static int badlistchars[] = {
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 };
 
+static const char *mailman_suffixes[] = { "-admin", "-owner", "-request",
+                                         "-bounces", "-confirm", "-join",
+                                         "-leave", "-subscribe",
+                                         "-unsubscribe", NULL };
+
 int setup_alis(struct query *q, char *argv[], client *cl)
 {
   EXEC SQL BEGIN DECLARE SECTION;
@@ -372,7 +377,7 @@ int setup_alis(struct query *q, char *argv[], client *cl)
   char *name, *desc;
   EXEC SQL END DECLARE SECTION;
   unsigned char *p;
-  int idx, err, best = -1, usage;
+  int idx, err, best = -1, usage, i;
 
   if (!strcmp(q->shortname, "alis"))
     idx = 0;
@@ -437,12 +442,12 @@ int setup_alis(struct query *q, char *argv[], client *cl)
   /* Don't let someone rename a list to one of the magic mailman names
    * (foo-admin, etc) if foo already exists as a mailman list.
    */
-  if ((err = check_mailman_listname(name, "-admin")) != MR_SUCCESS)
-    return err;
-  if ((err = check_mailman_listname(name, "-owner")) != MR_SUCCESS)
-    return err;
-  if ((err = check_mailman_listname(name, "-request")) != MR_SUCCESS)
-    return err;
+  for (i = 0; mailman_suffixes[i]; i++)
+    {
+      if ((err = check_mailman_listname(name, mailman_suffixes[i])) 
+         != MR_SUCCESS)
+       return err;
+    }
 
   if (q->version >= 10)
     {
This page took 0.117768 seconds and 5 git commands to generate.