summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhmeland1999-06-13 07:19:20 +0000
committerhmeland1999-06-13 07:19:20 +0000
commit76f3ec2988151798f16ddbc01d293b872c0aa79c (patch)
tree7c248f404ff2b1e9d522aecdca732b23ce098120
parent5551c37235c9c603bd7ae608093198c4c4d929f5 (diff)
downloadmailman-76f3ec2988151798f16ddbc01d293b872c0aa79c.tar.gz
mailman-76f3ec2988151798f16ddbc01d293b872c0aa79c.tar.zst
mailman-76f3ec2988151798f16ddbc01d293b872c0aa79c.zip
Create(): Do ValidateEmail(admin) before trying to actually create
anything, to disallow bin/newlist creating lists with bogus admin addresses.
-rw-r--r--Mailman/MailList.py4
-rw-r--r--src/Makefile.in19
2 files changed, 13 insertions, 10 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 250740a20..181101469 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -714,8 +714,8 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
def Create(self, name, admin, crypted_password):
if name in Utils.list_names():
raise ValueError, 'List %s already exists.' % name
- else:
- Utils.MakeDirTree(os.path.join(mm_cfg.LIST_DATA_DIR, name))
+ Utils.ValidateEmail(admin)
+ Utils.MakeDirTree(os.path.join(mm_cfg.LIST_DATA_DIR, name))
self._full_path = os.path.join(mm_cfg.LIST_DATA_DIR, name)
self._internal_name = name
self.Lock()
diff --git a/src/Makefile.in b/src/Makefile.in
index 8eab9a225..1b6c8acf9 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -40,6 +40,7 @@ CGI_GID= @CGI_GID@
#ALIAS_UID= @ALIAS_UID@
#ALIAS_GID= @ALIAS_GID@
MAILMAN_UID= @MAILMAN_UID@
+MAILMAN_GID= @MAILMAN_GID@
# Customizable but not set by configure
OPT= @OPT@
@@ -54,7 +55,8 @@ MAIL_FLAGS= -DMAIL_GID=$(MAIL_GID)
CGI_FLAGS= -DCGI_GID=$(CGI_GID)
-#ALIAS_FLAGS= -DALIAS_UID=$(ALIAS_UID) \
+ALIAS_FLAGS= -DMAILMAN_GID=$(MAILMAN_GID)
+# -DALIAS_UID=$(ALIAS_UID) \
# -DALIAS_GID=$(ALIAS_GID)
HELPFUL= -DHELPFUL
@@ -78,7 +80,7 @@ listinfo subscribe roster handle_opts private
MAIL_PROGS= wrapper
-#ALIAS_PROGS= addaliases
+ALIAS_PROGS= addaliases
SUID_CGI_PROGS= private
@@ -94,8 +96,8 @@ all: $(PROGRAMS)
wrapper: $(srcdir)/mail-wrapper.c common.o
$(CC) -I. $(MAIL_FLAGS) $(CFLAGS) common.o -o $@ $(srcdir)/mail-wrapper.c
-#addaliases: $(srcdir)/alias-wrapper.c common.o
-# $(CC) -I. $(ALIAS_FLAGS) $(CFLAGS) -o $@ $(srcdir)/alias-wrapper.c
+addaliases: $(srcdir)/alias-wrapper.c common.o
+ $(CC) -I. $(ALIAS_FLAGS) $(CFLAGS) common.o -o $@ $(srcdir)/alias-wrapper.c
$(CGI_PROGS): $(srcdir)/cgi-wrapper.c common.o
$(CC) -DSCRIPT="\"$@\"" -I. $(CGI_FLAGS) $(CFLAGS) common.o -o $@ $(srcdir)/cgi-wrapper.c
@@ -115,10 +117,11 @@ install: all
$(INSTALL_PROGRAM) $$f $(MAILDIR); \
chmod g+s $(MAILDIR)/$$f; \
done
-# @for f in $(ALIAS_PROGS); \
-# do \
-# $(INSTALL_PROGRAM) $$f $(bindir) ; \
-# done
+ @for f in $(ALIAS_PROGS); \
+ do \
+ $(INSTALL_PROGRAM) $$f $(bindir) ; \
+ chmod g+s $(bindir)/$$f; \
+ done
finish:
-for f in $(SUID_CGI_PROGS); \