So the last post I made works. For FreeBSD novices (if there are any out there) here is the exact process:
1. As ROOT for all of this, backup your password file cp /etc/master.passwd /etc/master.passwd.saved
2. Edit your /etc/master.passwd file for user popuser and replace the group ID with 110 and should look like this prior to the fix (was group 100 in my case):
popuser:*:110:100::0:0
OP3 service user:/:/sbin/nologin
fixed:
popuser:*:110:110::0:0
OP3 service user:/:/sbin/nologin
3. Run the following command:
/usr/sbin/pwd_mkdb -p /etc/master.passwd
4. Edit your /etc/group file and change it to the following:
popuser:*:110:
5. Now make a file /tmp/mm_wrapper.c using VI or pico -w 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/passd,/etc/group\n ");
return -1;
}
(void) execve("/usr/local/psa/qmail/bin/mm_wrapper-real", argv, env);
/* Should not get here */
}
6. Stop PSA (just in case): /usr/local/psa/rc.d/psa stop
7. Run this command: mv /usr/local/psa/qmail/bin/mm_wrapper /usr/local/psa/qmail/bin/mm_wrapper-real
8. Run this command: gcc /tmp/mm_wrapper.c -o /usr/local/psa/qmail/bin/mm_wrapper
9. Run this command: chmod 6755 /usr/local/psa/qmail/bin/mm_wrapper
10. I would make sure that the ownership of new file is like follows:
rwsr-sr-x 1 root qmail 4736 Oct 13 13:46 mm_wrapper
or
rwsr-sr-x 1 root popuser 4736 Oct 13 13:46 mm_wrapper
Mine is the first and works fine...
11. Start PSA: /usr/local/psa/rc.d/psa start
12. Tail your maillog while you send an email to one of your lists and see if the error repeats. It shouldn't.
Again I've only tested this fix on FreeBSD 4.11 and 5.4 systems running PSA 7.5.4 with the latest patches installed. As for the mchk utility I'm told a fix is in the works.
Thanks,
James