}
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;
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)))
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;
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;
/* 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)
{