Correctly close the server side of TLS when forking for delivery.
authorTony Finch <dot@dotat.at>
Tue, 5 Nov 2013 12:18:02 +0000 (12:18 +0000)
committerTony Finch <dot@dotat.at>
Tue, 5 Nov 2013 12:18:02 +0000 (12:18 +0000)
src/src/daemon.c
src/src/exim.c

index 3467f14a7eb11fce98cfae790cec3ca815d767f8..8e61dcf87a3c15ee383cc903b16cfcf7d455d9e6 100644 (file)
@@ -639,7 +639,7 @@ if (pid == 0)
         the data structures if necessary. */
 
         #ifdef SUPPORT_TLS
         the data structures if necessary. */
 
         #ifdef SUPPORT_TLS
-        tls_close(FALSE, FALSE);
+        tls_close(TRUE, FALSE);
         #endif
 
         /* Reset SIGHUP and SIGCHLD in the child in both cases. */
         #endif
 
         /* Reset SIGHUP and SIGCHLD in the child in both cases. */
index a715c0b3981ed709493480652f200bb694e6a5b9..856e655710164f44c5a29b662b56de78b8a2d68c 100644 (file)
@@ -526,7 +526,7 @@ close_unwanted(void)
 if (smtp_input)
   {
   #ifdef SUPPORT_TLS
 if (smtp_input)
   {
   #ifdef SUPPORT_TLS
-  tls_close(FALSE, FALSE);      /* Shut down the TLS library */
+  tls_close(TRUE, FALSE);      /* Shut down the TLS library */
   #endif
   (void)close(fileno(smtp_in));
   (void)close(fileno(smtp_out));
   #endif
   (void)close(fileno(smtp_in));
   (void)close(fileno(smtp_out));