git://git.exim.org
/
users
/
jgh
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0b2719a
)
Build: include early-pipelining unless disabled
author
Jeremy Harris
<jgh146exb@wizmail.org>
Sat, 19 Oct 2019 23:10:20 +0000
(
00:10
+0100)
committer
Jeremy Harris
<jgh146exb@wizmail.org>
Sun, 20 Oct 2019 12:33:11 +0000
(13:33 +0100)
16 files changed:
doc/doc-txt/ChangeLog
patch
|
blob
|
history
src/src/config.h.defaults
patch
|
blob
|
history
src/src/dbstuff.h
patch
|
blob
|
history
src/src/deliver.c
patch
|
blob
|
history
src/src/exim.c
patch
|
blob
|
history
src/src/globals.c
patch
|
blob
|
history
src/src/globals.h
patch
|
blob
|
history
src/src/macro_predef.c
patch
|
blob
|
history
src/src/readconf.c
patch
|
blob
|
history
src/src/receive.c
patch
|
blob
|
history
src/src/smtp_in.c
patch
|
blob
|
history
src/src/smtp_out.c
patch
|
blob
|
history
src/src/structs.h
patch
|
blob
|
history
src/src/tls-openssl.c
patch
|
blob
|
history
src/src/transports/smtp.c
patch
|
blob
|
history
src/src/transports/smtp.h
patch
|
blob
|
history
diff --git
a/doc/doc-txt/ChangeLog
b/doc/doc-txt/ChangeLog
index 9a27e144c45dc083539f1f3e5af8500cd634eaa2..079b5a1eecd7d006f38d1412a620703dfec2889c 100644
(file)
--- a/
doc/doc-txt/ChangeLog
+++ b/
doc/doc-txt/ChangeLog
@@
-12,6
+12,8
@@
JH/01 Avoid costly startup code when not strictly needed. This reduces time
for some exim process initialisations. It does mean that the logging
of TLS configuration problems is only done for the daemon startup.
for some exim process initialisations. It does mean that the logging
of TLS configuration problems is only done for the daemon startup.
+JH/02 Early-pipelining support code is now included unless disabled in Makefile.
+
Exim version 4.93
-----------------
Exim version 4.93
-----------------
diff --git
a/src/src/config.h.defaults
b/src/src/config.h.defaults
index 84837d52794058d71c44defe4bee0314434f8a51..223e2d6451ac0e825b53cd1ea948929f03f73aa0 100644
(file)
--- a/
src/src/config.h.defaults
+++ b/
src/src/config.h.defaults
@@
-50,6
+50,7
@@
Do not put spaces between # and the 'define'.
#define DISABLE_DKIM
#define DISABLE_EVENT
#define DISABLE_OCSP
#define DISABLE_DKIM
#define DISABLE_EVENT
#define DISABLE_OCSP
+#define DISABLE_PIPE_CONNECT
#define DISABLE_PRDR
#define DISABLE_TLS
#define DISABLE_D_OPTION
#define DISABLE_PRDR
#define DISABLE_TLS
#define DISABLE_D_OPTION
@@
-151,7
+152,6
@@
Do not put spaces between # and the 'define'.
#define SUPPORT_MAILSTORE
#define SUPPORT_MBX
#define SUPPORT_MOVE_FROZEN_MESSAGES
#define SUPPORT_MAILSTORE
#define SUPPORT_MBX
#define SUPPORT_MOVE_FROZEN_MESSAGES
-#define SUPPORT_PIPE_CONNECT
#define SUPPORT_PAM
#define SUPPORT_PROXY
#define SUPPORT_SOCKS
#define SUPPORT_PAM
#define SUPPORT_PROXY
#define SUPPORT_SOCKS
diff --git
a/src/src/dbstuff.h
b/src/src/dbstuff.h
index b7889bd8ef99b20b4c5025f3561608405e37794a..bf5fa3f6ea3a41b02e7abe54e1c3b3722f89723d 100644
(file)
--- a/
src/src/dbstuff.h
+++ b/
src/src/dbstuff.h
@@
-786,7
+786,7
@@
typedef struct {
uschar bloom[40]; /* Bloom filter which may be larger than this */
} dbdata_ratelimit_unique;
uschar bloom[40]; /* Bloom filter which may be larger than this */
} dbdata_ratelimit_unique;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
/* This structure records the EHLO responses, cleartext and crypted,
for an IP, as bitmasks (cf. OPTION_TLS) */
/* This structure records the EHLO responses, cleartext and crypted,
for an IP, as bitmasks (cf. OPTION_TLS) */
diff --git
a/src/src/deliver.c
b/src/src/deliver.c
index 5fc748141b681a7d57aebec6a865cb4d0d294cb7..b89671c572188d031d7a2a2101aab39564655956 100644
(file)
--- a/
src/src/deliver.c
+++ b/
src/src/deliver.c
@@
-1221,7
+1221,7
@@
else
{
if (testflag(addr, af_pipelining))
g = string_catn(g, US" L", 2);
{
if (testflag(addr, af_pipelining))
g = string_catn(g, US" L", 2);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (testflag(addr, af_early_pipe))
g = string_catn(g, US"*", 1);
#endif
if (testflag(addr, af_early_pipe))
g = string_catn(g, US"*", 1);
#endif
@@
-3533,7
+3533,7
@@
while (!done)
case 'L':
switch (*subid)
{
case 'L':
switch (*subid)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
case 2: setflag(addr, af_early_pipe); /*FALLTHROUGH*/
#endif
case 1: setflag(addr, af_pipelining); break;
case 2: setflag(addr, af_early_pipe); /*FALLTHROUGH*/
#endif
case 1: setflag(addr, af_pipelining); break;
@@
-4840,7
+4840,7
@@
all pipes, so I do not see a reason to use non-blocking IO here
#endif
if (testflag(addr, af_pipelining))
#endif
if (testflag(addr, af_pipelining))
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (testflag(addr, af_early_pipe))
rmt_dlv_checked_write(fd, 'L', '2', NULL, 0);
else
if (testflag(addr, af_early_pipe))
rmt_dlv_checked_write(fd, 'L', '2', NULL, 0);
else
diff --git
a/src/src/exim.c
b/src/src/exim.c
index 084fa8db2bafc6df1d3223785ef4552371830bb7..d6952ef2ef665be4d482626982ce008a1a003fa1 100644
(file)
--- a/
src/src/exim.c
+++ b/
src/src/exim.c
@@
-901,7
+901,7
@@
fprintf(fp, "Support for:");
#ifndef DISABLE_OCSP
fprintf(fp, " OCSP");
#endif
#ifndef DISABLE_OCSP
fprintf(fp, " OCSP");
#endif
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
fprintf(fp, " PIPE_CONNECT");
#endif
#ifndef DISABLE_PRDR
fprintf(fp, " PIPE_CONNECT");
#endif
#ifndef DISABLE_PRDR
diff --git
a/src/src/globals.c
b/src/src/globals.c
index 3540a9eba44672126d6237ce6f3ccf8efa40cc34..87ff2e65fca05feb2de42f7caed90671b8277555 100644
(file)
--- a/
src/src/globals.c
+++ b/
src/src/globals.c
@@
-298,7
+298,7
@@
struct global_flags f =
.sender_name_forced = FALSE,
.sender_set_untrusted = FALSE,
.smtp_authenticated = FALSE,
.sender_name_forced = FALSE,
.sender_set_untrusted = FALSE,
.smtp_authenticated = FALSE,
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
.smtp_in_early_pipe_advertised = FALSE,
.smtp_in_early_pipe_no_auth = FALSE,
.smtp_in_early_pipe_used = FALSE,
.smtp_in_early_pipe_advertised = FALSE,
.smtp_in_early_pipe_no_auth = FALSE,
.smtp_in_early_pipe_used = FALSE,
@@
-1168,7
+1168,7
@@
uschar *override_pid_file_path = NULL;
uschar *percent_hack_domains = NULL;
uschar *pid_file_path = US PID_FILE_PATH
"\0<--------------Space to patch pid_file_path->";
uschar *percent_hack_domains = NULL;
uschar *pid_file_path = US PID_FILE_PATH
"\0<--------------Space to patch pid_file_path->";
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
uschar *pipe_connect_advertise_hosts = US"*";
#endif
uschar *pipelining_advertise_hosts = US"*";
uschar *pipe_connect_advertise_hosts = US"*";
#endif
uschar *pipelining_advertise_hosts = US"*";
@@
-1258,7
+1258,7
@@
const pcre *regex_From = NULL;
const pcre *regex_IGNOREQUOTA = NULL;
const pcre *regex_PIPELINING = NULL;
const pcre *regex_SIZE = NULL;
const pcre *regex_IGNOREQUOTA = NULL;
const pcre *regex_PIPELINING = NULL;
const pcre *regex_SIZE = NULL;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
const pcre *regex_EARLY_PIPE = NULL;
#endif
const pcre *regex_ismsgid = NULL;
const pcre *regex_EARLY_PIPE = NULL;
#endif
const pcre *regex_ismsgid = NULL;
diff --git
a/src/src/globals.h
b/src/src/globals.h
index ffc633f6024a9fc82230d865e555f876a5b560e1..ee89fd1f503a70acaa5fab8bcf307f9479ed5053 100644
(file)
--- a/
src/src/globals.h
+++ b/
src/src/globals.h
@@
-258,7
+258,7
@@
extern struct global_flags {
BOOL sender_name_forced :1; /* Set by -F */
BOOL sender_set_untrusted :1; /* Sender set by untrusted caller */
BOOL smtp_authenticated :1; /* Sending client has authenticated */
BOOL sender_name_forced :1; /* Set by -F */
BOOL sender_set_untrusted :1; /* Sender set by untrusted caller */
BOOL smtp_authenticated :1; /* Sending client has authenticated */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL smtp_in_early_pipe_advertised :1; /* server advertised PIPE_CONNECT */
BOOL smtp_in_early_pipe_no_auth :1; /* too many authenticator names */
BOOL smtp_in_early_pipe_used :1; /* client did send early data */
BOOL smtp_in_early_pipe_advertised :1; /* server advertised PIPE_CONNECT */
BOOL smtp_in_early_pipe_no_auth :1; /* too many authenticator names */
BOOL smtp_in_early_pipe_used :1; /* client did send early data */
@@
-750,7
+750,7
@@
extern uschar *override_pid_file_path; /* Value of -oP argument */
extern uschar *percent_hack_domains; /* Local domains for which '% operates */
extern uschar *pid_file_path; /* For writing daemon pids */
extern uschar *percent_hack_domains; /* Local domains for which '% operates */
extern uschar *pid_file_path; /* For writing daemon pids */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
extern uschar *pipe_connect_advertise_hosts; /* for banner/EHLO pipelining */
#endif
extern uschar *pipelining_advertise_hosts; /* As it says */
extern uschar *pipe_connect_advertise_hosts; /* for banner/EHLO pipelining */
#endif
extern uschar *pipelining_advertise_hosts; /* As it says */
@@
-833,7
+833,7
@@
extern const pcre *regex_CHUNKING; /* For recognizing CHUNKING (RFC 3030) */
extern const pcre *regex_IGNOREQUOTA; /* For recognizing IGNOREQUOTA (LMTP) */
extern const pcre *regex_PIPELINING; /* For recognizing PIPELINING */
extern const pcre *regex_SIZE; /* For recognizing SIZE settings */
extern const pcre *regex_IGNOREQUOTA; /* For recognizing IGNOREQUOTA (LMTP) */
extern const pcre *regex_PIPELINING; /* For recognizing PIPELINING */
extern const pcre *regex_SIZE; /* For recognizing SIZE settings */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
extern const pcre *regex_EARLY_PIPE; /* For recognizing PIPE_CONNCT */
#endif
extern const pcre *regex_ismsgid; /* Compiled r.e. for message it */
extern const pcre *regex_EARLY_PIPE; /* For recognizing PIPE_CONNCT */
#endif
extern const pcre *regex_ismsgid; /* Compiled r.e. for message it */
diff --git
a/src/src/macro_predef.c
b/src/src/macro_predef.c
index e20ae89fe305c9de4c75f365114a657a65f7a51b..383b0b38cb917ebf0929dd14856e388cdbf8b775 100644
(file)
--- a/
src/src/macro_predef.c
+++ b/
src/src/macro_predef.c
@@
-161,7
+161,7
@@
due to conflicts with other common macros. */
#ifndef DISABLE_OCSP
builtin_macro_create(US"_HAVE_OCSP");
#endif
#ifndef DISABLE_OCSP
builtin_macro_create(US"_HAVE_OCSP");
#endif
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
builtin_macro_create(US"_HAVE_PIPE_CONNECT");
#endif
#ifndef DISABLE_PRDR
builtin_macro_create(US"_HAVE_PIPE_CONNECT");
#endif
#ifndef DISABLE_PRDR
diff --git
a/src/src/readconf.c
b/src/src/readconf.c
index daa88d0100290717650ca9e1ceaf49736cbcf4dc..713a1a9efe9fb0b898881548d93b0f489fc9333e 100644
(file)
--- a/
src/src/readconf.c
+++ b/
src/src/readconf.c
@@
-244,7
+244,7
@@
static optionlist optionlist_config[] = {
#endif
{ "pid_file_path", opt_stringptr, &pid_file_path },
{ "pipelining_advertise_hosts", opt_stringptr, &pipelining_advertise_hosts },
#endif
{ "pid_file_path", opt_stringptr, &pid_file_path },
{ "pipelining_advertise_hosts", opt_stringptr, &pipelining_advertise_hosts },
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
{ "pipelining_connect_advertise_hosts", opt_stringptr,
&pipe_connect_advertise_hosts },
#endif
{ "pipelining_connect_advertise_hosts", opt_stringptr,
&pipe_connect_advertise_hosts },
#endif
@@
-4156,7
+4156,7
@@
Returns: nothing
static void
auths_init(void)
{
static void
auths_init(void)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
int nauths = 0;
#endif
int nauths = 0;
#endif
@@
-4182,11
+4182,11
@@
for (auth_instance * au = auths; au; au = au->next)
"(%s and %s) have the same public name (%s)",
au->client ? US"client" : US"server", au->name, bu->name,
au->public_name);
"(%s and %s) have the same public name (%s)",
au->client ? US"client" : US"server", au->name, bu->name,
au->public_name);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
nauths++;
#endif
}
nauths++;
#endif
}
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
f.smtp_in_early_pipe_no_auth = nauths > 16;
#endif
}
f.smtp_in_early_pipe_no_auth = nauths > 16;
#endif
}
diff --git
a/src/src/receive.c
b/src/src/receive.c
index 31e3f7cbb78ee043a7bf19c11d52fee76f53a84a..83613092fea8b2d7eb32e1eae335584206d70142 100644
(file)
--- a/
src/src/receive.c
+++ b/
src/src/receive.c
@@
-1343,7
+1343,7
@@
if (received_protocol)
if (LOGGING(pipelining) && f.smtp_in_pipelining_advertised)
{
g = string_catn(g, US" L", 2);
if (LOGGING(pipelining) && f.smtp_in_pipelining_advertised)
{
g = string_catn(g, US" L", 2);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (f.smtp_in_early_pipe_used)
g = string_catn(g, US"*", 1);
else if (f.smtp_in_early_pipe_advertised)
if (f.smtp_in_early_pipe_used)
g = string_catn(g, US"*", 1);
else if (f.smtp_in_early_pipe_advertised)
diff --git
a/src/src/smtp_in.c
b/src/src/smtp_in.c
index 67179864191c82f8e3a0d5fa3e3d94d1177adf3a..bd29d2c1f9b74619050b4ae6e39b73127f6bb704 100644
(file)
--- a/
src/src/smtp_in.c
+++ b/
src/src/smtp_in.c
@@
-142,7
+142,7
@@
static struct {
BOOL helo_verify :1;
BOOL helo_seen :1;
BOOL helo_accept_junk :1;
BOOL helo_verify :1;
BOOL helo_seen :1;
BOOL helo_accept_junk :1;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL pipe_connect_acceptable :1;
#endif
BOOL rcpt_smtp_response_same :1;
BOOL pipe_connect_acceptable :1;
#endif
BOOL rcpt_smtp_response_same :1;
@@
-397,7
+397,7
@@
return TRUE;
}
}
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
static BOOL
pipeline_connect_sends(void)
{
static BOOL
pipeline_connect_sends(void)
{
@@
-2992,7
+2992,7
@@
while (*p);
/* Before we write the banner, check that there is no input pending, unless
this synchronisation check is disabled. */
/* Before we write the banner, check that there is no input pending, unless
this synchronisation check is disabled. */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
fl.pipe_connect_acceptable =
sender_host_address && verify_check_host(&pipe_connect_advertise_hosts) == OK;
fl.pipe_connect_acceptable =
sender_host_address && verify_check_host(&pipe_connect_advertise_hosts) == OK;
@@
-3019,7
+3019,7
@@
if (!check_sync())
/*XXX the ehlo-resp code does its own tls/nontls bit. Maybe subroutine that? */
smtp_printf("%s",
/*XXX the ehlo-resp code does its own tls/nontls bit. Maybe subroutine that? */
smtp_printf("%s",
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
fl.pipe_connect_acceptable && pipeline_connect_sends(),
#else
FALSE,
fl.pipe_connect_acceptable && pipeline_connect_sends(),
#else
FALSE,
@@
-3970,7
+3970,7
@@
while (done <= 0)
#endif
switch(smtp_read_command(
#endif
switch(smtp_read_command(
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
!fl.pipe_connect_acceptable,
#else
TRUE,
!fl.pipe_connect_acceptable,
#else
TRUE,
@@
-4206,7
+4206,7
@@
while (done <= 0)
host_build_sender_fullhost(); /* Rebuild */
break;
}
host_build_sender_fullhost(); /* Rebuild */
break;
}
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
else if (!fl.pipe_connect_acceptable && !check_sync())
#else
else if (!check_sync())
else if (!fl.pipe_connect_acceptable && !check_sync())
#else
else if (!check_sync())
@@
-4339,7
+4339,7
@@
while (done <= 0)
sync_cmd_limit = NON_SYNC_CMD_PIPELINING;
f.smtp_in_pipelining_advertised = TRUE;
sync_cmd_limit = NON_SYNC_CMD_PIPELINING;
f.smtp_in_pipelining_advertised = TRUE;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (fl.pipe_connect_acceptable)
{
f.smtp_in_early_pipe_advertised = TRUE;
if (fl.pipe_connect_acceptable)
{
f.smtp_in_early_pipe_advertised = TRUE;
@@
-4457,7
+4457,7
@@
while (done <= 0)
#ifndef DISABLE_TLS
if (tls_in.active.sock >= 0)
(void)tls_write(NULL, g->s, g->ptr,
#ifndef DISABLE_TLS
if (tls_in.active.sock >= 0)
(void)tls_write(NULL, g->s, g->ptr,
-# if
def SUPPORT
_PIPE_CONNECT
+# if
ndef DISABLE
_PIPE_CONNECT
fl.pipe_connect_acceptable && pipeline_connect_sends());
# else
FALSE);
fl.pipe_connect_acceptable && pipeline_connect_sends());
# else
FALSE);
@@
-5235,7
+5235,7
@@
while (done <= 0)
f.dot_ends = TRUE;
DATA_BDAT: /* Common code for DATA and BDAT */
f.dot_ends = TRUE;
DATA_BDAT: /* Common code for DATA and BDAT */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
fl.pipe_connect_acceptable = FALSE;
#endif
if (!discarded && recipients_count <= 0)
fl.pipe_connect_acceptable = FALSE;
#endif
if (!discarded && recipients_count <= 0)
diff --git
a/src/src/smtp_out.c
b/src/src/smtp_out.c
index ece79de10a52e22b9ee692cdaaef96eb897b923b..07cc9b76252e76e21f284e05ac2e0644f0bcd42b 100644
(file)
--- a/
src/src/smtp_out.c
+++ b/
src/src/smtp_out.c
@@
-717,7
+717,7
@@
time_t timelimit = time(NULL) + timeout;
errno = 0; /* Ensure errno starts out zero */
errno = 0; /* Ensure errno starts out zero */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->pending_BANNER || sx->pending_EHLO)
{
int rc;
if (sx->pending_BANNER || sx->pending_EHLO)
{
int rc;
diff --git
a/src/src/structs.h
b/src/src/structs.h
index 338dccbf1233452d5bca2d0f5224b155a9d24745..6662e6458ddcf6e3e5175ae6f16f7963cb248711 100644
(file)
--- a/
src/src/structs.h
+++ b/
src/src/structs.h
@@
-625,7
+625,7
@@
typedef struct address_item {
BOOL af_tcp_fastopen:1; /* delivery usefully used TCP Fast Open */
BOOL af_tcp_fastopen_data:1; /* delivery sent SMTP commands on TCP Fast Open */
BOOL af_pipelining:1; /* delivery used (traditional) pipelining */
BOOL af_tcp_fastopen:1; /* delivery usefully used TCP Fast Open */
BOOL af_tcp_fastopen_data:1; /* delivery sent SMTP commands on TCP Fast Open */
BOOL af_pipelining:1; /* delivery used (traditional) pipelining */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL af_early_pipe:1; /* delivery used connect-time pipelining */
#endif
#ifndef DISABLE_PRDR
BOOL af_early_pipe:1; /* delivery used connect-time pipelining */
#endif
#ifndef DISABLE_PRDR
diff --git
a/src/src/tls-openssl.c
b/src/src/tls-openssl.c
index 8e1f559afb0c173efddbfb8bfeec6d0fdab740b5..c5e1abfe9f985ac3ad8d373443ec6cb1f628c39d 100644
(file)
--- a/
src/src/tls-openssl.c
+++ b/
src/src/tls-openssl.c
@@
-3517,14
+3517,14
@@
a store reset there, so use POOL_PERM. */
if ((more || corked))
{
if ((more || corked))
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
int save_pool = store_pool;
store_pool = POOL_PERM;
#endif
corked = string_catn(corked, buff, len);
int save_pool = store_pool;
store_pool = POOL_PERM;
#endif
corked = string_catn(corked, buff, len);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
store_pool = save_pool;
#endif
store_pool = save_pool;
#endif
diff --git
a/src/src/transports/smtp.c
b/src/src/transports/smtp.c
index b45da05adeb0db81b4492b57e292ec56b71d7765..b16b8b110ce3c93f2e58c9687c1670d2e00ac8e4 100644
(file)
--- a/
src/src/transports/smtp.c
+++ b/
src/src/transports/smtp.c
@@
-110,7
+110,7
@@
optionlist smtp_transport_options[] = {
#endif
{ "hosts_override", opt_bool,
(void *)offsetof(smtp_transport_options_block, hosts_override) },
#endif
{ "hosts_override", opt_bool,
(void *)offsetof(smtp_transport_options_block, hosts_override) },
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
{ "hosts_pipe_connect", opt_stringptr,
(void *)offsetof(smtp_transport_options_block, hosts_pipe_connect) },
#endif
{ "hosts_pipe_connect", opt_stringptr,
(void *)offsetof(smtp_transport_options_block, hosts_pipe_connect) },
#endif
@@
-260,7
+260,7
@@
smtp_transport_options_block smtp_transport_option_defaults = {
.hosts_avoid_tls = NULL,
.hosts_verify_avoid_tls = NULL,
.hosts_avoid_pipelining = NULL,
.hosts_avoid_tls = NULL,
.hosts_verify_avoid_tls = NULL,
.hosts_avoid_pipelining = NULL,
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
.hosts_pipe_connect = NULL,
#endif
.hosts_avoid_esmtp = NULL,
.hosts_pipe_connect = NULL,
#endif
.hosts_avoid_esmtp = NULL,
@@
-395,7
+395,7
@@
if (!regex_DSN) regex_DSN =
if (!regex_IGNOREQUOTA) regex_IGNOREQUOTA =
regex_must_compile(US"\\n250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE);
if (!regex_IGNOREQUOTA) regex_IGNOREQUOTA =
regex_must_compile(US"\\n250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (!regex_EARLY_PIPE) regex_EARLY_PIPE =
regex_must_compile(US"\\n250[\\s\\-]" EARLY_PIPE_FEATURE_NAME "(\\s|\\n|$)", FALSE, TRUE);
#endif
if (!regex_EARLY_PIPE) regex_EARLY_PIPE =
regex_must_compile(US"\\n250[\\s\\-]" EARLY_PIPE_FEATURE_NAME "(\\s|\\n|$)", FALSE, TRUE);
#endif
@@
-868,7
+868,7
@@
return TRUE;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
static uschar *
ehlo_cache_key(const smtp_context * sx)
{
static uschar *
ehlo_cache_key(const smtp_context * sx)
{
@@
-1134,7
+1134,7
@@
address_item * addr = sx->sync_addr;
smtp_transport_options_block * ob = sx->conn_args.ob;
int yield = 0;
smtp_transport_options_block * ob = sx->conn_args.ob;
int yield = 0;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
int rc;
if ((rc = smtp_reap_early_pipe(sx, &count)) != OK)
return rc == FAIL ? -4 : -5;
int rc;
if ((rc = smtp_reap_early_pipe(sx, &count)) != OK)
return rc == FAIL ? -4 : -5;
@@
-1456,7
+1456,7
@@
smtp_auth(smtp_context * sx)
host_item * host = sx->conn_args.host; /* host to deliver to */
smtp_transport_options_block * ob = sx->conn_args.ob; /* transport options */
int require_auth = verify_check_given_host(CUSS &ob->hosts_require_auth, host);
host_item * host = sx->conn_args.host; /* host to deliver to */
smtp_transport_options_block * ob = sx->conn_args.ob; /* transport options */
int require_auth = verify_check_given_host(CUSS &ob->hosts_require_auth, host);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
unsigned short authbits = tls_out.active.sock >= 0
? sx->ehlo_resp.crypted_auths : sx->ehlo_resp.cleartext_auths;
#endif
unsigned short authbits = tls_out.active.sock >= 0
? sx->ehlo_resp.crypted_auths : sx->ehlo_resp.cleartext_auths;
#endif
@@
-1472,7
+1472,7
@@
if (!regex_AUTH)
if ( sx->esmtp
&&
if ( sx->esmtp
&&
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
sx->early_pipe_active ? authbits
:
#endif
sx->early_pipe_active ? authbits
:
#endif
@@
-1482,7
+1482,7
@@
if ( sx->esmtp
uschar * names = NULL;
expand_nmax = -1; /* reset */
uschar * names = NULL;
expand_nmax = -1; /* reset */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (!sx->early_pipe_active)
#endif
names = string_copyn(expand_nstring[1], expand_nlength[1]);
if (!sx->early_pipe_active)
#endif
names = string_copyn(expand_nstring[1], expand_nlength[1]);
@@
-1496,7
+1496,7
@@
if ( sx->esmtp
DEBUG(D_transport) debug_printf("scanning authentication mechanisms\n");
fail_reason = US"no common mechanisms were found";
DEBUG(D_transport) debug_printf("scanning authentication mechanisms\n");
fail_reason = US"no common mechanisms were found";
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_active)
{
/* Scan our authenticators (which support use by a client and were offered
if (sx->early_pipe_active)
{
/* Scan our authenticators (which support use by a client and were offered
@@
-1853,7
+1853,7
@@
if ( checks & OPTION_SIZE
&& pcre_exec(regex_SIZE, NULL, CS buf, bsize, 0, PCRE_EOPT, NULL, 0) < 0)
checks &= ~OPTION_SIZE;
&& pcre_exec(regex_SIZE, NULL, CS buf, bsize, 0, PCRE_EOPT, NULL, 0) < 0)
checks &= ~OPTION_SIZE;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if ( checks & OPTION_EARLY_PIPE
&& pcre_exec(regex_EARLY_PIPE, NULL, CS buf, bsize, 0,
PCRE_EOPT, NULL, 0) < 0)
if ( checks & OPTION_EARLY_PIPE
&& pcre_exec(regex_EARLY_PIPE, NULL, CS buf, bsize, 0,
PCRE_EOPT, NULL, 0) < 0)
@@
-1900,7
+1900,7
@@
there may be more writes (like, the chunk data) done soon. */
if (chunk_size > 0)
{
if (chunk_size > 0)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL new_conn = !!(sx->outblock.conn_args);
#endif
if((cmd_count = smtp_write_command(sx,
BOOL new_conn = !!(sx->outblock.conn_args);
#endif
if((cmd_count = smtp_write_command(sx,
@@
-1909,7
+1909,7
@@
if (chunk_size > 0)
) < 0) return ERROR;
if (flags & tc_chunk_last)
data_command = string_copy(big_buffer); /* Save for later error message */
) < 0) return ERROR;
if (flags & tc_chunk_last)
data_command = string_copy(big_buffer); /* Save for later error message */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
/* That command write could have been the one that made the connection.
Copy the fd from the client conn ctx (smtp transport specific) to the
generic transport ctx. */
/* That command write could have been the one that made the connection.
Copy the fd from the client conn ctx (smtp transport specific) to the
generic transport ctx. */
@@
-1942,7
+1942,7
@@
if (flags & tc_reap_prev && prev_cmd_count > 0)
case -5: errno = ERRNO_TLSFAILURE;
return DEFER;
case -5: errno = ERRNO_TLSFAILURE;
return DEFER;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
case -4: /* non-2xx for pipelined banner or EHLO */
#endif
case -1: /* Timeout on RCPT */
case -4: /* non-2xx for pipelined banner or EHLO */
#endif
case -1: /* Timeout on RCPT */
@@
-2035,7
+2035,7
@@
sx->conn_args.dane = FALSE;
sx->dane_required =
verify_check_given_host(CUSS &ob->hosts_require_dane, sx->conn_args.host) == OK;
#endif
sx->dane_required =
verify_check_given_host(CUSS &ob->hosts_require_dane, sx->conn_args.host) == OK;
#endif
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
sx->early_pipe_active = sx->early_pipe_ok = FALSE;
sx->ehlo_resp.cleartext_features = sx->ehlo_resp.crypted_features = 0;
sx->pending_BANNER = sx->pending_EHLO = FALSE;
sx->early_pipe_active = sx->early_pipe_ok = FALSE;
sx->ehlo_resp.cleartext_features = sx->ehlo_resp.crypted_features = 0;
sx->pending_BANNER = sx->pending_EHLO = FALSE;
@@
-2164,7
+2164,7
@@
if (!continue_hostname)
sx->inblock.cctx = sx->outblock.cctx = &sx->cctx;
sx->avoid_option = sx->peer_offered = smtp_peer_options = 0;
sx->inblock.cctx = sx->outblock.cctx = &sx->cctx;
sx->avoid_option = sx->peer_offered = smtp_peer_options = 0;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if ( verify_check_given_host(CUSS &ob->hosts_pipe_connect,
sx->conn_args.host) == OK)
if ( verify_check_given_host(CUSS &ob->hosts_pipe_connect,
sx->conn_args.host) == OK)
@@
-2239,7
+2239,7
@@
will be? Somehow I doubt it. */
if (!sx->smtps)
{
if (!sx->smtps)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_active)
{
sx->pending_BANNER = TRUE; /* sync_responses() must eventually handle */
if (sx->early_pipe_active)
{
sx->pending_BANNER = TRUE; /* sync_responses() must eventually handle */
@@
-2340,7
+2340,7
@@
goto SEND_QUIT;
if (sx->esmtp)
{
if (smtp_write_command(sx,
if (sx->esmtp)
{
if (smtp_write_command(sx,
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
sx->early_pipe_active ? SCMD_BUFFER :
#endif
SCMD_FLUSH,
sx->early_pipe_active ? SCMD_BUFFER :
#endif
SCMD_FLUSH,
@@
-2348,7
+2348,7
@@
goto SEND_QUIT;
goto SEND_FAILED;
sx->esmtp_sent = TRUE;
goto SEND_FAILED;
sx->esmtp_sent = TRUE;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_active)
{
sx->pending_EHLO = TRUE;
if (sx->early_pipe_active)
{
sx->pending_EHLO = TRUE;
@@
-2381,7
+2381,7
@@
goto SEND_QUIT;
DEBUG(D_transport)
debug_printf("not sending EHLO (host matches hosts_avoid_esmtp)\n");
DEBUG(D_transport)
debug_printf("not sending EHLO (host matches hosts_avoid_esmtp)\n");
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (!sx->early_pipe_active)
#endif
if (!sx->esmtp)
if (!sx->early_pipe_active)
#endif
if (!sx->esmtp)
@@
-2416,13
+2416,13
@@
goto SEND_QUIT;
if (sx->esmtp || sx->lmtp)
{
if (sx->esmtp || sx->lmtp)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (!sx->early_pipe_active)
#endif
{
sx->peer_offered = ehlo_response(sx->buffer,
OPTION_TLS /* others checked later */
if (!sx->early_pipe_active)
#endif
{
sx->peer_offered = ehlo_response(sx->buffer,
OPTION_TLS /* others checked later */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
| (sx->early_pipe_ok
? OPTION_IGNQ
| OPTION_CHUNKING | OPTION_PRDR | OPTION_DSN | OPTION_PIPE | OPTION_SIZE
| (sx->early_pipe_ok
? OPTION_IGNQ
| OPTION_CHUNKING | OPTION_PRDR | OPTION_DSN | OPTION_PIPE | OPTION_SIZE
@@
-2434,7
+2434,7
@@
goto SEND_QUIT;
)
#endif
);
)
#endif
);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_ok)
{
sx->ehlo_resp.cleartext_features = sx->peer_offered;
if (sx->early_pipe_ok)
{
sx->ehlo_resp.cleartext_features = sx->peer_offered;
@@
-2527,7
+2527,7
@@
if ( smtp_peer_options & OPTION_TLS
if (smtp_write_command(sx, SCMD_FLUSH, "STARTTLS\r\n") < 0)
goto SEND_FAILED;
if (smtp_write_command(sx, SCMD_FLUSH, "STARTTLS\r\n") < 0)
goto SEND_FAILED;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
/* If doing early-pipelining reap the banner and EHLO-response but leave
the response for the STARTTLS we just sent alone. */
/* If doing early-pipelining reap the banner and EHLO-response but leave
the response for the STARTTLS we just sent alone. */
@@
-2631,7
+2631,7
@@
if (tls_out.active.sock >= 0)
goto SEND_QUIT;
}
goto SEND_QUIT;
}
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
/* For SMTPS there is no cleartext early-pipe; use the crypted permission bit.
We're unlikely to get the group sent and delivered before the server sends its
banner, but it's still worth sending as a group.
/* For SMTPS there is no cleartext early-pipe; use the crypted permission bit.
We're unlikely to get the group sent and delivered before the server sends its
banner, but it's still worth sending as a group.
@@
-2649,7
+2649,7
@@
if (tls_out.active.sock >= 0)
/* For SMTPS we need to wait for the initial OK response. */
if (sx->smtps)
/* For SMTPS we need to wait for the initial OK response. */
if (sx->smtps)
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_active)
{
sx->pending_BANNER = TRUE;
if (sx->early_pipe_active)
{
sx->pending_BANNER = TRUE;
@@
-2672,14
+2672,14
@@
if (tls_out.active.sock >= 0)
}
if (smtp_write_command(sx,
}
if (smtp_write_command(sx,
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
sx->early_pipe_active ? SCMD_BUFFER :
#endif
SCMD_FLUSH,
"%s %s\r\n", greeting_cmd, sx->helo_data) < 0)
goto SEND_FAILED;
sx->early_pipe_active ? SCMD_BUFFER :
#endif
SCMD_FLUSH,
"%s %s\r\n", greeting_cmd, sx->helo_data) < 0)
goto SEND_FAILED;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx->early_pipe_active)
sx->pending_EHLO = TRUE;
else
if (sx->early_pipe_active)
sx->pending_EHLO = TRUE;
else
@@
-2744,13
+2744,13
@@
if (continue_hostname == NULL
{
if (sx->esmtp || sx->lmtp)
{
{
if (sx->esmtp || sx->lmtp)
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (!sx->early_pipe_active)
#endif
{
sx->peer_offered = ehlo_response(sx->buffer,
0 /* no TLS */
if (!sx->early_pipe_active)
#endif
{
sx->peer_offered = ehlo_response(sx->buffer,
0 /* no TLS */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
| (sx->lmtp && ob->lmtp_ignore_quota ? OPTION_IGNQ : 0)
| OPTION_DSN | OPTION_PIPE | OPTION_SIZE
| OPTION_CHUNKING | OPTION_PRDR | OPTION_UTF8
| (sx->lmtp && ob->lmtp_ignore_quota ? OPTION_IGNQ : 0)
| OPTION_DSN | OPTION_PIPE | OPTION_SIZE
| OPTION_CHUNKING | OPTION_PRDR | OPTION_UTF8
@@
-2771,7
+2771,7
@@
if (continue_hostname == NULL
| (ob->size_addition >= 0 ? OPTION_SIZE : 0)
#endif
);
| (ob->size_addition >= 0 ? OPTION_SIZE : 0)
#endif
);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (tls_out.active.sock >= 0)
sx->ehlo_resp.crypted_features = sx->peer_offered;
#endif
if (tls_out.active.sock >= 0)
sx->ehlo_resp.crypted_features = sx->peer_offered;
#endif
@@
-2819,7
+2819,7
@@
if (continue_hostname == NULL
DEBUG(D_transport) debug_printf("%susing DSN\n",
sx->peer_offered & OPTION_DSN ? "" : "not ");
DEBUG(D_transport) debug_printf("%susing DSN\n",
sx->peer_offered & OPTION_DSN ? "" : "not ");
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if ( sx->early_pipe_ok
&& !sx->early_pipe_active
&& tls_out.active.sock >= 0
if ( sx->early_pipe_ok
&& !sx->early_pipe_active
&& tls_out.active.sock >= 0
@@
-3335,7
+3335,7
@@
for (addr = sx->first_addr, address_count = 0;
case -2: return -2; /* non-MAIL read i/o error */
default: return -1; /* any MAIL error */
case -2: return -2; /* non-MAIL read i/o error */
default: return -1; /* any MAIL error */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
case -4: return -1; /* non-2xx for pipelined banner or EHLO */
case -5: return -1; /* TLS first-read error */
#endif
case -4: return -1; /* non-2xx for pipelined banner or EHLO */
case -5: return -1; /* TLS first-read error */
#endif
@@
-3669,7
+3669,7
@@
if ( !(sx.peer_offered & OPTION_CHUNKING)
case -1: goto END_OFF; /* Timeout on RCPT */
case -1: goto END_OFF; /* Timeout on RCPT */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
case -5: /* TLS first-read error */
case -4: HDEBUG(D_transport)
debug_printf("failed reaping pipelined cmd responses\n");
case -5: /* TLS first-read error */
case -4: HDEBUG(D_transport)
debug_printf("failed reaping pipelined cmd responses\n");
@@
-3824,7
+3824,7
@@
else
case -1: goto END_OFF; /* Timeout on RCPT */
case -1: goto END_OFF; /* Timeout on RCPT */
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
case -5: /* TLS first-read error */
case -4: HDEBUG(D_transport)
debug_printf("failed reaping pipelined cmd responses\n");
case -5: /* TLS first-read error */
case -4: HDEBUG(D_transport)
debug_printf("failed reaping pipelined cmd responses\n");
@@
-3976,7
+3976,7
@@
else
if (tcp_out_fastopen >= TFO_USED_DATA) setflag(addr, af_tcp_fastopen_data);
}
if (sx.pipelining_used) setflag(addr, af_pipelining);
if (tcp_out_fastopen >= TFO_USED_DATA) setflag(addr, af_tcp_fastopen_data);
}
if (sx.pipelining_used) setflag(addr, af_pipelining);
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
if (sx.early_pipe_active) setflag(addr, af_early_pipe);
#endif
#ifndef DISABLE_PRDR
if (sx.early_pipe_active) setflag(addr, af_early_pipe);
#endif
#ifndef DISABLE_PRDR
@@
-4178,7
+4178,7
@@
if (!sx.ok)
else
{
else
{
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
/* If we were early-pipelinng and the actual EHLO response did not match
the cached value we assumed, we could have detected it and passed a
custom errno through to here. It would be nice to RSET and retry right
/* If we were early-pipelinng and the actual EHLO response did not match
the cached value we assumed, we could have detected it and passed a
custom errno through to here. It would be nice to RSET and retry right
diff --git
a/src/src/transports/smtp.h
b/src/src/transports/smtp.h
index ac5620971f8223f4239c32af1c0fc948ba6bce12..8ea844b385328b128b32683e70306dd83368de97 100644
(file)
--- a/
src/src/transports/smtp.h
+++ b/
src/src/transports/smtp.h
@@
-46,7
+46,7
@@
typedef struct {
uschar *hosts_avoid_tls;
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
uschar *hosts_avoid_tls;
uschar *hosts_verify_avoid_tls;
uschar *hosts_avoid_pipelining;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
uschar *hosts_pipe_connect;
#endif
uschar *hosts_avoid_esmtp;
uschar *hosts_pipe_connect;
#endif
uschar *hosts_avoid_esmtp;
@@
-121,7
+121,7
@@
typedef struct {
BOOL smtps:1;
BOOL ok:1;
BOOL setting_up:1;
BOOL smtps:1;
BOOL ok:1;
BOOL setting_up:1;
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL early_pipe_ok:1;
BOOL early_pipe_active:1;
#endif
BOOL early_pipe_ok:1;
BOOL early_pipe_active:1;
#endif
@@
-138,7
+138,7
@@
typedef struct {
#if !defined(DISABLE_TLS) && defined(SUPPORT_DANE)
BOOL dane_required:1;
#endif
#if !defined(DISABLE_TLS) && defined(SUPPORT_DANE)
BOOL dane_required:1;
#endif
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
BOOL pending_BANNER:1;
BOOL pending_EHLO:1;
#endif
BOOL pending_BANNER:1;
BOOL pending_EHLO:1;
#endif
@@
-160,7
+160,7
@@
typedef struct {
uschar * smtp_greeting;
uschar * helo_response;
#endif
uschar * smtp_greeting;
uschar * helo_response;
#endif
-#if
def SUPPORT
_PIPE_CONNECT
+#if
ndef DISABLE
_PIPE_CONNECT
ehlo_resp_precis ehlo_resp;
#endif
ehlo_resp_precis ehlo_resp;
#endif