Added $smtp_active_hostname as a variable, and used it in smtp_banner
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 22 Dec 2004 12:05:45 +0000 (12:05 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 22 Dec 2004 12:05:45 +0000 (12:05 +0000)
default value instead of $primary_hostname.

doc/doc-txt/ChangeLog
doc/doc-txt/NewStuff
src/exim_monitor/em_globals.c
src/src/expand.c
src/src/globals.c
src/src/spool_in.c
src/src/spool_out.c

index cdc3a636cc2c2998fdf0fd47b3de567b1df7e991..3492968172686b60ec7caa562400aaf7d8b69ed7 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.56 2004/12/21 16:26:31 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.57 2004/12/22 12:05:45 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -247,6 +247,12 @@ Exim version 4.50
 58. The exicyclog utility now does better if the number of log files to keep
     exceeds 99. In this case, it numbers them 001, 002 ... instead of 01, 02...
 
+59. Two changes related to the smtp_active_hostname option:
+
+      (1) $smtp_active_hostname is now available as a variable.
+      (2) The default for smtp_banner uses $smtp_active_hostname instead
+          of $primary_hostname.
+
 
 Exim version 4.43
 -----------------
index 11d7b3cc31a2ff0cf4355beb7c5aa97d4d3633e8..bf9890bb31403504db28f584ba6f6bc0756d9d73 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.22 2004/12/21 12:21:46 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.23 2004/12/22 12:05:45 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -238,6 +238,15 @@ Version 4.50
     without component reversal and without the addition of in-addr.arpa or
     ip6.arpa.
 
+21. Two changes related to the smtp_active_hostname option:
+
+      (1) $smtp_active_hostname is now available as a variable. Its value
+          sticks with the message and is therefore available in routers and
+          transports at delivery time.
+
+      (2) The default for smtp_banner uses $smtp_active_hostname instead
+          of $primary_hostname.
+
 
 Version 4.43
 ------------
index d9f92d8be848701548dc9b3e3d058e78ddb33688..07c8023a00e44c5e7822522655b848cdff67f1b9 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.2 2004/12/16 15:11:47 tom Exp $ */
+/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.3 2004/12/22 12:05:45 ph10 Exp $ */
 
 /*************************************************
 *                Exim Monitor                    *
@@ -189,6 +189,7 @@ int     sender_host_port       = 0;
 uschar *sender_ident           = NULL;
 BOOL    sender_local           = FALSE;
 BOOL    sender_set_untrusted   = FALSE;
+uschar *smtp_active_hostname   = NULL;
 
 BOOL    split_spool_directory  = FALSE;
 uschar *spool_directory        = US SPOOL_DIRECTORY;
index 79d1c1f3a7460c2ca4cad4565de118a572afca0a..1ffa88cde66ac316f0f46a1e582cd9ad6d5a775e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/expand.c,v 1.8 2004/12/16 15:11:47 tom Exp $ */
+/* $Cambridge: exim/src/src/expand.c,v 1.9 2004/12/22 12:05:46 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -450,6 +450,7 @@ static var_entry var_table[] = {
   { "sender_ident",        vtype_stringptr,   &sender_ident },
   { "sender_rcvhost",      vtype_stringptr,   &sender_rcvhost },
   { "sender_verify_failure",vtype_stringptr,  &sender_verify_failure }, 
+  { "smtp_active_hostname", vtype_stringptr,  &smtp_active_hostname }, 
   { "smtp_command_argument", vtype_stringptr, &smtp_command_argument },
   { "sn0",                 vtype_filter_int,  &filter_sn[0] },
   { "sn1",                 vtype_filter_int,  &filter_sn[1] },
index f94678fee709785f035c197f7ecc52a68954fae3..bc9484fd9d4bdabe10ed25caf5d554a2450428e4 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/globals.c,v 1.10 2004/12/17 14:52:44 ph10 Exp $ */
+/* $Cambridge: exim/src/src/globals.c,v 1.11 2004/12/22 12:05:46 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -974,7 +974,7 @@ int     smtp_accept_queue_per_connection = 10;
 int     smtp_accept_reserve    = 0;
 uschar *smtp_active_hostname   = NULL;
 BOOL    smtp_authenticated     = FALSE;
-uschar *smtp_banner            = US"$primary_hostname ESMTP "
+uschar *smtp_banner            = US"$smtp_active_hostname ESMTP "
                              "Exim $version_number $tod_full"
                              "\0<---------------Space to patch smtp_banner->";
 BOOL    smtp_batched_input     = FALSE;
index 55d78b957bf265d007319cee0c61c5d6172570bc..5dd3d19dc0aef881cc9f55211ed8203af2100330 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/spool_in.c,v 1.2 2004/12/16 15:11:47 tom Exp $ */
+/* $Cambridge: exim/src/src/spool_in.c,v 1.3 2004/12/22 12:05:46 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -269,6 +269,7 @@ sender_host_authenticated = NULL;
 sender_ident = NULL;
 sender_local = FALSE;
 sender_set_untrusted = FALSE;
+smtp_active_hostname = primary_hostname;
 tree_nonrecipients = NULL;
 
 #ifdef EXPERIMENTAL_BRIGHTMAIL
@@ -438,6 +439,8 @@ for (;;)
     interface_address = string_copy(big_buffer + 19);
     }
 
+  else if (Ustrncmp(big_buffer, "-active_hostname", 16) == 0)
+    smtp_active_hostname = string_copy(big_buffer + 17);  
   else if (Ustrncmp(big_buffer, "-host_auth", 10) == 0)
     sender_host_authenticated = string_copy(big_buffer + 11);
   else if (Ustrncmp(big_buffer, "-host_name", 10) == 0)
index 577d0f68c5fdcc3917ebfa10c500fbdbb5b5f8d0..7ce844b73c559e03a754d9d529da854586ab84b5 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/spool_out.c,v 1.2 2004/12/16 15:11:47 tom Exp $ */
+/* $Cambridge: exim/src/src/spool_out.c,v 1.3 2004/12/22 12:05:46 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -175,6 +175,9 @@ if (sender_host_address != NULL)
 
 if (interface_address != NULL)
   fprintf(f, "-interface_address %s.%d\n", interface_address, interface_port);
+  
+if (smtp_active_hostname != primary_hostname)
+  fprintf(f, "-active_hostname %s\n", smtp_active_hostname); 
 
 /* Likewise for any ident information; for local messages this is
 likely to be the same as originator_login, but will be different if