ph10 2007/08/22 15:20:28 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src deliver.c receive.c smtp_in.c
Log:
Escape funny characters when logging DN=
Revision Changes Path
1.525 +4 -0 exim/exim-doc/doc-txt/ChangeLog
1.45 +2 -1 exim/exim-src/src/deliver.c
1.41 +2 -1 exim/exim-src/src/receive.c
1.61 +2 -1 exim/exim-src/src/smtp_in.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.524
retrieving revision 1.525
diff -u -r1.524 -r1.525
--- ChangeLog 22 Aug 2007 14:07:30 -0000 1.524
+++ ChangeLog 22 Aug 2007 14:20:28 -0000 1.525
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.524 2007/08/22 14:07:30 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.525 2007/08/22 14:20:28 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -88,6 +88,10 @@
bounce if the delivery eventually timed out. Change 4.67/27 below applied
only to a quota excession during the actual writing of the file.
+PH/10 It seems that peer DN values may contain newlines (and other non-printing
+ characters?) which causes problems in log lines. The DN values are now
+ passed through string_printing() before being added to log lines.
+
Exim version 4.67
-----------------
Index: deliver.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/deliver.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- deliver.c 6 Feb 2007 14:19:00 -0000 1.44
+++ deliver.c 22 Aug 2007 14:20:28 -0000 1.45
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/deliver.c,v 1.44 2007/02/06 14:19:00 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/deliver.c,v 1.45 2007/08/22 14:20:28 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -944,7 +944,8 @@
s = string_append(s, &size, &ptr, 2, US" CV=",
testflag(addr, af_cert_verified)? "yes":"no");
if ((log_extra_selector & LX_tls_peerdn) != 0 && addr->peerdn != NULL)
- s = string_append(s, &size, &ptr, 3, US" DN=\"", addr->peerdn, US"\"");
+ s = string_append(s, &size, &ptr, 3, US" DN=\"",
+ string_printing(addr->peerdn), US"\"");
#endif
if ((log_extra_selector & LX_smtp_confirmation) != 0 &&
Index: receive.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/receive.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- receive.c 22 Aug 2007 10:10:23 -0000 1.40
+++ receive.c 22 Aug 2007 14:20:28 -0000 1.41
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/receive.c,v 1.40 2007/08/22 10:10:23 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/receive.c,v 1.41 2007/08/22 14:20:28 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -3366,7 +3366,8 @@
s = string_append(s, &size, &sptr, 2, US" CV=",
tls_certificate_verified? "yes":"no");
if ((log_extra_selector & LX_tls_peerdn) != 0 && tls_peerdn != NULL)
- s = string_append(s, &size, &sptr, 3, US" DN=\"", tls_peerdn, US"\"");
+ s = string_append(s, &size, &sptr, 3, US" DN=\"",
+ string_printing(tls_peerdn), US"\"");
#endif
if (sender_host_authenticated != NULL)
Index: smtp_in.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- smtp_in.c 22 Aug 2007 10:10:23 -0000 1.60
+++ smtp_in.c 22 Aug 2007 14:20:28 -0000 1.61
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.60 2007/08/22 10:10:23 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.61 2007/08/22 14:20:28 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -818,7 +818,8 @@
s = string_append(s, &size, &ptr, 2, US" CV=",
tls_certificate_verified? "yes":"no");
if ((log_extra_selector & LX_tls_peerdn) != 0 && tls_peerdn != NULL)
- s = string_append(s, &size, &ptr, 3, US" DN=\"", tls_peerdn, US"\"");
+ s = string_append(s, &size, &ptr, 3, US" DN=\"",
+ string_printing(tls_peerdn), US"\"");
#endif
sep = (smtp_connection_had[SMTP_HBUFF_SIZE-1] != SCH_NONE)?