summaryrefslogtreecommitdiff
blob: 2404f9b5694571da6b4908565bb7f95362e4b1eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
original patch:
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=28;filename=write_bcc.patch.1.5.20-2;att=1;bug=467432

adapted for Gentoo

additional information:
http://dev.mutt.org/trac/ticket/3337
http://bugs.debian.org/467432


Index: mutt/headers.c
===================================================================
--- mutt.orig/headers.c	2009-06-30 17:51:05.276042945 +0200
+++ mutt/headers.c	2009-06-30 17:53:33.055007250 +0200
@@ -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, 1);
   fputc ('\n', ofp);	/* tie off the header. */
 
   /* now copy the body of the message. */
Index: mutt/init.h
===================================================================
--- mutt.orig/init.h	2009-06-30 17:53:32.683367849 +0200
+++ mutt/init.h	2009-06-30 17:53:33.075058388 +0200
@@ -3365,11 +3365,9 @@
   { "write_bcc",	DT_BOOL, R_NONE, OPTWRITEBCC, 1},
   /*
   ** .pp
-  ** Controls whether mutt writes out the ``Bcc:'' header when preparing
-  ** messages to be sent.  Exim users may wish to unset this. If mutt
-  ** is set to deliver directly via SMTP (see $$smtp_url), this
-  ** option does nothing: mutt will never write out the ``Bcc:'' header
-  ** in this case.
+  ** Controls whether mutt writes out the Bcc header when saving
+  ** messages to FCC. Bcc headers will never be written to a message
+  ** when sending it.
   */
   { "write_inc",	DT_NUM,	 R_NONE, UL &WriteInc, 10 },
   /*
Index: mutt/protos.h
===================================================================
--- mutt.orig/protos.h	2009-06-30 17:51:05.437001183 +0200
+++ mutt/protos.h	2009-06-30 17:53:33.079080252 +0200
@@ -372,7 +372,7 @@
 int mutt_write_mime_body (BODY *, FILE *);
 int mutt_write_mime_header (BODY *, FILE *);
 int mutt_write_one_header (FILE *fp, const char *tag, const char *value, const char *pfx, int wraplen, int flags);
-int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int);
+int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int, int);
 void mutt_write_references (LIST *, FILE *, int);
 int mutt_yesorno (const char *, int);
 void mutt_set_header_color(CONTEXT *, HEADER *);
Index: mutt/send.c
===================================================================
--- mutt.orig/send.c	2009-06-30 17:51:05.517523685 +0200
+++ mutt/send.c	2009-06-30 17:53:33.087100946 +0200
@@ -994,10 +994,10 @@
     unset_option (OPTWRITEBCC);
 #endif
 #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
 #ifdef USE_SMTP
   if (old_write_bcc)
Index: mutt/sendlib.c
===================================================================
--- mutt.orig/sendlib.c	2009-06-30 17:51:05.610742969 +0200
+++ mutt/sendlib.c	2009-06-30 17:53:33.095126896 +0200
@@ -1835,7 +1835,7 @@
 
 
 int mutt_write_rfc822_header (FILE *fp, ENVELOPE *env, BODY *attach,
-			      int mode, int privacy)
+			      int mode, int privacy, int should_write_bcc)
 {
   char buffer[LONG_STRING];
   char *p, *q;
@@ -1878,7 +1878,7 @@
   else if (mode > 0)
     fputs ("Cc: \n", fp);
 
-  if (env->bcc)
+  if (env->bcc && should_write_bcc)
   {
     if(mode != 0 || option(OPTWRITEBCC))
     {
@@ -2616,7 +2616,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-