ph10 2005/08/22 16:28:20 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src host.c
exim-test-orig/AutoTest/confs 353
exim-test-orig/AutoTest/scripts 353
exim-test-orig/AutoTest/stderr 353
exim-test-orig/AutoTest/stdout 353
Log:
Fix comparison of [IPv6:....] to sender host address for
$sender_rcvhost.
Revision Changes Path
1.208 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.13 +34 -4 exim/exim-src/src/host.c
1.2 +2 -0 exim/exim-test-orig/AutoTest/confs/353
1.2 +34 -2 exim/exim-test-orig/AutoTest/scripts/353
1.2 +290 -11 exim/exim-test-orig/AutoTest/stderr/353
1.3 +61 -0 exim/exim-test-orig/AutoTest/stdout/353
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.207
retrieving revision 1.208
diff -u -r1.207 -r1.208
--- ChangeLog 22 Aug 2005 14:01:37 -0000 1.207
+++ ChangeLog 22 Aug 2005 15:28:20 -0000 1.208
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.207 2005/08/22 14:01:37 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.208 2005/08/22 15:28:20 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -106,6 +106,11 @@
PH/25 Make $smtp_command_argument available after all SMTP commands. This means
that in an ACL for RCPT (for example), you can examine exactly what was
received.
+
+PH/26 Exim was recognizing IPv6 addresses of the form [IPv6:....] in EHLO
+ commands, but it was not correctly comparing the address with the actual
+ client host address. Thus, it would show the EHLO address in Received:
+ header lines when this was not necessary.
Exim version 4.52
Index: host.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/host.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- host.c 9 Aug 2005 13:31:52 -0000 1.12
+++ host.c 22 Aug 2005 15:28:20 -0000 1.13
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/host.c,v 1.12 2005/08/09 13:31:52 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/host.c,v 1.13 2005/08/22 15:28:20 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -435,11 +435,41 @@
else
{
int len;
+ BOOL no_helo = FALSE;
+
+ /* Comparing a HELO name to a host name is easy */
+
if (sender_helo_name == NULL ||
- strcmpic(sender_host_name, sender_helo_name) == 0 ||
- (sender_helo_name[0] == '[' &&
- sender_helo_name[(len=Ustrlen(sender_helo_name))-1] == ']' &&
- strncmpic(sender_helo_name+1, sender_host_address, len - 2) == 0))
+ strcmpic(sender_host_name, sender_helo_name) == 0)
+ no_helo = TRUE;
+
+ /* If HELO/EHLO was followed by an IP literal, it's much more messy because
+ of two features of IPv6. Firstly, there's the "IPv6:" prefix (Exim is liberal
+ and doesn't require this, for historical reasons). Secondly, an IPv6 address
+ may not be given in canonical form, so we have to canonicize it before
+ comparing. As it happens, the code works for both IPv4 and IPv6. */
+
+ else if (sender_helo_name[0] == '[' &&
+ sender_helo_name[(len=Ustrlen(sender_helo_name))-1] == ']')
+ {
+ uschar *helo_ip;
+ int offset = 1;
+
+ if (strncmpic(sender_helo_name+1, US"IPv6:",5) == 0) offset += 5;
+ helo_ip = string_copyn(sender_helo_name + offset, len - offset - 1);
+
+ if (string_is_ip_address(helo_ip, NULL) != 0)
+ {
+ int x[4];
+ int size;
+ size = host_aton(helo_ip, x);
+ helo_ip = store_get(48); /* large enough for full IPv6 */
+ (void)host_nmtoa(size, x, -1, helo_ip, ':');
+ if (strcmpic(helo_ip, sender_host_address) == 0) no_helo = TRUE;
+ }
+ }
+
+ if (no_helo)
{
sender_fullhost = string_sprintf("%s %s", sender_host_name, address);
sender_rcvhost = (sender_ident == NULL)?
Index: 353
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/confs/353,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 353 8 Oct 2004 14:49:15 -0000 1.1
+++ 353 22 Aug 2005 15:28:20 -0000 1.2
@@ -10,5 +10,7 @@
# ----- Main settings -----
+acl_smtp_rcpt = accept
+trusted_users = CALLER
# End
Index: 353
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/scripts/353,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 353 8 Oct 2004 14:49:52 -0000 1.1
+++ 353 22 Aug 2005 15:28:20 -0000 1.2
@@ -1,4 +1,4 @@
-0 helo_lookup_domains (default setting)
+0 helo_lookup_domains (default setting) and helo literals
exim -bh 10.0.0.1
helo myhost.test.ex
quit
@@ -14,7 +14,39 @@
quit
****
0
-exim -bh 2002:c1ed:8229:10:202:2dff:fe07:a42a
+exim -d -bh 2002:c1ed:8229:10:202:2dff:fe07:a42a
EHLO [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]
+mail from:<>
+rcpt to:<x@y>
+data
+.
quit
****
+0
+exim -d -bh 1.2.3.4
+EHLO [1.2.3.4]
+mail from:<>
+rcpt to:<x@y>
+data
+.
+quit
+****
+0
+exim -d -bh 2002:c1ed:8229:10:202:2dff:fe07:a42a -oMs host.name.tld
+EHLO [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]
+mail from:<>
+rcpt to:<x@y>
+data
+.
+quit
+****
+0
+exim -d -bh 1.2.3.4 -oMs host.name.tld
+EHLO [1.2.3.4]
+mail from:<>
+rcpt to:<x@y>
+data
+.
+quit
+****
+no_msglog_check
Index: 353
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stderr/353,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 353 8 Oct 2004 14:50:08 -0000 1.1
+++ 353 22 Aug 2005 15:28:20 -0000 1.2
@@ -39,14 +39,293 @@
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> rhubarb.custard in helo_lookup_domains? no (end of list)
->>> host in hosts_connection_nolog? no (option unset)
->>> host in host_lookup? no (option unset)
->>> host in host_reject_connection? no (option unset)
->>> host in sender_unqualified_hosts? no (option unset)
->>> host in recipient_unqualified_hosts? no (option unset)
->>> host in helo_verify_hosts? no (option unset)
->>> host in helo_try_verify_hosts? no (option unset)
->>> host in helo_accept_junk_hosts? no (option unset)
->>> [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a] in helo_lookup_domains? no (end of list)
->>> host in pipelining_advertise_hosts? yes (matched "*")
->>> host in tls_advertise_hosts? no (option unset)
+Exim version x.yz uid=1169 gid=1169 pid=pppp D=fbb95cfd
+Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql passwd pgsql sqlite testdb
+Fixed never_users: 0
+changed uid/gid: forcing real = effective
+ uid=0 gid=1169 pid=pppp
+ auxiliary group list: <none>
+configuration file is /source/exim4/AutoTest/confs/353
+log selectors = xxxxxxxx xxxxxxxx
+trusted user
+admin user
+changed uid/gid: privilege not needed
+ uid=42 gid=42 pid=pppp
+ auxiliary group list: <none>
+originator: uid=1169 gid=1169 login=ph10 name=Philip Hazel
+sender address = ph10@???
+sender_fullhost = [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+sender_rcvhost = [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in host_lookup? no (option unset)
+set_process_info: 21680 handling incoming connection from [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< EHLO [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]
+[IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a] in helo_lookup_domains? no (end of list)
+sender_fullhost = ([IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]) [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+sender_rcvhost = [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] (helo=[IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a])
+set_process_info: 21680 handling incoming connection from ([IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]) [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in pipelining_advertise_hosts? yes (matched "*")
+host in tls_advertise_hosts? no (option unset)
+SMTP>> 250-myhost.test.ex Hello [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a] [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+SMTP<< mail from:<>
+SMTP>> 250 OK
+SMTP<< rcpt to:<x@y>
+processing "accept"
+accept: condition test succeeded
+SMTP>> 250 Accepted
+SMTP<< data
+SMTP>> 354 Enter message, ending with "." on a line by itself
+search_tidyup called
+>>Headers received:
+
+search_tidyup called
+>>Headers after rewriting and local additions:
+
+Data file written for message 10HmaX-0005vi-00
+>>Generated Received: header line
+P Received: from [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] (helo=[IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a])
+ by myhost.test.ex with esmtp (Exim x.yz)
+ id 10HmaX-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+calling local_scan(); timeout=300
+local_scan() returned 0 NULL
+LOG: MAIN
+ <= <> H=([IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]) [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] P=esmtp S=214
+SMTP>> 250 OK id=10HmaX-0005vi-00
+smtp_setup_msg entered
+SMTP<< quit
+SMTP>> 221 myhost.test.ex closing connection
+LOG: smtp_connection MAIN
+ SMTP connection from ([IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]) [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz uid=1169 gid=1169 pid=pppp D=fbb95cfd
+Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql passwd pgsql sqlite testdb
+Fixed never_users: 0
+changed uid/gid: forcing real = effective
+ uid=0 gid=1169 pid=pppp
+ auxiliary group list: <none>
+configuration file is /source/exim4/AutoTest/confs/353
+log selectors = xxxxxxxx xxxxxxxx
+trusted user
+admin user
+changed uid/gid: privilege not needed
+ uid=42 gid=42 pid=pppp
+ auxiliary group list: <none>
+originator: uid=1169 gid=1169 login=ph10 name=Philip Hazel
+sender address = ph10@???
+sender_fullhost = [1.2.3.4]
+sender_rcvhost = [1.2.3.4]
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from [1.2.3.4]
+host in host_lookup? no (option unset)
+set_process_info: 21680 handling incoming connection from [1.2.3.4]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< EHLO [1.2.3.4]
+[1.2.3.4] in helo_lookup_domains? no (end of list)
+sender_fullhost = ([1.2.3.4]) [1.2.3.4]
+sender_rcvhost = [1.2.3.4] (helo=[1.2.3.4])
+set_process_info: 21680 handling incoming connection from ([1.2.3.4]) [1.2.3.4]
+host in pipelining_advertise_hosts? yes (matched "*")
+host in tls_advertise_hosts? no (option unset)
+SMTP>> 250-myhost.test.ex Hello [1.2.3.4] [1.2.3.4]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+SMTP<< mail from:<>
+SMTP>> 250 OK
+SMTP<< rcpt to:<x@y>
+processing "accept"
+accept: condition test succeeded
+SMTP>> 250 Accepted
+SMTP<< data
+SMTP>> 354 Enter message, ending with "." on a line by itself
+search_tidyup called
+>>Headers received:
+
+search_tidyup called
+>>Headers after rewriting and local additions:
+
+Data file written for message 10HmaY-0005vi-00
+>>Generated Received: header line
+P Received: from [1.2.3.4] (helo=[1.2.3.4])
+ by myhost.test.ex with esmtp (Exim x.yz)
+ id 10HmaY-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+calling local_scan(); timeout=300
+local_scan() returned 0 NULL
+LOG: MAIN
+ <= <> H=([1.2.3.4]) [1.2.3.4] P=esmtp S=148
+SMTP>> 250 OK id=10HmaY-0005vi-00
+smtp_setup_msg entered
+SMTP<< quit
+SMTP>> 221 myhost.test.ex closing connection
+LOG: smtp_connection MAIN
+ SMTP connection from ([1.2.3.4]) [1.2.3.4] closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz uid=1169 gid=1169 pid=pppp D=fbb95cfd
+Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql passwd pgsql sqlite testdb
+Fixed never_users: 0
+changed uid/gid: forcing real = effective
+ uid=0 gid=1169 pid=pppp
+ auxiliary group list: <none>
+configuration file is /source/exim4/AutoTest/confs/353
+log selectors = xxxxxxxx xxxxxxxx
+trusted user
+admin user
+changed uid/gid: privilege not needed
+ uid=42 gid=42 pid=pppp
+ auxiliary group list: <none>
+originator: uid=1169 gid=1169 login=ph10 name=Philip Hazel
+sender address = ph10@???
+sender_fullhost = host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+sender_rcvhost = host.name.tld ([2002:c1ed:8229:0010:0202:2dff:fe07:a42a])
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in host_lookup? no (option unset)
+set_process_info: 21680 handling incoming connection from host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< EHLO [IPV6:2002:c1ed:8229:10:202:2dff:fe07:a42a]
+sender_fullhost = host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+sender_rcvhost = host.name.tld ([2002:c1ed:8229:0010:0202:2dff:fe07:a42a])
+set_process_info: 21680 handling incoming connection from host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+host in pipelining_advertise_hosts? yes (matched "*")
+host in tls_advertise_hosts? no (option unset)
+SMTP>> 250-myhost.test.ex Hello host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+SMTP<< mail from:<>
+SMTP>> 250 OK
+SMTP<< rcpt to:<x@y>
+processing "accept"
+accept: condition test succeeded
+SMTP>> 250 Accepted
+SMTP<< data
+SMTP>> 354 Enter message, ending with "." on a line by itself
+search_tidyup called
+>>Headers received:
+
+search_tidyup called
+>>Headers after rewriting and local additions:
+
+Data file written for message 10HmaZ-0005vi-00
+>>Generated Received: header line
+P Received: from host.name.tld ([2002:c1ed:8229:0010:0202:2dff:fe07:a42a])
+ by myhost.test.ex with esmtp (Exim x.yz)
+ id 10HmaZ-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+calling local_scan(); timeout=300
+local_scan() returned 0 NULL
+LOG: MAIN
+ <= <> H=host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] P=esmtp S=179
+SMTP>> 250 OK id=10HmaZ-0005vi-00
+smtp_setup_msg entered
+SMTP<< quit
+SMTP>> 221 myhost.test.ex closing connection
+LOG: smtp_connection MAIN
+ SMTP connection from host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a] closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz uid=1169 gid=1169 pid=pppp D=fbb95cfd
+Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql passwd pgsql sqlite testdb
+Fixed never_users: 0
+changed uid/gid: forcing real = effective
+ uid=0 gid=1169 pid=pppp
+ auxiliary group list: <none>
+configuration file is /source/exim4/AutoTest/confs/353
+log selectors = xxxxxxxx xxxxxxxx
+trusted user
+admin user
+changed uid/gid: privilege not needed
+ uid=42 gid=42 pid=pppp
+ auxiliary group list: <none>
+originator: uid=1169 gid=1169 login=ph10 name=Philip Hazel
+sender address = ph10@???
+sender_fullhost = host.name.tld [1.2.3.4]
+sender_rcvhost = host.name.tld ([1.2.3.4])
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from host.name.tld [1.2.3.4]
+host in host_lookup? no (option unset)
+set_process_info: 21680 handling incoming connection from host.name.tld [1.2.3.4]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< EHLO [1.2.3.4]
+sender_fullhost = host.name.tld [1.2.3.4]
+sender_rcvhost = host.name.tld ([1.2.3.4])
+set_process_info: 21680 handling incoming connection from host.name.tld [1.2.3.4]
+host in pipelining_advertise_hosts? yes (matched "*")
+host in tls_advertise_hosts? no (option unset)
+SMTP>> 250-myhost.test.ex Hello host.name.tld [1.2.3.4]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+SMTP<< mail from:<>
+SMTP>> 250 OK
+SMTP<< rcpt to:<x@y>
+processing "accept"
+accept: condition test succeeded
+SMTP>> 250 Accepted
+SMTP<< data
+SMTP>> 354 Enter message, ending with "." on a line by itself
+search_tidyup called
+>>Headers received:
+
+search_tidyup called
+>>Headers after rewriting and local additions:
+
+Data file written for message 10HmbA-0005vi-00
+>>Generated Received: header line
+P Received: from host.name.tld ([1.2.3.4])
+ by myhost.test.ex with esmtp (Exim x.yz)
+ id 10HmbA-0005vi-00
+ for x@y; Tue, 2 Mar 1999 09:44:33 +0000
+calling local_scan(); timeout=300
+local_scan() returned 0 NULL
+LOG: MAIN
+ <= <> H=host.name.tld [1.2.3.4] P=esmtp S=147
+SMTP>> 250 OK id=10HmbA-0005vi-00
+smtp_setup_msg entered
+SMTP<< quit
+SMTP>> 221 myhost.test.ex closing connection
+LOG: smtp_connection MAIN
+ SMTP connection from host.name.tld [1.2.3.4] closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Index: 353
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stdout/353,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 353 19 Nov 2004 09:45:54 -0000 1.2
+++ 353 22 Aug 2005 15:28:20 -0000 1.3
@@ -35,4 +35,65 @@
250-SIZE 52428800
250-PIPELINING
250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaX-0005vi-00
+
+**** SMTP testing: that is not a real message id!
+
+221 myhost.test.ex closing connection
+
+**** SMTP testing session as if from host 1.2.3.4
+**** but without any ident (RFC 1413) callback.
+**** This is not for real!
+
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello [1.2.3.4] [1.2.3.4]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaY-0005vi-00
+
+**** SMTP testing: that is not a real message id!
+
+221 myhost.test.ex closing connection
+
+**** SMTP testing session as if from host 2002:c1ed:8229:0010:0202:2dff:fe07:a42a
+**** but without any ident (RFC 1413) callback.
+**** This is not for real!
+
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello host.name.tld [2002:c1ed:8229:0010:0202:2dff:fe07:a42a]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaZ-0005vi-00
+
+**** SMTP testing: that is not a real message id!
+
+221 myhost.test.ex closing connection
+
+**** SMTP testing session as if from host 1.2.3.4
+**** but without any ident (RFC 1413) callback.
+**** This is not for real!
+
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-myhost.test.ex Hello host.name.tld [1.2.3.4]
+250-SIZE 52428800
+250-PIPELINING
+250 HELP
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmbA-0005vi-00
+
+**** SMTP testing: that is not a real message id!
+
221 myhost.test.ex closing connection