On Mon, 28 Sep 2009, Cesar Meloni wrote:
> Hello all!
>
> I have an XMail server v1.26 runing on Linux (with CourierIMAP for IMAP
> clients, really work great)...
> CourierIMAP authenticated with a script through AuthProg (pipe).
> XMail POP3 clients authenticated withan external bash script that works
> correctly.
> The same bash script I use for SMTP authentication but has not been
> successful, my configuration is:
>
> For POP3 userauth/pop3/mydomain..tab:
> "userauth"<TAB>"/var/MailRoot/bin/xmailldapauth.sh"<TAB>"@@USER"<TAB>"@@PASSWD"<TAB>"serverip"<TAB>"domainame"
>
> For SMTP smtpextauth.tab (FAIL)
> "PLAIN"<TAB>"/var/MailRoot/bin/xmailldapauth.sh"<TAB>"@@USER"<TAB>"@@PASS"<TAB>"serverip"<TAB>"domainame"
>
> XMail debug mode displays the following message:
> "SMTP client connection from [1.2.3.4]
> execv error: cmd='username'"
>
> XMail try to run the @@USER macro, just by intuition, if I put the next
> field in the configuration file, it
> works correctly:
> "PLAIN"<TAB>"DummyField"<TAB>"/var/MailRoot/bin/xmailldapauth.sh"<TAB>"@@USER"<TAB>"@@PASS"<TAB>"serverip"<TAB>"
> domainame"
>
> What is happening?
You hit a bug ;)
I fixed it in 1.27, but you can easily fix it in 1.26 with the following
patch.
- Davide
diff --git a/SMTPSvr.cpp b/SMTPSvr.cpp
index 13c7177..5614ed5 100644
--- a/SMTPSvr.cpp
+++ b/SMTPSvr.cpp
@@ -2442,7 +2442,7 @@ static int SMTPExternalAuthenticate(BSOCK_HANDLE hBSock,
SMTPSession &SMTPS,
/* Call external program to compute the response */
int iExitCode = -1;
- if (SysExec(ppszAuthTokens[2], &ppszAuthTokens[2],
SVR_SMTP_EXTAUTH_TIMEOUT,
+ if (SysExec(ppszAuthTokens[1], &ppszAuthTokens[1],
SVR_SMTP_EXTAUTH_TIMEOUT,
SYS_PRIORITY_NORMAL, &iExitCode) < 0) {
ErrorPush();
SysRemove(szRespFile);
_______________________________________________
xmail mailing list
[email protected]
http://xmailserver.org/mailman/listinfo/xmail