[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [msmtp-users] Bug: external auth via certificate only doesn't work



On 22/12/12 at 11:22am, Thomas Weißschuh wrote:
> Hi,
> 
> while trying to set up certificate only authentication msmtp always
> died with the following error message:
> 
> msmtp: the server does not support authentication
> 
> This is because my server (postfix) doesn't announce authentication
> methods after completing the STARTTLS handshake.
> 
> If I read the docs correctly external auth is not meant to be used
> together with another, interal auth method.
> 
> The following patch removes the auth check if external auth is used:
> 
> diff --git a/src/msmtp.c b/src/msmtp.c
> index fe57010..f369b5e 100644
> --- a/src/msmtp.c
> +++ b/src/msmtp.c
> @@ -663,7 +663,7 @@ int msmtp_rmqs(account_t *acc, int debug, const char *rmqs_argument,
>      }
>  
>      /* authenticate */
> -    if (acc->auth_mech)
> +    if (acc->auth_mech && strcmp(acc->auth_mech, "EXTERNAL") != 0)
>      {
>          if (!(srv.cap.flags & SMTP_CAP_AUTH))
>          {
> @@ -1731,7 +1731,7 @@ int msmtp_sendmail(account_t *acc, list_t *recipients,
>          return e;
>      }
>      /* authenticate */
> -    if (acc->auth_mech)
> +    if (acc->auth_mech && strcmp(acc->auth_mech, "EXTERNAL") != 0)
>      {
>          if (!(srv.cap.flags & SMTP_CAP_AUTH))
>          {
> 
> 
> Note:
> The check in line 1735 was the one making the trouble.
> I patched the on in line 667 only because the if-block looks the same.
> 
> Thanks for msmtp and regards,
> Thomas
> 

Hi,

Thank you very much!

I think I have the same problem a lot of days.

Please, see this thread:

https://sourceforge.net/mailarchive/message.php?msg_id=29692358

I copy the message to Debian msmtp maintainer to get help how I could
implement this patch on my msmtp deb version.

:~$ msmtp --version
msmtp version 1.4.28
:~$

Thank you very much!

-- 
Marcelo
Brasil (Brazil, for English Speakers)
Linux user number 487797