Gitweb:
http://git.exim.org/exim.git/commitdiff/6f1235934cf1739c7fd575a2019a6d2deeb1cf9d
Commit: 6f1235934cf1739c7fd575a2019a6d2deeb1cf9d
Parent: faa05a9388f4efb82db4e7ea20ae746ab62f578a
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Nov 4 23:24:28 2012 +0000
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Sun Nov 4 23:24:28 2012 +0000
Add A= to delivery log lines, and a client_set_id option to authenticators.
---
doc/doc-docbook/spec.xfpt | 11 ++++++++++
doc/doc-txt/ChangeLog | 4 ++-
src/src/deliver.c | 47 +++++++++++++++++++++++++++++++++++++++-----
src/src/expand.c | 2 +
src/src/globals.c | 4 +++
src/src/globals.h | 2 +
src/src/structs.h | 3 +-
src/src/transports/smtp.c | 3 ++
test/confs/3401 | 2 +
test/log/3401 | 8 +++---
test/log/3404 | 6 ++--
test/log/3405 | 4 +-
test/log/3412 | 2 +-
test/log/3451 | 4 +-
test/log/3452 | 4 +-
test/log/3455 | 4 +-
test/log/3461 | 4 +-
test/log/3462 | 4 +-
test/log/3465 | 4 +-
test/log/3501 | 2 +-
test/log/3600 | 2 +-
test/stderr/3404 | 6 ++--
test/stdout/3407 | 4 +++
23 files changed, 101 insertions(+), 35 deletions(-)
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index a57d29e..3e21c02 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -24072,6 +24072,12 @@ client_condition = ${if !eq{$tls_out_cipher}{}}
.endd
+.option client_set_id authenticators string&!! unset
+When client authentication succeeds, this condition is expanded; the
+result is used in the log lines for outbound messasges.
+Typically it will be the user name used for authentication.
+
+
.option driver authenticators string unset
This option must always be set. It specifies which of the available
authenticators is to be used.
@@ -33643,6 +33649,11 @@ intermediate address(es) exist between the original and the final address, the
last of these is given in parentheses after the final address. The R and T
fields record the router and transport that were used to process the address.
+If SMTP AUTH was used for the deliver there is an additional item A=
+followed by the name of the authenticator that was used.
+If an authenticated identification was set up by the authenticator’s client_set_id
+option, this is logged too, separated by a colon from the authenticator name.
+
If a shadow transport was run after a successful local delivery, the log line
for the successful delivery has an item added on the end, of the form
.display
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index e115bf2..53eb02e 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -77,13 +77,15 @@ JH/08 Strip leading/trailing newlines from add_header ACL modifier data.
JH/09 Add $headers_added variable, with content from use of ACL modifier
add_header (but not yet added to the message). Bugzilla 199.
-
JH/10 Add 8bitmime log_selector, for 8bitmime status on the received line.
Pulled from Bugzilla 817 by Wolfgang Breyha.
PP/11 SECURITY: protect DKIM DNS decoding from remote exploit.
CVE-2012-5671
+JH/11 Add A= logging on delivery lines, and a client_set_id option on
+ authenticators.
+
Exim version 4.80.1
-------------------
diff --git a/src/src/deliver.c b/src/src/deliver.c
index 02329d2..c01e4e6 100644
--- a/src/src/deliver.c
+++ b/src/src/deliver.c
@@ -774,6 +774,13 @@ else
string_printing(addr->peerdn), US"\"");
#endif
+ if (smtp_authenticated)
+ {
+ s = string_append(s, &size, &ptr, 2, US" A=", client_authenticator);
+ if (client_authenticated_id)
+ s = string_append(s, &size, &ptr, 2, US":", client_authenticated_id);
+ }
+
if ((log_extra_selector & LX_smtp_confirmation) != 0 &&
addr->message != NULL)
{
@@ -2913,6 +2920,20 @@ while (!done)
break;
#endif
+ case 'C': /* client authenticator information */
+ switch (*ptr++)
+ {
+ case '1':
+ smtp_authenticated = TRUE;
+ client_authenticator = (*ptr)? string_copy(ptr) : NULL;
+ break;
+ case '2':
+ client_authenticated_id = (*ptr)? string_copy(ptr) : NULL;
+ break;
+ }
+ while (*ptr++);
+ break;
+
case 'A':
if (addr == NULL)
{
@@ -3950,10 +3971,10 @@ for (delivery_count = 0; addr_remote != NULL; delivery_count++)
memcpy(big_buffer+1, &transport_count, sizeof(transport_count));
(void)write(fd, big_buffer, sizeof(transport_count) + 1);
- /* Information about what happened to each address. Three item types are
- used: an optional 'X' item first, for TLS information, followed by 'R'
- items for any retry settings, and finally an 'A' item for the remaining
- data. */
+ /* Information about what happened to each address. Four item types are
+ used: an optional 'X' item first, for TLS information, then an optional "C"
+ item for any client-auth info followed by 'R' items for any retry settings,
+ and finally an 'A' item for the remaining data. */
for(; addr != NULL; addr = addr->next)
{
@@ -3970,8 +3991,7 @@ for (delivery_count = 0; addr_remote != NULL; delivery_count++)
if (addr->cipher != NULL)
{
ptr = big_buffer;
- *ptr++ = 'X';
- sprintf(CS ptr, "%.128s", addr->cipher);
+ sprintf(CS ptr, "X%.128s", addr->cipher);
while(*ptr++);
if (addr->peerdn == NULL) *ptr++ = 0; else
{
@@ -3982,6 +4002,21 @@ for (delivery_count = 0; addr_remote != NULL; delivery_count++)
}
#endif
+ if (client_authenticator)
+ {
+ ptr = big_buffer;
+ sprintf(CS big_buffer, "C1%.64s", client_authenticator);
+ while(*ptr++);
+ (void)write(fd, big_buffer, ptr - big_buffer);
+ }
+ if (client_authenticated_id)
+ {
+ ptr = big_buffer;
+ sprintf(CS big_buffer, "C2%.64s", client_authenticated_id);
+ while(*ptr++);
+ (void)write(fd, big_buffer, ptr - big_buffer);
+ }
+
/* Retry information: for most success cases this will be null. */
for (r = addr->retries; r != NULL; r = r->next)
diff --git a/src/src/expand.c b/src/src/expand.c
index 786d427..a3d56ea 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -426,6 +426,8 @@ static var_entry var_table[] = {
{ "bounce_return_size_limit", vtype_int, &bounce_return_size_limit },
{ "caller_gid", vtype_gid, &real_gid },
{ "caller_uid", vtype_uid, &real_uid },
+ { "client_authenticator", vtype_stringptr, &client_authenticator },
+ { "client_authenticated_id", vtype_stringptr, &client_authenticated_id },
{ "compile_date", vtype_stringptr, &version_date },
{ "compile_number", vtype_stringptr, &version_cnumber },
{ "csa_status", vtype_stringptr, &csa_status },
diff --git a/src/src/globals.c b/src/src/globals.c
index 5dff0ee..8df1119 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -17,6 +17,8 @@ data blocks and hence have the opt_public flag set. */
optionlist optionlist_auths[] = {
{ "client_condition", opt_stringptr | opt_public,
(void *)(offsetof(auth_instance, client_condition)) },
+ { "client_set_id", opt_stringptr | opt_public,
+ (void *)(offsetof(auth_instance, set_client_id)) },
{ "driver", opt_stringptr | opt_public,
(void *)(offsetof(auth_instance, driver_name)) },
{ "public_name", opt_stringptr | opt_public,
@@ -426,6 +428,8 @@ int check_log_space = 0;
BOOL check_rfc2047_length = TRUE;
int check_spool_inodes = 0;
int check_spool_space = 0;
+uschar *client_authenticator = NULL;
+uschar *client_authenticated_id = NULL;
int clmacro_count = 0;
uschar *clmacros[MAX_CLMACROS];
BOOL config_changed = FALSE;
diff --git a/src/src/globals.h b/src/src/globals.h
index a27f62c..b3025db 100644
--- a/src/src/globals.h
+++ b/src/src/globals.h
@@ -238,6 +238,8 @@ extern int check_log_space; /* Minimum for message acceptance */
extern BOOL check_rfc2047_length; /* Check RFC 2047 encoded string length */
extern int check_spool_inodes; /* Minimum for message acceptance */
extern int check_spool_space; /* Minimum for message acceptance */
+extern uschar *client_authenticator; /* Authenticator name used for smtp delivery */
+extern uschar *client_authenticated_id; /* (not yet used) */
extern int clmacro_count; /* Number of command line macros */
extern uschar *clmacros[]; /* Copy of them, for re-exec */
extern int connection_max_messages;/* Max down one SMTP connection */
diff --git a/src/src/structs.h b/src/src/structs.h
index c319611..1ad5d9b 100644
--- a/src/src/structs.h
+++ b/src/src/structs.h
@@ -335,7 +335,8 @@ typedef struct auth_instance {
uschar *advertise_condition; /* Are we going to advertise this?*/
uschar *client_condition; /* Should the client try this? */
uschar *public_name; /* Advertised name */
- uschar *set_id; /* String to set as authenticated id */
+ uschar *set_id; /* String to set when server as authenticated id */
+ uschar *set_client_id; /* String to set when client as client_authenticated id */
uschar *mail_auth_condition; /* Condition for AUTH on MAIL command */
uschar *server_debug_string; /* Debugging output */
uschar *server_condition; /* Authorization condition */
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index dc24e69..0ab1732 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -1349,6 +1349,9 @@ if (continue_hostname == NULL
{
case OK:
smtp_authenticated = TRUE; /* stops the outer loop */
+ client_authenticator = au->name;
+ if (au->set_client_id != NULL)
+ client_authenticated_id = expand_string(au->set_client_id);
break;
/* Failure after writing a command */
diff --git a/test/confs/3401 b/test/confs/3401
index 6406e31..c4a904a 100644
--- a/test/confs/3401
+++ b/test/confs/3401
@@ -22,6 +22,7 @@ login:
driver = plaintext
public_name = LOGIN
client_send = : userx : secret
+ client_set_id = userx
plain:
driver = plaintext
@@ -32,6 +33,7 @@ xlogin:
driver = plaintext
public_name = XLOGIN
client_send = : $auth1 : $auth1+$auth2
+ client_set_id = $auth1
# ----- Routers -----
diff --git a/test/log/3401 b/test/log/3401
index 003531b..d58fbbc 100644
--- a/test/log/3401
+++ b/test/log/3401
@@ -1,8 +1,8 @@
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 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] A=login:userx C="250 OK"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaZ-0005vi-00 plain authenticator failed H=127.0.0.1 [127.0.0.1] 535 Sorry, authentication failed
@@ -27,7 +27,7 @@
1999-03-02 09:44:33 10HmbE-0005vi-00 Frozen (delivery error message)
1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
1999-03-02 09:44:33 10HmbF-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbF-0005vi-00 => forcesender@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmbF-0005vi-00 => forcesender@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] A=login:userx C="250 OK"
1999-03-02 09:44:33 10HmbF-0005vi-00 Completed
1999-03-02 09:44:33 10HmbG-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmbG-0005vi-00 login authenticator cancelled authentication H=127.0.0.1 [127.0.0.1] Invalid base64 string in server response "334 User?"
@@ -37,5 +37,5 @@
1999-03-02 09:44:33 10HmbH-0005vi-00 Frozen (delivery error message)
1999-03-02 09:44:33 10HmbG-0005vi-00 Completed
1999-03-02 09:44:33 10HmbI-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbI-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmbI-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] A=xlogin:challenge-1 C="250 OK"
1999-03-02 09:44:33 10HmbI-0005vi-00 Completed
diff --git a/test/log/3404 b/test/log/3404
index 2c9102a..67e8f17 100644
--- a/test/log/3404
+++ b/test/log/3404
@@ -1,9 +1,9 @@
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 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=login C="250 OK"
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
diff --git a/test/log/3405 b/test/log/3405
index aedc2d8..21c9f5e 100644
--- a/test/log/3405
+++ b/test/log/3405
@@ -1,6 +1,6 @@
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 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
diff --git a/test/log/3412 b/test/log/3412
index e2135ca..6df6f0b 100644
--- a/test/log/3412
+++ b/test/log/3412
@@ -1,6 +1,6 @@
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 ** x@??? R=local: no deliveries made locally
1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss
-1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER@??? R=remote T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER@??? R=remote T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/log/3451 b/test/log/3451
index 36a93a5..19f8ba0 100644
--- a/test/log/3451
+++ b/test/log/3451
@@ -1,9 +1,9 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock" A=plain C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock" A=plain C="250 OK id=10HmbA-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qqf
diff --git a/test/log/3452 b/test/log/3452
index 36a93a5..19f8ba0 100644
--- a/test/log/3452
+++ b/test/log/3452
@@ -1,9 +1,9 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock" A=plain C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock" A=plain C="250 OK id=10HmbA-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qqf
diff --git a/test/log/3455 b/test/log/3455
index 864b258..a1672e8 100644
--- a/test/log/3455
+++ b/test/log/3455
@@ -2,11 +2,11 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qf
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtpsa X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 A=plain:userx S=sss id=E10HmaX-0005vi-00@???
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 A=plain C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qf
1999-03-02 09:44:33 Start queue run: pid=pppp -qf
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtpa A=login:usery S=sss id=E10HmaX-0005vi-00@???
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] A=login C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qf
diff --git a/test/log/3461 b/test/log/3461
index 6cc6603..9be2ec4 100644
--- a/test/log/3461
+++ b/test/log/3461
@@ -1,9 +1,9 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" C="250 OK id=10HmaZ-0005vi-00"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" A=plain C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" C="250 OK id=10HmbA-0005vi-00"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" A=plain C="250 OK id=10HmbA-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qqf
diff --git a/test/log/3462 b/test/log/3462
index 6cc6603..9be2ec4 100644
--- a/test/log/3462
+++ b/test/log/3462
@@ -1,9 +1,9 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qqf
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" C="250 OK id=10HmaZ-0005vi-00"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" A=plain C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" C="250 OK id=10HmbA-0005vi-00"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userx@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 DN="/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock" A=plain C="250 OK id=10HmbA-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qqf
diff --git a/test/log/3465 b/test/log/3465
index 5f8e539..1f5f3f0 100644
--- a/test/log/3465
+++ b/test/log/3465
@@ -2,11 +2,11 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp -qf
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtpsa X=TLSv1:AES256-SHA:256 A=plain:userx S=sss id=E10HmaX-0005vi-00@???
-1999-03-02 09:44:33 10HmaX-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 C="250 OK id=10HmaY-0005vi-00"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] X=TLSv1:AES256-SHA:256 A=plain C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qf
1999-03-02 09:44:33 Start queue run: pid=pppp -qf
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtpa A=login:usery S=sss id=E10HmaX-0005vi-00@???
-1999-03-02 09:44:33 10HmaY-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmaZ-0005vi-00"
+1999-03-02 09:44:33 10HmaY-0005vi-00 => userz@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1] A=login C="250 OK id=10HmaZ-0005vi-00"
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qf
diff --git a/test/log/3501 b/test/log/3501
index a098220..48d201c 100644
--- a/test/log/3501
+++ b/test/log/3501
@@ -1,3 +1,3 @@
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 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] C="250 OK"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=try T=smtp_try H=127.0.0.1 [127.0.0.1] A=cram_md5 C="250 OK"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
diff --git a/test/log/3600 b/test/log/3600
index 38ce038..43549c6 100644
--- a/test/log/3600
+++ b/test/log/3600
@@ -1,6 +1,6 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= ok@??? U=CALLER P=local S=sss
1999-03-02 09:44:33 Start queue run: pid=pppp
-1999-03-02 09:44:33 10HmaX-0005vi-00 => x@y R=r1 T=t1 H=127.0.0.1 [127.0.0.1] C="250 OK id=10HmaY-0005vi-00"
+1999-03-02 09:44:33 10HmaX-0005vi-00 => x@y R=r1 T=t1 H=127.0.0.1 [127.0.0.1] A=spa C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp
1999-03-02 09:44:33 10HmaY-0005vi-00 sender address changed to <bad@???> by CALLER
diff --git a/test/stderr/3404 b/test/stderr/3404
index 754e893..8d35b67 100644
--- a/test/stderr/3404
+++ b/test/stderr/3404
@@ -19,7 +19,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> QUIT
LOG: MAIN
- => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+ => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
LOG: MAIN
Completed
LOG: MAIN
@@ -43,7 +43,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> QUIT
LOG: MAIN
- => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+ => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=plain C="250 OK"
LOG: MAIN
Completed
LOG: MAIN
@@ -71,6 +71,6 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> QUIT
LOG: MAIN
- => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] C="250 OK"
+ => userx@??? R=all T=smtp H=127.0.0.1 [127.0.0.1] A=login C="250 OK"
LOG: MAIN
Completed
diff --git a/test/stdout/3407 b/test/stdout/3407
index 73fe544..25fb598 100644
--- a/test/stdout/3407
+++ b/test/stdout/3407
@@ -1,6 +1,7 @@
a1 authenticator:
client_condition =
+client_set_id =
driver = plaintext
public_name = PLAIN
server_advertise_condition =
@@ -14,6 +15,7 @@ server_prompts =
a2 authenticator:
client_condition =
+client_set_id =
driver = plaintext
public_name = PLAIN
server_advertise_condition =
@@ -27,6 +29,7 @@ server_prompts =
a3 authenticator:
client_condition =
+client_set_id =
driver = plaintext
public_name = LOGIN
server_advertise_condition =
@@ -40,6 +43,7 @@ server_prompts =
a4 authenticator:
client_condition =
+client_set_id =
driver = plaintext
public_name = LOGIN
server_advertise_condition =