<<< Date Index >>>     <<< Thread Index >>>

Re: mutt/2111: ESMTP patch: does not strip Bcc: header



The following reply was made to PR mutt/2111; it has been noted by GNATS.

From: Derek Martin <invalid@xxxxxxxxxxxxxx>
To: Mutt Developers <mutt-dev@xxxxxxxx>, bug-any@xxxxxxxxxxxxx
Cc: 
Subject: Re: mutt/2111: ESMTP patch: does not strip Bcc: header
Date: Sat, 15 Oct 2005 13:17:35 -0400

 --Qbvjkv9qwOGw/5Fx
 Content-Type: multipart/mixed; boundary="4bRzO86E/ozDv8r1"
 Content-Disposition: inline
 
 
 --4bRzO86E/ozDv8r1
 Content-Type: text/plain; charset=iso-8859-1
 Content-Disposition: inline
 
 On Fri, Oct 14, 2005 at 01:24:01PM -0400, Derek Martin wrote:
 > > The problem with unsetting write_bcc is IIRC that then the header
 > > won't appear in the fcc folder. And sometimes it's good to be able to
 > > lookup who got the mail via Bcc.
 [...]
 > Now that I think about it, I believe that is the "correct" behavior
 > which mutt should exhibit.  If I have the time this weekend, I'll hack
 > up a quick patch to make mutt do this.
 
 This one was quite easy.  It forces the Bcc line to be written to the
 fcc, regardless of the value of $write_bcc, so that the user can
 always see who the Bcc recipients were.  Tested, applies against the
 current CVS (and probably any recent version of mutt, since the
 changes needed are so very small).
 
 Please apply the attached patch.
 
 -- 
 Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02
 -=-=-=-=-
 This message is posted from an invalid address.  Replying to it will result in
 undeliverable mail.  Sorry for the inconvenience.  Thank the spammers.
 
 
 --4bRzO86E/ozDv8r1
 Content-Type: text/plain; charset=iso-8859-1
 Content-Disposition: attachment; filename="mutt_force_bcc_in_fcc.patch"
 
 diff -r -u mutt-cvs-2005-10-15/headers.c mutt-cvs-2005-10-15.ddm/headers.c
 --- mutt-cvs-2005-10-15/headers.c      2005-09-17 16:46:10.000000000 -0400
 +++ mutt-cvs-2005-10-15.ddm/headers.c  2005-10-15 13:05:49.000000000 -0400
 @@ -52,7 +52,7 @@
    }
    
    mutt_env_to_local (msg->env);
 -  mutt_write_rfc822_header (ofp, msg->env, NULL, 1, 0);
 +  mutt_write_rfc822_header (ofp, msg->env, NULL, 1, 0, 0);
    fputc ('\n', ofp);  /* tie off the header. */
  
    /* now copy the body of the message. */
 diff -r -u mutt-cvs-2005-10-15/protos.h mutt-cvs-2005-10-15.ddm/protos.h
 --- mutt-cvs-2005-10-15/protos.h       2005-10-04 02:05:39.000000000 -0400
 +++ mutt-cvs-2005-10-15.ddm/protos.h   2005-10-15 13:06:10.000000000 -0400
 @@ -353,7 +353,7 @@
  int mutt_write_fcc (const char *path, HEADER *hdr, const char *msgid, int, 
char *);
  int mutt_write_mime_body (BODY *, FILE *);
  int mutt_write_mime_header (BODY *, FILE *);
 -int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int);
 +int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int, int);
  int mutt_yesorno (const char *, int);
  void mutt_set_header_color(CONTEXT *, HEADER *);
  void mutt_sleep (short);
 diff -r -u mutt-cvs-2005-10-15/send.c mutt-cvs-2005-10-15.ddm/send.c
 --- mutt-cvs-2005-10-15/send.c 2005-10-03 03:52:00.000000000 -0400
 +++ mutt-cvs-2005-10-15.ddm/send.c     2005-10-15 13:06:46.000000000 -0400
 @@ -969,10 +969,10 @@
      return (-1);
  
  #ifdef MIXMASTER
 -  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 
: 0);
 +  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 
: 0, 0);
  #endif
  #ifndef MIXMASTER
 -  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0);
 +  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0, 0);
  #endif
    
    fputc ('\n', tempfp); /* tie off the header. */
 diff -r -u mutt-cvs-2005-10-15/sendlib.c mutt-cvs-2005-10-15.ddm/sendlib.c
 --- mutt-cvs-2005-10-15/sendlib.c      2005-09-29 19:02:49.000000000 -0400
 +++ mutt-cvs-2005-10-15.ddm/sendlib.c  2005-10-15 13:04:22.000000000 -0400
 @@ -1531,10 +1531,12 @@
   *               Output generated is suitable for being sent through
   *             anonymous remailer chains.
   *
 + * fcc != 0 => force writing of bcc, even if $write_bcc=no (for fcc)
 + *
   */
  
  int mutt_write_rfc822_header (FILE *fp, ENVELOPE *env, BODY *attach, 
 -                            int mode, int privacy)
 +                            int mode, int privacy, int fcc)
  {
    char buffer[LONG_STRING];
    char *p;
 @@ -1572,7 +1574,7 @@
  
    if (env->bcc)
    {
 -    if(mode != 0 || option(OPTWRITEBCC))
 +    if(mode != 0 || option(OPTWRITEBCC) || fcc)
      {
        fputs ("Bcc: ", fp);
        mutt_write_address_list (env->bcc, fp, 5, 0);
 @@ -2319,7 +2321,7 @@
    /* post == 1 => postpone message. Set mode = -1 in 
mutt_write_rfc822_header()
     * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header() 
     * */
 -  mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 
0, 0);
 +  mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 
0, 0, 1);
  
    /* (postponment) if this was a reply of some sort, <msgid> contians the
     * Message-ID: of message replied to.  Save it using a special X-Mutt-
 
 --4bRzO86E/ozDv8r1--
 
 --Qbvjkv9qwOGw/5Fx
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.1 (GNU/Linux)
 
 iD8DBQFDUTmvHEnASN++rQIRAjznAJ9nSO1YiE+wt8sA26jVPBlLmdZS+ACbBr7l
 crFCeoQsxCHQbCmKuHoIIsE=
 =rxVj
 -----END PGP SIGNATURE-----
 
 --Qbvjkv9qwOGw/5Fx--