]> git.llucax.com Git - software/mutt-debian.git/blob - debian/patches/upstream/544794-smtp-batch.patch
953873c76d3ee45ac4fd5212042c84bdbb53747a
[software/mutt-debian.git] / debian / patches / upstream / 544794-smtp-batch.patch
1 Without this patch mutt fails to send messages and ask for a password even if
2 smtp_user and smtp_pass are defined in .muttrc, see upstream bug
3 http://bugs.mutt.org/3289
4
5 --- a/account.c
6 +++ b/account.c
7 @@ -155,6 +155,8 @@
8    else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
9      strfcpy (account->user, PopUser, sizeof (account->user));
10  #endif
11 +  else if (option (OPTNOCURSES))
12 +    return -1;
13    /* prompt (defaults to unix username), copy into account->user */
14    else
15    {
16 @@ -215,6 +217,8 @@
17    else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
18      strfcpy (account->pass, SmtpPass, sizeof (account->pass));
19  #endif
20 +  else if (option (OPTNOCURSES))
21 +    return -1;
22    else
23    {
24      snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
25 --- a/mutt_sasl.c
26 +++ b/mutt_sasl.c
27 @@ -304,7 +304,7 @@
28  
29      snprintf (prompt, sizeof (prompt), "%s: ", interaction->prompt);
30      resp[0] = '\0';
31 -    if (mutt_get_field (prompt, resp, sizeof (resp), 0))
32 +    if (option (OPTNOCURSES) || mutt_get_field (prompt, resp, sizeof (resp), 0))
33        return SASL_FAIL;
34  
35      interaction->len = mutt_strlen (resp)+1;
36 --- a/smtp.c
37 +++ b/smtp.c
38 @@ -172,7 +172,7 @@
39    progress_t progress;
40    struct stat st;
41    int r, term = 0;
42 -  size_t buflen;
43 +  size_t buflen = 0;
44  
45    fp = fopen (msgfile, "r");
46    if (!fp)
47 @@ -454,12 +454,6 @@
48      }
49  
50  #ifdef USE_SASL
51 -    if (!(conn->account.flags & M_ACCT_PASS) && option (OPTNOCURSES))
52 -    {
53 -      mutt_error (_("Interactive SMTP authentication not supported"));
54 -      mutt_sleep (1);
55 -      return -1;
56 -    }
57      return smtp_auth (conn);
58  #else
59      mutt_error (_("SMTP authentication requires SASL"));
60 @@ -603,7 +597,7 @@
61        }
62      }
63      strfcpy (buf + len, "\r\n", sizeof (buf) - len);
64 -  } while (rc == smtp_ready);
65 +  } while (rc == smtp_ready && saslrc != SASL_FAIL);
66  
67    if (smtp_success (rc))
68    {