Davide Libenzi wrote: > Ok, you made me waste *A LOT* of time, for a totally wrong analysis, > probably linked with your own compiler of XMail code additions. > The pszSMTPError string is printed only after a failure of one of > SMTPCheckReturnPath() and SMTPCheckForwardPath(), and both these functions > sets pszSMTPError in every error path out of them. > This makes me think (pretty clearly) that you modified the XMail source, > and the problems you're seeing comes from your changes. > Like I say in another mail, I did not intend to waste your time. I find that I've screwed up, so sorry.
In this case, I had added a check on the return value of SMTPTryPopAuthIpCheck() (see c&p from previously posted diff below) and indeed had missed adding the pszSMTPError = SysStrDup(...) to complete my change. I couldn't find any other significant changes I made to the code, but I am probably mistaken. Anyway, without the error check and added 'return ErrGetErrorCode();' in there, an error in SMTPTryPopAuthIpCheck() would go unnoticed (e.g. SMTP delayed longer than timeout after POP3) and authorize the user incorrectly. At least in my code and my flaky compiler. Sorry to have bothered you. Best regards, Ger Hobbelt @@ -1131,7 +1136,16 @@ } /* Check SMTP after POP3 authentication */ if (SvrTestConfigFlag("EnableAuthSMTP-POP3", true, SMTPS.hSvrConfig)) - SMTPTryPopAuthIpCheck(SMTPS, szMailerUser, szMailerDomain); + { + if (SMTPTryPopAuthIpCheck(SMTPS, szMailerUser, szMailerDomain)) + { + pszSMTPError = SysStrDup("504 You did not authenticate properly using SMTP-after-POP3"); + + SysLogMessage(LOG_LEV_DEBUG, "mail user '[EMAIL PROTECTED]' did not authenticate properly using SMTP-after-POP3: %d: %s\n", + szMailerUser, szMailerDomain, ErrGetErrorCode(), ErrGetErrorString()); + return ErrGetErrorCode(); + } + } - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED]