Merge tag 'exim-4_82_1'
[exim.git] / src / src / transports / lmtp.c
index 5b8472b80dfef26b969c447ea8f5dd30b7328bcb..84bbeb939144ce5a9b27a96a63b5c7e8853678c1 100644 (file)
@@ -1,10 +1,8 @@
-/* $Cambridge: exim/src/src/transports/lmtp.c,v 1.10 2007/01/08 10:50:20 ph10 Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2007 */
+/* Copyright (c) University of Cambridge 1995 - 2014 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -212,7 +210,7 @@ Returns:     TRUE if successful, FALSE if not, with errno set
 */
 
 static BOOL
-lmtp_write_command(int fd, char *format, ...)
+lmtp_write_command(int fd, const char *format, ...)
 {
 int count, rc;
 va_list ap;
@@ -664,8 +662,14 @@ if (send_data)
     if (addr->transport_return != PENDING_OK) continue;
 
     if (lmtp_read_response(out, buffer, sizeof(buffer), '2', timeout))
+      {
       addr->transport_return = OK;
-
+      if ((log_extra_selector & LX_smtp_confirmation) != 0)
+        {
+        uschar *s = string_printing(buffer);
+        addr->message = (s == buffer)? (uschar *)string_copy(s) : s;
+        }
+      }
     /* If the response has failed badly, use it for all the remaining pending
     addresses and give up. */