Retry: always use interface, if set, for retry DB key. Bug 1678
[exim.git] / src / src / smtp_out.c
index 724339556e4f4928aa8d50c70e916c7eabf44ebf..d32ef89b5dae2e727724a6944b64444375b0b774 100644 (file)
@@ -26,7 +26,6 @@ Arguments:
                which case the function does nothing
   host_af    AF_INET or AF_INET6 for the outgoing IP address
   addr       the mail address being handled (for setting errors)
-  changed    if not NULL, set TRUE if expansion actually changed istring
   interface  point this to the interface
   msg        to add to any error message
 
@@ -36,7 +35,7 @@ Returns:     TRUE on success, FALSE on failure, with error message
 
 BOOL
 smtp_get_interface(uschar *istring, int host_af, address_item *addr,
-  BOOL *changed, uschar **interface, uschar *msg)
+  uschar **interface, uschar *msg)
 {
 const uschar * expint;
 uschar *iface;
@@ -54,8 +53,6 @@ if (expint == NULL)
   return FALSE;
   }
 
-if (changed != NULL) *changed = expint != istring;
-
 while (isspace(*expint)) expint++;
 if (*expint == 0) return TRUE;
 
@@ -270,8 +267,10 @@ int
 smtp_connect(host_item *host, int host_af, int port, uschar *interface,
   int timeout, transport_instance * tb)
 {
+#ifdef EXPERIMENTAL_SOCKS
 smtp_transport_options_block * ob =
   (smtp_transport_options_block *)tb->options_block;
+#endif
 
 if (host->port != PORT_NONE)
   {
@@ -282,6 +281,8 @@ if (host->port != PORT_NONE)
   }
 else host->port = port;    /* Set the port actually used */
 
+callout_address = string_sprintf("[%s]:%d", host->address, port);
+
 HDEBUG(D_transport|D_acl|D_v)
   {
   uschar * s = US" ";
@@ -289,8 +290,7 @@ HDEBUG(D_transport|D_acl|D_v)
 #ifdef EXPERIMENTAL_SOCKS
   if (ob->socks_proxy) s = string_sprintf("%svia proxy ", s);
 #endif
-  debug_printf("Connecting to %s [%s]:%d%s... ",
-    host->name, host->address, port, s);
+  debug_printf("Connecting to %s %s%s... ", host->name, callout_address, s);
   }
 
 /* Create and connect the socket */