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
xmail@xmailserver.org
http://xmailserver.org/mailman/listinfo/xmail

Reply via email to