• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Failure_to_exec_mailman_wrapper._WANTED_gid_110,_GOT_gid_100.__(Reconfigure_to_take_1

If you look in my thread above, don't follow their crappy howto on their site. Compiling a new messagewrapper from source as I instruct in my last post does the trick. I only ran into a few issues after this. One domain started flaking out about the group 100 still owning the directory under /usr/local/psa/qmail/mailnames/, but I just did a chown -R popuser:popuser * and that restored the permissions where they should be.

Running mchk might still be a good idea.

J
 
seems to have done the trick

So does everything that belongs inside /usr/local/psa/qmail/mailnames/
have the group/user id popuser:popuser

As alot of mine are still showing up

popuser:100


Cheers
 
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:pOP3 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.
 
updated

Update for FreeBSD:

I just had this problem too and here is what I did on a FreeBSD 5.3 system. The instructions are much shorter since mchk now works (for me at least)

1. run vipw to edit your password file and change the group id:

# vipw

popuser:*:110:110::0:0:pOP3 service user:/:/sbin/nologin

Make sure your popuser looks like the one above

2. Run mchk with options you need
# /usr/local/psa/admin/sbin/mchk --with-spam

3. # find / -gid 100 | awk '{print "chgrp popuser \""$0."\""}' | sh

NOTE: on step 3 replace -gid with -group

I love how SWSoft assumes everyone uses Linux :)
 
The FBSD instructions were above and is how this post was originally answered. I also have a fix for the mchk issue too.

Anyhow yeah, SW_Soft, they're fast becoming worse than Microsoft, but at least you can get answers from Microsoft.

:)
 
When I do step 3 of the Knowledge base article or the slightly modified version presented here

#find / -gid OLD_POPUSER_GID | awk '{print "chgrp popuser \""$0."\""}' | sh

I get:
invalid argument `OLD_POPUSER_GID' to `-gid'

I'm using GoDaddy/Fedora Core 3

How can I resolved this?

Thanks for helping a newby.
 
Originally posted by rcharamella
When I do step 3 of the Knowledge base
invalid argument `OLD_POPUSER_GID' to `-gid'

I think you need to replace OLD_POPUSER_GID with the actual group id of popuser. Typically you can get the group id of a user by typing:

id popuser
 
Replacement for original mm_wrapper.c file.

This fixed my mailman problems on Plesk:
Code:
/* This should be the uid that owns the /var/spool/mailman/in directory */
#define MAIL_UID 110
/* This should be the GID that owns the /var/spool/mailman/in directory. */
#define MAIL_GID 41
/* After editing the above lines, you may compile this program with the
   following command-line:

   gcc -Wall -O -s -o mm_wrapper mm_wrapper.c

   Then change the ownership and mode of the resultant mm_wrapper file to
   the same as tthe /var/spool/mailman/in directory.  On my system, that
   would be accomplished by the following commands:

   chown 110.41 mm_wrapper
   chmod g+s mm_wrapper
*/
/* No user-serviceable parts below this point. */
#include <unistd.h> /* for seteuid, setegid */
#include <stdio.h> /* for printf */
int main(int argc, char** argv, char** env) {
        if (seteuid(MAIL_UID) != 0) {
                printf("Unable to set Effective UID to %d\n",MAIL_UID);
                return -1;
        }
        if (setegid(MAIL_GID) != 0) {
                printf("Unable to set Effective GID to %d\n",MAIL_GID);
                return -1;
        }
        (void) execve(argv[1], argv+1, env);
        return 0;
}
 
I have started a forum on my phpbb page http://noc.secondcitytech.com/ just for FreeBSD/Plesk related issues. If you use Plesk on FreeBSD, feel free to post your problems and eventual solutions there.

Thx
James
 
Back
Top