From 514054a96ba70775d5db240ad31d364d756e5393 Mon Sep 17 00:00:00 2001 From: zacheiss Date: Thu, 16 Jan 2003 22:54:07 +0000 Subject: [PATCH] Need to reserve more listnames for Mailman 2.1 --- gen/mailhub.pc | 15 ++++++++------- server/qsetup.pc | 19 ++++++++++++------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/gen/mailhub.pc b/gen/mailhub.pc index cd0f8b28..a995fb2b 100644 --- a/gen/mailhub.pc +++ b/gen/mailhub.pc @@ -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))) diff --git a/server/qsetup.pc b/server/qsetup.pc index 80f5535b..90a333aa 100644 --- a/server/qsetup.pc +++ b/server/qsetup.pc @@ -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) { -- 2.45.2