Hello, What order I need to apply the folowing patch's http://www.nrg4u.com/qmail/qmail-ldap-1.03-20010501.patch.gz, http://qmail.bayour.com/patches_ldap/qmail-ldap-control_20010502.patch.gz (--problem), http://www.lifewithqmail.org/ldap/patches/smtp-auth/smtp-auth-20010501.patch http://www.lifewithqmail.org/ldap/patches/smtp-after-pop/auth_pop.patch-20010501 http://www.lifewithqmail.org/ldap/patches/rbltag/rbltag-20010421.patch http://www.lifewithqmail.org/ldap/patches/dash-trick/qmail-lspawn.c.patch-20010501 I make a changes in smtp-auth, when someone in relay domains, do not ask for Authentication, I have a lot of problems with netscape. This is modified patch that I found in the net. Marlon Costa Ps.: Sorry, for my very BAD english, :-( diff -uNr qmail-1.03-ldap/qmail-smtpd.c qmail-1.03/qmail-smtpd.c --- qmail-1.03-ldap/qmail-smtpd.c Sat May 12 14:05:49 2001 +++ qmail-1.03/qmail-smtpd.c Sat May 12 14:06:11 2001 @@ -40,6 +40,9 @@ #include "base64.h" #endif +/* vhor */ +#include <syslog.h> + #define MAXHOPS 100 unsigned int databytes = 0; int timeout = 1200; @@ -619,10 +622,16 @@ out("\r\n250-PIPELINING\r\n"); #ifdef USE_SMTPAUTH #ifdef USE_OLD_GREETING - out("250-AUTH=LOGIN PLAIN\r\n"); + /* vhor */ + if (! relayclient) { + out("250-AUTH=LOGIN PLAIN\r\n"); + } #endif #ifdef USE_NEW_GREETING - out("250-AUTH LOGIN PLAIN\r\n"); + /* vhor */ + if (! relayclient) { + out("250-AUTH LOGIN PLAIN\r\n"); + } #endif #endif #ifdef TLS @@ -1171,7 +1180,7 @@ static void smtpauth_authenticate(void) { - int st, pid, fds[2]; + int st, pid, fds[2], i; if (pipe(fds)) { out("535 pipe failure\r\n"); @@ -1185,6 +1194,12 @@ submit: /bin/checkpassword /bin/true */ + /* vhor */ + for(i=0;i<strlen(smtpauthlogin);i++) { + if (! isalnum(smtpauthlogin[i]) ) { + smtpauthlogin[i] = 'X'; + } + } switch ((pid=fork())) { case -1: die_fork(); case 0: close(fds[1]); @@ -1205,8 +1220,12 @@ if (wait_crashed(st)) die_crash(); + /* vhor */ + openlog("qsmtpd",0,LOG_MAIL); if (wait_exitcode(st) == 0) { out("235 go ahead\r\n"); + /* vhor */ + syslog(LOG_DEBUG,"auth ok for login: %s",smtpauthlogin); flush(); relayok=relayclient=""; authenticated=1; @@ -1214,7 +1233,10 @@ return; } sleep(2); + /* vhor */ + /* out("235 auth failure, but go ahead\r\n"); */ out("535 auth failure\r\n"); + syslog(LOG_DEBUG,"auth fail for login: %s",smtpauthlogin); flush(); return; } @@ -1237,6 +1259,16 @@ /* Here i've added support for other auth types. [EMAIL PROTECTED] */ + /* if RELAYCLIENT set, do not know AUTH + (Netscape client try AUTH everytime and ask user for password + and it is unnecessary in local network. + [EMAIL PROTECTED] + */ + if (relayclient) { + out("502 unimplemented (#5.5.1)\r\n"); + return; + } + if (!authenticated) { if ((ret=strncasecmp(arg,"login",5))==0)
