Sync 4.next from master
[exim.git] / src / src / daemon.c
index ea0c2226259f062a5778c9441275fcde70aea82e..ebd06b523114f09c847d23fce968674a292d3193 100644 (file)
@@ -542,9 +542,9 @@ if (pid == 0)
     DEBUG(D_receive)
       {
       int i;
-      if (sender_address != NULL)
+      if (sender_address)
         debug_printf("Sender: %s\n", sender_address);
-      if (recipients_list != NULL)
+      if (recipients_list)
         {
         debug_printf("Recipients:\n");
         for (i = 0; i < recipients_count; i++)
@@ -570,6 +570,7 @@ if (pid == 0)
     deliver_host_address = deliver_host =
     deliver_domain_orig = deliver_localpart_orig = NULL;
     dnslist_domain = dnslist_matched = NULL;
+    callout_address = NULL;
 #ifndef DISABLE_DKIM
     dkim_cur_signer = NULL;
 #endif
@@ -1686,6 +1687,16 @@ else if (daemon_listen)
            }
          else if (ipa->address[0] == 0)
            (void)sprintf(CS p, " port %d (IPv4)", ipa->port);
+         else if (  i > 0
+                 && host_is_tls_on_connect_port(ipa[-1].port) == (j > 0)
+                 && Ustrcmp(ipa->address, ipa[-1].address) == 0
+                 )
+           {
+           if (p[-1] == '}') p--;
+           while (isdigit(*--p)) ;
+           (void)sprintf(CS p+1, "%s%d,%d}", *p == ',' ? "" : "{",
+             ipa[-1].port, ipa->port);
+           }
          else
            (void)sprintf(CS p, " [%s]:%d", ipa->address, ipa->port);
          while (*p != 0) p++;