ph10 2007/01/30 15:11:00 GMT
Modified files:
exim-doc/doc-txt ChangeLog NewStuff
exim-src ACKNOWLEDGMENTS
exim-src/src exim.c expand.c globals.c globals.h
smtp_out.c verify.c
exim-src/src/transports smtp.c
exim-test/scripts/2000-GnuTLS 2013
exim-test/scripts/2100-OpenSSL 2113
Added files:
exim-test/confs 0550
exim-test/log 0550
exim-test/scripts/0000-Basic 0550
exim-test/stderr 2013 2113
exim-test/stdout 0550
Log:
Magnus' patch for $sending_ip_address and $sending_port.
Revision Changes Path
1.465 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.132 +19 -0 exim/exim-doc/doc-txt/NewStuff
1.69 +3 -1 exim/exim-src/ACKNOWLEDGMENTS
1.55 +16 -0 exim/exim-src/src/exim.c
1.78 +2 -0 exim/exim-src/src/expand.c
1.66 +2 -0 exim/exim-src/src/globals.c
1.47 +2 -0 exim/exim-src/src/globals.h
1.9 +11 -0 exim/exim-src/src/smtp_out.c
1.33 +37 -13 exim/exim-src/src/transports/smtp.c
1.47 +17 -15 exim/exim-src/src/verify.c
1.1 +44 -0 exim/exim-test/confs/0550 (new)
1.1 +3 -0 exim/exim-test/log/0550 (new)
1.1 +25 -0 exim/exim-test/scripts/0000-Basic/0550 (new)
1.2 +1 -1 exim/exim-test/scripts/2000-GnuTLS/2013
1.2 +1 -1 exim/exim-test/scripts/2100-OpenSSL/2113
1.1 +66 -0 exim/exim-test/stderr/2013 (new)
1.1 +66 -0 exim/exim-test/stderr/2113 (new)
1.1 +24 -0 exim/exim-test/stdout/0550 (new)
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.464
retrieving revision 1.465
diff -u -r1.464 -r1.465
--- ChangeLog 30 Jan 2007 11:45:20 -0000 1.464
+++ ChangeLog 30 Jan 2007 15:10:58 -0000 1.465
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.464 2007/01/30 11:45:20 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.465 2007/01/30 15:10:58 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -61,6 +61,11 @@
input. This is fixed, and it now also says "batched" for BSMTP.
PH/11 Added control=no_pipelining.
+
+PH/12 Added $sending_ip_address and $sending_port (mostly Magnus Holmgren's
+ patch, slightly modified), and move the expansion of helo_data till after
+ the connection is made in the smtp transport (so it can use these
+ values).
Exim version 4.66
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -r1.131 -r1.132
--- NewStuff 30 Jan 2007 11:45:20 -0000 1.131
+++ NewStuff 30 Jan 2007 15:10:58 -0000 1.132
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.131 2007/01/30 11:45:20 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.132 2007/01/30 15:10:58 ph10 Exp $
New Features in Exim
--------------------
@@ -202,6 +202,25 @@
To be useful, this control must be obeyed before Exim sends its response to
an EHLO command. Therefore, it should normally appear in an ACL controlled
by acl_smtp_connect or acl_smtp_helo.
+
+ 7. There are two new variables called $sending_ip_address and $sending_port.
+ These are set whenever an SMTP connection to another host has been set up,
+ and they contain the IP address and port of the local interface that is
+ being used. They are of interest only on hosts that have more than on IP
+ address that want to take on different personalities depending on which one
+ is being used.
+
+ 8. The expansion of the helo_data option in the smtp transport now happens
+ after the connection to the server has been made. This means that it can
+ use the value of $sending_ip_address (see 7 above) to vary the text of the
+ message. For example, if you want the string that is used for helo_data to
+ be obtained by a DNS lookup of the interface address, you could use this:
+
+ helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}\
+ {$primary_hostname}}
+
+ The use of helo_data applies both to sending messages and when doing
+ callouts.
Version 4.66
Index: ACKNOWLEDGMENTS
===================================================================
RCS file: /home/cvs/exim/exim-src/ACKNOWLEDGMENTS,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- ACKNOWLEDGMENTS 17 Jan 2007 11:17:58 -0000 1.68
+++ ACKNOWLEDGMENTS 30 Jan 2007 15:10:59 -0000 1.69
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.68 2007/01/17 11:17:58 ph10 Exp $
+$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.69 2007/01/30 15:10:59 ph10 Exp $
EXIM ACKNOWLEDGEMENTS
@@ -20,7 +20,7 @@
Philip Hazel
Lists created: 20 November 2002
-Last updated: 17 January 2007
+Last updated: 30 January 2007
THE OLD LIST
@@ -166,6 +166,8 @@
Patch for arbitrarily named ACL variables
Magnus Holmgren Patch for filter_prepend_home
Patch for "h" flag in Domain Keys
+ Patch for $sending_ip_address/$sending_port
+ Lots of other support
Kjetil Torgrim Homme Patch for require_files problem on NFS file systems
Tom Hughes Suggested patch for $n bug in pipe command from filter
Pierre Humblet Continued Cygwin support
Index: exim.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- exim.c 25 Jan 2007 15:51:28 -0000 1.54
+++ exim.c 30 Jan 2007 15:10:59 -0000 1.55
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.c,v 1.54 2007/01/25 15:51:28 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.c,v 1.55 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -2165,6 +2165,9 @@
if (Ustrcmp(argrest, "C") == 0)
{
+ union sockaddr_46 interface_sock;
+ EXIM_SOCKLEN_T size = sizeof(interface_sock);
+
if (argc != i + 6)
{
fprintf(stderr, "exim: too many or too few arguments after -MC\n");
@@ -2191,6 +2194,19 @@
{
fprintf(stderr, "exim: malformed message id %s after -MC option\n",
argv[i]);
+ return EXIT_FAILURE;
+ }
+
+ /* Set up $sending_ip_address and $sending_port */
+
+ if (getsockname(fileno(stdin), (struct sockaddr *)(&interface_sock),
+ &size) == 0)
+ sending_ip_address = host_ntoa(-1, &interface_sock, NULL,
+ &sending_port);
+ else
+ {
+ fprintf(stderr, "exim: getsockname() failed after -MC option: %s\n",
+ strerror(errno));
return EXIT_FAILURE;
}
Index: expand.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/expand.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- expand.c 23 Jan 2007 14:34:02 -0000 1.77
+++ expand.c 30 Jan 2007 15:10:59 -0000 1.78
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/expand.c,v 1.77 2007/01/23 14:34:02 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/expand.c,v 1.78 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -525,6 +525,8 @@
{ "sender_rate_period", vtype_stringptr, &sender_rate_period },
{ "sender_rcvhost", vtype_stringptr, &sender_rcvhost },
{ "sender_verify_failure",vtype_stringptr, &sender_verify_failure },
+ { "sending_ip_address", vtype_stringptr, &sending_ip_address },
+ { "sending_port", vtype_int, &sending_port },
{ "smtp_active_hostname", vtype_stringptr, &smtp_active_hostname },
{ "smtp_command", vtype_stringptr, &smtp_cmd_buffer },
{ "smtp_command_argument", vtype_stringptr, &smtp_cmd_argument },
Index: globals.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- globals.c 30 Jan 2007 11:45:20 -0000 1.65
+++ globals.c 30 Jan 2007 15:10:59 -0000 1.66
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.c,v 1.65 2007/01/30 11:45:20 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.c,v 1.66 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1031,6 +1031,8 @@
address_item *sender_verified_failed = NULL;
int sender_verified_rc = -1;
BOOL sender_verified_responded = FALSE;
+uschar *sending_ip_address = NULL;
+int sending_port = -1;
volatile BOOL sigalrm_seen = FALSE;
uschar **sighup_argv = NULL;
int smtp_accept_count = 0;
Index: globals.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.h,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- globals.h 30 Jan 2007 11:45:20 -0000 1.46
+++ globals.h 30 Jan 2007 15:10:59 -0000 1.47
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.h,v 1.46 2007/01/30 11:45:20 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.h,v 1.47 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -619,6 +619,8 @@
extern uschar *sender_verify_failure; /* What went wrong */
extern address_item *sender_verified_list; /* Saved chain of sender verifies */
extern address_item *sender_verified_failed; /* The one that caused denial */
+extern uschar *sending_ip_address; /* Address of outgoing (SMTP) interface */
+extern int sending_port; /* Port of outgoing interface */
extern volatile BOOL sigalrm_seen; /* Flag for sigalrm_handler */
extern uschar **sighup_argv; /* Args for re-execing after SIGHUP */
extern int smtp_accept_count; /* Count of connections */
Index: smtp_out.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/smtp_out.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- smtp_out.c 8 Jan 2007 10:50:18 -0000 1.8
+++ smtp_out.c 30 Jan 2007 15:10:59 -0000 1.9
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/smtp_out.c,v 1.8 2007/01/08 10:50:18 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/smtp_out.c,v 1.9 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -241,7 +241,18 @@
else
{
+ union sockaddr_46 interface_sock;
+ EXIM_SOCKLEN_T size = sizeof(interface_sock);
HDEBUG(D_transport|D_acl|D_v) debug_printf("connected\n");
+ if (getsockname(sock, (struct sockaddr *)(&interface_sock), &size) == 0)
+ sending_ip_address = host_ntoa(-1, &interface_sock, NULL, &sending_port);
+ else
+ {
+ log_write(0, LOG_MAIN | ((errno == ECONNRESET)? 0 : LOG_PANIC),
+ "getsockname() failed: %s", strerror(errno));
+ close(sock);
+ return -1;
+ }
if (keepalive) ip_keepalive(sock, host->address, TRUE);
return sock;
}
Index: verify.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/verify.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- verify.c 17 Jan 2007 11:17:58 -0000 1.46
+++ verify.c 30 Jan 2007 15:10:59 -0000 1.47
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/verify.c,v 1.46 2007/01/17 11:17:58 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/verify.c,v 1.47 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -442,21 +442,6 @@
log_write(0, LOG_MAIN|LOG_PANIC, "<%s>: %s", addr->address,
addr->message);
- /* Expand the helo_data string to find the host name to use. */
-
- if (tf->helo_data != NULL)
- {
- uschar *s = expand_string(tf->helo_data);
- if (s == NULL)
- log_write(0, LOG_MAIN|LOG_PANIC, "<%s>: failed to expand transport's "
- "helo_data value for callout: %s", addr->address,
- expand_string_message);
- else active_hostname = s;
- }
-
- deliver_host = deliver_host_address = NULL;
- deliver_domain = save_deliver_domain;
-
/* Set HELO string according to the protocol */
if (Ustrcmp(tf->protocol, "lmtp") == 0) helo = US"LHLO";
@@ -487,8 +472,25 @@
{
addr->message = string_sprintf("could not connect to %s [%s]: %s",
host->name, host->address, strerror(errno));
+ deliver_host = deliver_host_address = NULL;
+ deliver_domain = save_deliver_domain;
continue;
}
+
+ /* Expand the helo_data string to find the host name to use. */
+
+ if (tf->helo_data != NULL)
+ {
+ uschar *s = expand_string(tf->helo_data);
+ if (s == NULL)
+ log_write(0, LOG_MAIN|LOG_PANIC, "<%s>: failed to expand transport's "
+ "helo_data value for callout: %s", addr->address,
+ expand_string_message);
+ else active_hostname = s;
+ }
+
+ deliver_host = deliver_host_address = NULL;
+ deliver_domain = save_deliver_domain;
/* Wait for initial response, and send HELO. The smtp_write_command()
function leaves its command in big_buffer. This is used in error responses.
Index: smtp.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/transports/smtp.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- smtp.c 22 Jan 2007 16:29:55 -0000 1.32
+++ smtp.c 30 Jan 2007 15:10:59 -0000 1.33
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.32 2007/01/22 16:29:55 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.33 2007/01/30 15:10:59 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -848,7 +848,7 @@
int max_rcpt = tblock->max_addresses;
uschar *igquotstr = US"";
uschar *local_authenticated_sender = authenticated_sender;
-uschar *helo_data;
+uschar *helo_data = NULL;
uschar *message = NULL;
uschar new_message_id[MESSAGE_ID_LENGTH + 1];
uschar *p;
@@ -877,17 +877,6 @@
outblock.cmd_count = 0;
outblock.authenticating = FALSE;
-/* Expand the greeting message */
-
-helo_data = expand_string(ob->helo_data);
-if (helo_data == NULL)
- {
- uschar *message = string_sprintf("failed to expand helo_data: %s",
- expand_string_message);
- set_errno(addrlist, 0, message, DEFER, FALSE);
- return ERROR;
- }
-
/* If an authenticated_sender override has been specified for this transport
instance, expand it. If the expansion is forced to fail, and there was already
an authenticated_sender for this message, the original value will be used.
@@ -927,6 +916,12 @@
return DEFER;
}
+ /* Expand the greeting message while waiting for the initial response. (Makes
+ sense if helo_data contains ${lookup dnsdb ...} stuff). The expansion is
+ delayed till here so that $sending_interface and $sending_port are set. */
+
+ helo_data = expand_string(ob->helo_data);
+
/* The first thing is to wait for an initial OK response. The dreaded "goto"
is nevertheless a reasonably clean way of programming this kind of logic,
where you want to escape on any error. */
@@ -934,6 +929,18 @@
if (!smtp_read_response(&inblock, buffer, sizeof(buffer), '2',
ob->command_timeout)) goto RESPONSE_FAILED;
+ /* Now check if the helo_data expansion went well, and sign off cleanly if it
+ didn't. */
+
+ if (helo_data == NULL)
+ {
+ uschar *message = string_sprintf("failed to expand helo_data: %s",
+ expand_string_message);
+ set_errno(addrlist, 0, message, DEFER, FALSE);
+ yield = DEFER;
+ goto SEND_QUIT;
+ }
+
/** Debugging without sending a message
addrlist->transport_return = DEFER;
goto SEND_QUIT;
@@ -1103,10 +1110,27 @@
}
}
-/* If we started TLS, redo the EHLO/LHLO exchange over the secure channel. */
+/* If we started TLS, redo the EHLO/LHLO exchange over the secure channel. If
+helo_data is null, we are dealing with a connection that was passed from
+another process, and so we won't have expanded helo_data above. We have to
+expand it here. $sending_ip_address and $sending_port are set up right at the
+start of the Exim process (in exim.c). */
if (tls_active >= 0)
{
+ if (helo_data == NULL)
+ {
+ helo_data = expand_string(ob->helo_data);
+ if (helo_data == NULL)
+ {
+ uschar *message = string_sprintf("failed to expand helo_data: %s",
+ expand_string_message);
+ set_errno(addrlist, 0, message, DEFER, FALSE);
+ yield = DEFER;
+ goto SEND_QUIT;
+ }
+ }
+
if (smtp_write_command(&outblock, FALSE, "%s %s\r\n", lmtp? "LHLO" : "EHLO",
helo_data) < 0)
goto SEND_FAILED;
Index: 0550
====================================================================
# Exim test configuration 0550
exim_path = EXIM_PATH
host_lookup_order = bydns
primary_hostname = myhost.test.ex
rfc1413_query_timeout = 0s
spool_directory = DIR/spool
log_file_path = DIR/spool/log/%slog
gecos_pattern = ""
gecos_name = CALLER_NAME
# ----- Main settings -----
# ----- Routers -----
begin routers
r1:
driver = accept
transport = t1
# ----- Transports -----
begin transports
t1:
driver = smtp
hosts = 127.0.0.1 : HOSTIPV4
port = PORT_S
allow_localhost
helo_data = \
${if eq{$sending_ip_address}{127.0.0.1}{Tweedledum}{Tweedledee}} \
to $host [$host_address]
# ------ Retry ------
begin retry
* * F,1d,1d
# End
Index: 0550
====================================================================
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaX-0005vi-00 SMTP error from remote mail server after MAIL FROM:<CALLER@???>: host 127.0.0.1 [127.0.0.1]: 450 Defer
1999-03-02 09:44:33 10HmaX-0005vi-00 == userx@??? R=r1 T=t1 defer (-45): SMTP error from remote mail server after MAIL FROM:<CALLER@???>: host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]: 450 Defer
Index: 0550
====================================================================
# $sending_ip_address
need_ipv4
#
server PORT_S 2
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM
450 Defer
QUIT
221 OK
*EOF
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM
450 Defer
QUIT
221 OK
****
exim -odi userx@???
****
no_msglog_check
Index: 2013
===================================================================
RCS file: /home/cvs/exim/exim-test/scripts/2000-GnuTLS/2013,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 2013 7 Feb 2006 10:54:47 -0000 1.1
+++ 2013 30 Jan 2007 15:10:59 -0000 1.2
@@ -8,7 +8,7 @@
exim userx@???
Test message 2
****
-exim -qqf
+exim -qqf -d-all+acl
****
killdaemon
exim -DSERVER=server -DNOTDAEMON -qf
Index: 2113
===================================================================
RCS file: /home/cvs/exim/exim-test/scripts/2100-OpenSSL/2113,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 2113 7 Feb 2006 10:54:47 -0000 1.1
+++ 2113 30 Jan 2007 15:10:59 -0000 1.2
@@ -7,7 +7,7 @@
exim userx@???
Test message 2
****
-exim -qqf
+exim -qqf -d-all+acl
****
killdaemon
exim -DSERVER=server -DNOTDAEMON -qf
Index: 2013
====================================================================
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
LOG: queue_run MAIN
Start queue run: pid=pppp -qqf
Connecting to 127.0.0.1 [127.0.0.1]:1225 ... connected
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
SMTP>> STARTTLS
SMTP<< 220 TLS go ahead
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250 HELP
SMTP>> MAIL FROM:<CALLER@???> SIZE=ssss
SMTP>> RCPT TO:<userx@???>
SMTP>> DATA
SMTP<< 250 OK
SMTP<< 250 Accepted
SMTP<< 354 Enter message, ending with "." on a line by itself
SMTP<< 250 OK id=10HmaZ-0005vi-00
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
LOG: MAIN
=> userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS-1.0:RSA_AES_256_CBC_SHA1:32 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
LOG: MAIN
Completed
Exim version x.yz ....
configuration file is TESTSUITE/test-config
trusted user
admin user
SMTP>> STARTTLS
SMTP<< 220 TLS go ahead
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250 HELP
SMTP>> MAIL FROM:<CALLER@???> SIZE=ssss
SMTP>> RCPT TO:<userx@???>
SMTP>> DATA
SMTP<< 250 OK
SMTP<< 250 Accepted
SMTP<< 354 Enter message, ending with "." on a line by itself
SMTP<< 250 OK id=10HmbA-0005vi-00
SMTP>> QUIT
LOG: MAIN
=> userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS-1.0:RSA_AES_256_CBC_SHA1:32 DN="C=UK,L=Cambridge,O=University of Cambridge,OU=Computing Service,CN=Philip Hazel"
LOG: MAIN
Completed
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
LOG: queue_run MAIN
End queue run: pid=pppp -qqf
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
******** SERVER ********
Index: 2113
====================================================================
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
LOG: queue_run MAIN
Start queue run: pid=pppp -qqf
Connecting to 127.0.0.1 [127.0.0.1]:1225 ... connected
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
SMTP>> STARTTLS
SMTP<< 220 TLS go ahead
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250 HELP
SMTP>> MAIL FROM:<CALLER@???> SIZE=ssss
SMTP>> RCPT TO:<userx@???>
SMTP>> DATA
SMTP<< 250 OK
SMTP<< 250 Accepted
SMTP<< 354 Enter message, ending with "." on a line by itself
SMTP<< 250 OK id=10HmaZ-0005vi-00
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
LOG: MAIN
=> userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 DN="/C=UK/L=Cambridge/O=University of Cambridge/OU=Computing Service/CN=Philip Hazel"
LOG: MAIN
Completed
Exim version x.yz ....
configuration file is TESTSUITE/test-config
trusted user
admin user
SMTP>> STARTTLS
SMTP<< 220 TLS go ahead
SMTP>> EHLO myhost.test.ex
SMTP<< 250-myhost.test.ex Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250 HELP
SMTP>> MAIL FROM:<CALLER@???> SIZE=ssss
SMTP>> RCPT TO:<userx@???>
SMTP>> DATA
SMTP<< 250 OK
SMTP<< 250 Accepted
SMTP<< 354 Enter message, ending with "." on a line by itself
SMTP<< 250 OK id=10HmbA-0005vi-00
SMTP>> QUIT
LOG: MAIN
=> userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 DN="/C=UK/L=Cambridge/O=University of Cambridge/OU=Computing Service/CN=Philip Hazel"
LOG: MAIN
Completed
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
LOG: queue_run MAIN
End queue run: pid=pppp -qqf
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
******** SERVER ********
Index: 0550
====================================================================
******** SERVER ********
Listening on port 1224 ...
Connection request from [127.0.0.1]
220 ESMTP
EHLO Tweedledum to 127.0.0.1 [127.0.0.1]
250-OK
250 HELP
MAIL FROM:<CALLER@???>
450 Defer
QUIT
221 OK
Unexpected EOF read from client
Listening on port 1224 ...
Connection request from [ip4.ip4.ip4.ip4]
220 ESMTP
EHLO Tweedledee to ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4]
250-OK
250 HELP
MAIL FROM:<CALLER@???>
450 Defer
QUIT
221 OK
End of script