projects
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
receive flow processing
[exim.git]
/
src
/
src
/
smtp_out.c
diff --git
a/src/src/smtp_out.c
b/src/src/smtp_out.c
index 88dde8301fd694574388ec0ec14c36df827853fd..6b4843175359c95b8b9df7f47ff40b58a404a530 100644
(file)
--- a/
src/src/smtp_out.c
+++ b/
src/src/smtp_out.c
@@
-2,7
+2,7
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 201
5
*/
+/* Copyright (c) University of Cambridge 1995 - 201
6
*/
/* See the file NOTICE for conditions of use and distribution. */
/* A number of functions for driving outgoing SMTP calls. */
/* See the file NOTICE for conditions of use and distribution. */
/* A number of functions for driving outgoing SMTP calls. */
@@
-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)
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
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
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;
{
const uschar * expint;
uschar *iface;
@@
-54,8
+53,6
@@
if (expint == NULL)
return FALSE;
}
return FALSE;
}
-if (changed != NULL) *changed = expint != istring;
-
while (isspace(*expint)) expint++;
if (*expint == 0) return TRUE;
while (isspace(*expint)) expint++;
if (*expint == 0) return TRUE;
@@
-158,7
+155,7
@@
int sock;
int on = 1;
int save_errno = 0;
int on = 1;
int save_errno = 0;
-#if
def EXPERIMENTAL
_EVENT
+#if
ndef DISABLE
_EVENT
deliver_host_address = host->address;
deliver_host_port = port;
if (event_raise(tb->event_action, US"tcp:connect", NULL)) return -1;
deliver_host_address = host->address;
deliver_host_port = port;
if (event_raise(tb->event_action, US"tcp:connect", NULL)) return -1;
@@
-168,7
+165,9
@@
if ((sock = ip_socket(SOCK_STREAM, host_af)) < 0) return -1;
/* Set TCP_NODELAY; Exim does its own buffering. */
/* Set TCP_NODELAY; Exim does its own buffering. */
-setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (uschar *)(&on), sizeof(on));
+if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, US &on, sizeof(on)))
+ HDEBUG(D_transport|D_acl|D_v)
+ debug_printf("failed to set NODELAY: %s ", strerror(errno));
/* Set DSCP value, if we can. For now, if we fail to set the value, we don't
bomb out, just log it and continue in default traffic class. */
/* Set DSCP value, if we can. For now, if we fail to set the value, we don't
bomb out, just log it and continue in default traffic class. */
@@
-270,7
+269,7
@@
int
smtp_connect(host_item *host, int host_af, int port, uschar *interface,
int timeout, transport_instance * tb)
{
smtp_connect(host_item *host, int host_af, int port, uschar *interface,
int timeout, transport_instance * tb)
{
-#ifdef
EXPERIMENTAL
_SOCKS
+#ifdef
SUPPORT
_SOCKS
smtp_transport_options_block * ob =
(smtp_transport_options_block *)tb->options_block;
#endif
smtp_transport_options_block * ob =
(smtp_transport_options_block *)tb->options_block;
#endif
@@
-290,7
+289,7
@@
HDEBUG(D_transport|D_acl|D_v)
{
uschar * s = US" ";
if (interface) s = string_sprintf(" from %s ", interface);
{
uschar * s = US" ";
if (interface) s = string_sprintf(" from %s ", interface);
-#ifdef
EXPERIMENTAL
_SOCKS
+#ifdef
SUPPORT
_SOCKS
if (ob->socks_proxy) s = string_sprintf("%svia proxy ", s);
#endif
debug_printf("Connecting to %s %s%s... ", host->name, callout_address, s);
if (ob->socks_proxy) s = string_sprintf("%svia proxy ", s);
#endif
debug_printf("Connecting to %s %s%s... ", host->name, callout_address, s);
@@
-298,7
+297,7
@@
HDEBUG(D_transport|D_acl|D_v)
/* Create and connect the socket */
/* Create and connect the socket */
-#ifdef
EXPERIMENTAL
_SOCKS
+#ifdef
SUPPORT
_SOCKS
if (ob->socks_proxy)
return socks_sock_connect(host, host_af, port, interface, tb, timeout);
#endif
if (ob->socks_proxy)
return socks_sock_connect(host, host_af, port, interface, tb, timeout);
#endif