File mailman-2.1.4-dirmode.patch of Package mailman.13240
--- mailman-2.1.6/Makefile.in
+++ mailman-2.1.6/Makefile.in
@@ -103,7 +103,7 @@
if test ! -d $$dir; then \
echo "Creating directory hierarchy $$dir"; \
$(srcdir)/mkinstalldirs $$dir; \
- chmod $(DIRMODE) $$dir; \
+ chmod $(EXEMODE) $$dir; \
$(DIRSETGID) $$dir; \
else true; \
fi; \
@@ -115,7 +115,7 @@
if test ! -d $$dir; then \
echo "Creating directory hierarchy $$dir"; \
$(srcdir)/mkinstalldirs $$dir; \
- chmod $(DIRMODE) $$dir; \
+ chmod $(EXEMODE) $$dir; \
$(DIRSETGID) $$dir; \
else true; \
fi; \
--- mailman-2.1.6/bin/check_perms
+++ mailman-2.1.6/bin/check_perms
@@ -70,6 +70,7 @@
STATE = State()
DIRPERMS = S_ISGID | S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH
+DIRPERMS_VAR = S_ISGID | S_IRWXU | S_IROTH | S_IXOTH
QFILEPERMS = S_ISGID | S_IRWXU | S_IRWXG
PYFILEPERMS = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
ARTICLEFILEPERMS = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP
@@ -174,8 +175,7 @@
prefix = mm_cfg.PREFIX
print _('checking mode for %(prefix)s')
dirs = {}
- for d in (mm_cfg.PREFIX, mm_cfg.EXEC_PREFIX, mm_cfg.VAR_PREFIX,
- mm_cfg.LOG_DIR):
+ for d in (mm_cfg.VAR_PREFIX, mm_cfg.LOG_DIR):
dirs[d] = True
for d in dirs.keys():
try:
@@ -184,14 +184,24 @@
if e.errno <> errno.ENOENT: raise
print _('WARNING: directory does not exist: %(d)s')
continue
- if (mode & DIRPERMS) <> DIRPERMS:
- STATE.ERRORS += 1
- print _('directory must be at least 02775: %(d)s'),
- if STATE.FIX:
- print _('(fixing)')
- os.chmod(d, mode | DIRPERMS)
- else:
- print
+ if (d == mm_cfg.VAR_PREFIX):
+ if (mode & DIRPERMS_VAR) <> DIRPERMS_VAR:
+ STATE.ERRORS += 1
+ print _('directory must be 02755: %(d)s'),
+ if STATE.FIX:
+ print _('(fixing)')
+ os.chmod(d, mode | DIRPERMS_VAR)
+ else:
+ print
+ else:
+ if (mode & DIRPERMS) <> DIRPERMS:
+ STATE.ERRORS += 1
+ print _('directory must be at least 02775: %(d)s'),
+ if STATE.FIX:
+ print _('(fixing)')
+ os.chmod(d, mode | DIRPERMS)
+ else:
+ print
# check all subdirs
os.path.walk(d, checkwalk, STATE)