There are patches for eight files in the standard majordomo-1.94.4 distribution. For five of the files, the only difference is that the fallback pathname has to be changed from the standard fallback pathname of /etc/majordomo.cf to the correct location of majordomo.cf. This is necessary because the majordomo programs won't be run via a wrapper program that sets the MAJORDOMO_CF environment variable. In these patches, /etc/majordomo.cf is replaced with /var/majordomo/majordomo.cf. Obviously a different pathname could be given instead, if the directory /var/majordomo isn't being used. The five patch files that make only this change are: archive2.pl-PATCH bounce-remind-PATCH digest-PATCH request-answer-PATCH resend-PATCH Three other files have more significant changes: majordomo-PATCH -- includes some of the changes from ftp://ftp.chaos.taylored.com/pub/development/mj+qmail-1.02.tar.gz to behave as if "strip = yes" were specified for every list. This is needed because .qmail files can contain only e-mail addresses and not names or other comments. -- if an address being subscribed doesn't begin with [A-Za-z0-9], an & is added to the beginning of the address. This is needed to meet the required format of .qmail files. An & could have been added to every address, but I thought this would tend to make the e-mail address listings harder to read. -- if an & is found at the beginning of an address when processing a "which" or "who" command, it is removed before that address is written to the response message. majordomo.pl-PATCH -- includes a change from ftp://ftp.chaos.taylored.com/pub/development/mj+qmail-1.02.tar.gz to disallow unqualified e-mail addresses. This is needed to meet the requirements of .qmail files. -- the exit status for hard and soft errors is set to 100 and 111 (as used by qmail) rather than 65 and 75 (as used by sendmail). -- when checking for address matches (e.g., to see if an address is already subscribed to a list), an initial & in an address is ignored. -- rather than disallowing only the | character in e-mail addresses, requires that all characters in e-mail addresses be included in [A-Za-z0-9_.+=:%!~#\/\@-]. (There aren't known problems with other characters except perhaps [\n\0\"\\], but I think these are probably the only characters that are needed.) sample.cf-PATCH -- $homedir needs to be explicitly set in majordomo.cf, since the HOME environment variable isn't necessarily set correctly due to the wrapper program not being used. -- the sendmail command-line options -oi and -oee aren't useful with qmail -- qmail soft errors are produced with "exit 111", not "exit 75" -- rather than using /usr/tmp, a directory /var/majordomo-tmp is used -- this can be mode 700, owned by the majordomo user. This probably prevents some problems that could be caused by other users creating symlinks or hard links from /usr/tmp. The only other change needed from the standard majordomo installation procedure is to either not compile the wrapper program, or else delete (or chmod u-s) it after the installation test is completed. Files needed for qmail (this assumes that qmail is configured with the first line of conf-break set to '+' rather than '-'): /var/qmail/alias/.qmail-majordomo-owner and /var/qmail/alias/.qmail-owner-majordomo should specify who receives mail for Majordomo-Owner Eight lines are added to /var/qmail/users/assign for each list. Here's what they would be for a list named mylist: =mylist:majordom:95:94:/var/mailspool/mylist::: =mylist-recipients:majordom:95:94:/var/mailspool/mylist:-:recipients: =mylist-recipients-owner:majordom:95:94:/var/mailspool/mylist:-:owner: =owner-mylist:majordom:95:94:/var/mailspool/mylist:-:owner: =owner-mylist-request:majordom:95:94:/var/mailspool/mylist:-:owner: =mylist-approval:majordom:95:94:/var/mailspool/mylist:-:approval: =mylist-request:majordom:95:94:/var/mailspool/mylist:-:request: =mylist-owner:majordom:95:94:/var/mailspool/mylist:-:owner: where 95 is the majordomo uid and 94 is the majordomo gid. In /var/mailspool/mylist, the files (all owned by the majordomo user) are: .qmail -- contains the one line: |/var/majordomo/resend -l mylist mylist-recipients .qmail-approval -- specifies who does approvals for the list .qmail-owner -- specifies who owns the list .qmail-recipients -- a symlink to /var/majordomo/lists/mylist .qmail-recipients-owner -- usually also specifies who owns the list .qmail-request -- contains the one line: |/var/majordomo/request-answer mylist In /var/majordomo/lists are the standard three files for a list run with majordomo 1.94.4, e.g., mylist, mylist.config, and mylist.info NOTE: the configuration described here does not use VERP for the envelope-from addresses. To add VERP support, two extra steps are needed. First, there is one additional entry per list in /var/qmail/users/assign. For a list named mylist, it would be: +mylist-recipients-owner-:majordom:95:94:/var/mailspool/mylist:-:recipients-owner-default: Second, there is one additional file in /var/mailspool/mylist. The name of the file is .qmail-recipients-owner-default, and the contents should specify where the bounce messages are supposed to go. For example, it might contain the e-mail address of the list owner. On the other hand, it might be something of the form |/var/majordomo/automatically-unsubscribe-address-in-delivered-to-line