6 Jan 2009 14:35
Linux-PAM and saslauthd process reaping conflict
Jov <jov <at> able.be>
2009-01-06 13:35:09 GMT
2009-01-06 13:35:09 GMT
Hello, my apologies for crossposting. I am unsure which project this should be fixed in, if not both. When you use saslauthd with pam_exec.so, a process reaping race is created. pam_exec.c uses a fork/waitpid combination to run it's child process and saslauthd has a signal handler for SIGCHLD. If the process terminates before the waitpid is entered, the SIGCHLD is handled by saslauthd and pam_exec returns with an error to the pam stack. I tried fixing it in PAM by restoring the default sighandler but this did not seem to work (see patch). Perhaps I made a silly mistake or it has something to do with MT signal handling, I do not know. In any case, it seems a bad idea for PAM to assume there is no SIGCHLD handler installed in the parent process. Eventually, I fixed it by disabling automatic process reaping in saslautd with the pam authentication mechanism. Afaict, this handler is not used anyway. Regards, Johan Verrept -- NEW on aXs GUARD: SSL VPN !! (contact your reseller for more info) ---------------------------------------------------(Continue reading)
RSS Feed