Code derived from Mrs. Brisbys SMTP AUTH patch contains the following:
switch ((pid=fork())) {
case -1: die_nomem();
case 0: close(fds[1]);
fd_copy(3,fds[0]);
execvp(smtpauth_argv[1], smtpauth_argv+1);
die_nomem();
};
Do not do that - replace the die_nomem() line with a simple _exit(1).
Problem: This leads to _two_ error lines if the execvp fails, thus
breaking the SMTP protocol.
220 ohse.de ESMTP
auth login plain
334 UGFzc3dvcmQ6
test
421 out of memory (#4.3.0)
535 auth failure
quit
221 ohse.de
Regards, Uwe (forced by management to implement the SMTP AUTH on one
of our machines)