I followed the instructions from DCNet_James (with minor changes for differences in Redhat/CentOS installation locations). The supposed mchk fix still isn't working for me; I get a segfault everytime. But this seems to work on my CentOS 4.2 box...
1. Make sure you're ROOT for all of this.
2. Edit your /etc/passwd file for user popuser and replace the group ID with 110
It should look like this:
popuser:x:110:110
OP3 service user:/:/bin/false
3. Edit your /etc/group file and change it to the following:
popuser:x:110:
4. Make sure you have gcc installed:
#yum install gcc (use whatever package manager you want)
5. Now make a file /tmp/mm_wrapper.c using vi or pico or whatever your fav editor is...
File contents:
#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char** argv, char** env) {
if (setregid(110, 110) != 0) {
printf("Set right UID/GID for popuser in /etc/passwd,/etc/group\n ");
return -1;
}
(void) execve("/var/qmail/bin/mm_wrapper-real", argv, env);
/* Should not get here */
}
6. Stop PSA (just in case):
#service psa stop
7. Run this command:
#mv /var/qmail/bin/mm_wrapper /var/qmail/bin/mm_wrapper-real
8. Run this command:
#gcc /tmp/mm_wrapper.c -o /var/qmail/bin/mm_wrapper
9. Run this command:
#chown root:mail /var/qmail/bin/mm_wrapper
9. Run this command:
#chmod 2555 /var/qmail/bin/mm_wrapper
10. Restart PSA:
#service psa start
11. Send an email to one of your lists and then check your maillog to see if the error is present.
I'm still holding out for a fix to solve the mchk segfault problem, but for now this at least gets the mailman lists running again.