]> granicus.if.org Git - neomutt/commitdiff
Warn before bouncing messages without From: header. Closes #3180.
authorRocco Rutte <pdmef@gmx.net>
Fri, 12 Jun 2009 11:43:01 +0000 (13:43 +0200)
committerRocco Rutte <pdmef@gmx.net>
Fri, 12 Jun 2009 11:43:01 +0000 (13:43 +0200)
ChangeLog
commands.c
recvcmd.c

index 4453038d68403c3d0c426618e074f9973ee595e0..cc9cbfc02c8591792aa6021c14a1c51c2c964aab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-06-11 18:34 +0200  Rocco Rutte  <pdmef@gmx.net>  (f60eb41ef63c)
+
+       * UPDATING: Mention maildir mtime use in browser
+
+2009-06-11 18:31 +0200  Rocco Rutte  <pdmef@gmx.net>  (fc60d44a5b22)
+
+       * ChangeLog, send.c: Don't allow setting Return-Path: header via
+       my_hdr
+
+       Mutt has use_envelope_from/envelope_from_address for that purpose.
+       Closes #1840.
+
 2009-06-11 18:17 +0200  Rocco Rutte  <pdmef@gmx.net>  (8efc1cd0b8c0)
 
        * browser.c: Use only latest mtime of new/cur for browser, not whole
index 9aa505e7c1459772bda2cb446e78ef48878a6ddf..b9febd1dc09e6435c07f1ab63c1177f2159e4a86 100644 (file)
@@ -246,6 +246,29 @@ void ci_bounce_message (HEADER *h, int *redraw)
   char *err = NULL;
   int rc;
 
+ /* RfC 5322 mandates a From: header, so warn before bouncing
+  * messages without one */
+  if (h)
+  {
+    if (!h->env->from)
+    {
+      mutt_error _("Warning: message has no From: header");
+      mutt_sleep (2);
+    }
+  }
+  else if (Context)
+  {
+    for (rc = 0; rc < Context->msgcount; rc++)
+    {
+      if (Context->hdrs[rc]->tagged && !Context->hdrs[rc]->env->from)
+      {
+       mutt_error ("Warning: message has no From: header");
+       mutt_sleep (2);
+       break;
+      }
+    }
+  }
+
   if(h)
     strfcpy(prompt, _("Bounce message to: "), sizeof(prompt));
   else
index 2a8f7df39d9a989d5b8c6f57d25c9974a6b738f7..5f4511f6b7bba8bc67e10feddc03570e3fe4791b 100644 (file)
--- a/recvcmd.c
+++ b/recvcmd.c
@@ -139,6 +139,34 @@ void mutt_attach_bounce (FILE * fp, HEADER * hdr,
   /* one or more messages? */
   p = (cur || count_tagged (idx, idxlen) == 1);
 
+  /* RfC 5322 mandates a From: header, so warn before bouncing
+   * messages without one */
+  if (cur)
+  {
+    if (!cur->hdr->env->from)
+    {
+      mutt_error _("Warning: message contains no From: header");
+      mutt_sleep (2);
+      mutt_clear_error ();
+    }
+  }
+  else
+  {
+    for (i = 0; i < idxlen; i++)
+    {
+      if (idx[i]->content->tagged)
+      {
+       if (!idx[i]->content->hdr->env->from)
+       {
+         mutt_error _("Warning: message contains no From: header");
+         mutt_sleep (2);
+         mutt_clear_error ();
+         break;
+       }
+      }
+    }
+  }
+
   if (p)
     strfcpy (prompt, _("Bounce message to: "), sizeof (prompt));
   else