Add the add_header modifier for use with all ACL verbs.
[exim.git] / src / src / receive.c
index 3f7170b3ecbb5115ba15b572330e8d7b469527e8..f711e9ca85a61328721770c0e86c29bbc477befd 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/receive.c,v 1.24 2005/09/12 10:08:54 ph10 Exp $ */
+/* $Cambridge: exim/src/src/receive.c,v 1.27 2006/03/06 16:05:12 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2006 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Code for receiving a message and setting up spool files. */
@@ -899,10 +899,10 @@ add_acl_headers(uschar *acl_name)
 header_line *h, *next;
 header_line *last_received = NULL;
 
-if (acl_warn_headers == NULL) return;
+if (acl_added_headers == NULL) return;
 DEBUG(D_receive|D_acl) debug_printf(">>Headers added by %s ACL:\n", acl_name);
 
-for (h = acl_warn_headers; h != NULL; h = next)
+for (h = acl_added_headers; h != NULL; h = next)
   {
   next = h->next;
 
@@ -964,7 +964,7 @@ for (h = acl_warn_headers; h != NULL; h = next)
   DEBUG(D_receive|D_acl) debug_printf("  %s", header_last->text);
   }
 
-acl_warn_headers = NULL;
+acl_added_headers = NULL;
 DEBUG(D_receive|D_acl) debug_printf(">>\n");
 }
 
@@ -1284,12 +1284,7 @@ uschar *smtp_reply = NULL;
 
 header_line *h, *next;
 
-/* Flags for noting the existence of certain headers */
-
-/**** No longer check for these (Nov 2003)
-BOOL to_or_cc_header_exists = FALSE;
-BOOL bcc_header_exists = FALSE;
-****/
+/* Flags for noting the existence of certain headers (only one left) */
 
 BOOL date_header_exists = FALSE;
 
@@ -1852,24 +1847,12 @@ for (h = header_list->next; h != NULL; h = h->next)
 
   switch (header_checkname(h, is_resent))
     {
-    /* "Bcc:" gets flagged, and its existence noted, whether it's resent- or
-    not. */
-
     case htype_bcc:
-    h->type = htype_bcc;
-    /****
-    bcc_header_exists = TRUE;
-    ****/
+    h->type = htype_bcc;        /* Both Bcc: and Resent-Bcc: */
     break;
 
-    /* "Cc:" gets flagged, and the existence of a recipient header is noted,
-    whether it's resent- or not. */
-
     case htype_cc:
-    h->type = htype_cc;
-    /****
-    to_or_cc_header_exists = TRUE;
-    ****/
+    h->type = htype_cc;         /* Both Cc: and Resent-Cc: */
     break;
 
     /* Record whether a Date: or Resent-Date: header exists, as appropriate. */
@@ -2150,13 +2133,7 @@ if (extract_recip)
       will be kept on the spool, but not transmitted as part of the
       message. */
 
-      if (h->type == htype_bcc)
-        {
-        h->type = htype_old;
-        /****
-        bcc_header_exists = FALSE;
-        ****/
-        }
+      if (h->type == htype_bcc) h->type = htype_old;
       }   /* For appropriate header line */
     }     /* For each header line */
 
@@ -2561,23 +2538,15 @@ for (h = header_list->next; h != NULL; h = h->next)
 
 
 /* An RFC 822 (sic) message is not legal unless it has at least one of "to",
-"cc", or "bcc". Note that although the minimal examples in RFC822 show just
+"cc", or "bcc". Note that although the minimal examples in RFC 822 show just
 "to" or "bcc", the full syntax spec allows "cc" as well. If any resent- header
 exists, this applies to the set of resent- headers rather than the normal set.
 
-The requirement for a recipient header has been removed in RFC 2822. Earlier
-versions of Exim added a To: header for locally submitted messages, and an
-empty Bcc: header for others or when always_bcc was set. In the light of the
-changes in RFC 2822, we now always add Bcc: just in case there are still MTAs
-out there that insist on the RFC 822 syntax.
-
-November 2003: While generally revising what Exim does to fix up headers, it
-seems like a good time to remove this altogether. */
+The requirement for a recipient header has been removed in RFC 2822. At this
+point in the code, earlier versions of Exim added a To: header for locally
+submitted messages, and an empty Bcc: header for others. In the light of the
+changes in RFC 2822, this was dropped in November 2003. */
 
-/******
-if (!to_or_cc_header_exists && !bcc_header_exists)
-  header_add(htype_bcc, "Bcc:\n");
-******/
 
 /* If there is no date header, generate one if the message originates locally
 (i.e. not over TCP/IP) and suppress_local_fixups is not set, or if the