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 (from parent 1:
74f150b
)
SOCKS: downgrade from DISABLE_SOCKS to SUPPORT_SOCKS in Local/Makefile
author
Jeremy Harris
<jgh146exb@wizmail.org>
Tue, 8 Dec 2015 16:56:15 +0000
(16:56 +0000)
committer
Jeremy Harris
<jgh146exb@wizmail.org>
Tue, 8 Dec 2015 16:56:15 +0000
(16:56 +0000)
doc/doc-docbook/spec.xfpt
patch
|
blob
|
history
doc/doc-txt/ChangeLog
patch
|
blob
|
history
src/src/EDITME
patch
|
blob
|
history
src/src/config.h.defaults
patch
|
blob
|
history
src/src/exim.c
patch
|
blob
|
history
src/src/smtp_out.c
patch
|
blob
|
history
src/src/transports/smtp.c
patch
|
blob
|
history
src/src/transports/smtp.h
patch
|
blob
|
history
src/src/transports/smtp_socks.c
patch
|
blob
|
history
diff --git
a/doc/doc-docbook/spec.xfpt
b/doc/doc-docbook/spec.xfpt
index 677b4ef508bdd05d8a54aecec49c927e357d08e2..73887d4e7209236d56c01c2b5ef7e679215a9a59 100644
(file)
--- a/
doc/doc-docbook/spec.xfpt
+++ b/
doc/doc-docbook/spec.xfpt
@@
-38032,7
+38032,8
@@
Proxies may provide a security, availability or load-distribution function.
.cindex SOCKS proxy
Exim has support for sending outbound SMTP via a proxy
using a protocol called SOCKS5 (defined by RFC1928).
.cindex SOCKS proxy
Exim has support for sending outbound SMTP via a proxy
using a protocol called SOCKS5 (defined by RFC1928).
-The support can be removed by defining DISABLE_SOCKS=yes in Local/Makefile.
+The support can be optionally included by defining SUPPORT_SOCKS=yes in
+Local/Makefile.
Use of a proxy is enabled by setting the &%socks_proxy%& on an smtp transport.
The option value is expanded and should then be a list
Use of a proxy is enabled by setting the &%socks_proxy%& on an smtp transport.
The option value is expanded and should then be a list
diff --git
a/doc/doc-txt/ChangeLog
b/doc/doc-txt/ChangeLog
index e78f49cf4ae778e71357e2e3b9cb733b3fbcd513..d57c3db0090e16f1874ad7748c68a7cce9d37c34 100644
(file)
--- a/
doc/doc-txt/ChangeLog
+++ b/
doc/doc-txt/ChangeLog
@@
-112,8
+112,8
@@
JH/21 Bug 1720: Add support for priority groups and weighted-random proxy
JH/22 Bugs 963, 1721: Fix some corner cases in message body canonicalisation
for DKIM processing.
JH/22 Bugs 963, 1721: Fix some corner cases in message body canonicalisation
for DKIM processing.
-JH/23 Move SOCKS5 support from Experimental to mainline
. It can be left out
-
from a build by defining DISABLE
_SOCKS.
+JH/23 Move SOCKS5 support from Experimental to mainline
, enabled for a build
+
by defining SUPPORT
_SOCKS.
Exim version 4.86
Exim version 4.86
diff --git
a/src/src/EDITME
b/src/src/EDITME
index 5b17e53d830ce3788fe1465987a871b0eaf06226..c6d693017dc1386fb5f01f5fd4204f4a21fd78bb 100644
(file)
--- a/
src/src/EDITME
+++ b/
src/src/EDITME
@@
-392,6
+392,7
@@
EXIM_MONITOR=eximon.bin
# WITH_OLD_DEMIME=yes
# WITH_OLD_DEMIME=yes
+#------------------------------------------------------------------------------
# If you're using ClamAV and are backporting fixes to an old version, instead
# of staying current (which is the more usual approach) then you may need to
# use an older API which uses a STREAM command, now deprecated, instead of
# If you're using ClamAV and are backporting fixes to an old version, instead
# of staying current (which is the more usual approach) then you may need to
# use an older API which uses a STREAM command, now deprecated, instead of
@@
-431,13
+432,6
@@
EXIM_MONITOR=eximon.bin
# DISABLE_DNSSEC=yes
# DISABLE_DNSSEC=yes
-#------------------------------------------------------------------------------
-# By default Exim has support for connecting outbound via a SOCK5 proxy.
-# To remove this support uncomment the following line.
-
-# DISABLE_SOCKS=yes
-
-
#------------------------------------------------------------------------------
# Compiling Exim with experimental features. These are documented in
# experimental-spec.txt. "Experimental" means that the way these features are
#------------------------------------------------------------------------------
# Compiling Exim with experimental features. These are documented in
# experimental-spec.txt. "Experimental" means that the way these features are
@@
-925,6
+919,14
@@
ZCAT_COMMAND=/usr/bin/zcat
# GNU/Linux -ldl is also needed.
# GNU/Linux -ldl is also needed.
+#------------------------------------------------------------------------------
+# Proxying.
+# If you may want to use outbound (client-side) proxying, uncomment the SOCKS
+# line below.
+
+# SUPPORT_SOCKS=yes
+
+
#------------------------------------------------------------------------------
# Support for authentication via Radius is also available. The Exim support,
# which is intended for use in conjunction with the SMTP AUTH facilities,
#------------------------------------------------------------------------------
# Support for authentication via Radius is also available. The Exim support,
# which is intended for use in conjunction with the SMTP AUTH facilities,
diff --git
a/src/src/config.h.defaults
b/src/src/config.h.defaults
index 9ebb4f8dea2cb7772a631b1f6b68e32b11f1f6bd..54b5598c943f431cb1f1a9589bdcae49365f3ad3 100644
(file)
--- a/
src/src/config.h.defaults
+++ b/
src/src/config.h.defaults
@@
-45,7
+45,6
@@
it's a default value. */
#define DISABLE_DKIM
#define DISABLE_PRDR
#define DISABLE_OCSP
#define DISABLE_DKIM
#define DISABLE_PRDR
#define DISABLE_OCSP
-#define DISABLE_SOCKS
#define DISABLE_D_OPTION
#define ENABLE_DISABLE_FSYNC
#define DISABLE_D_OPTION
#define ENABLE_DISABLE_FSYNC
@@
-139,6
+138,7
@@
it's a default value. */
#define SUPPORT_MBX
#define SUPPORT_MOVE_FROZEN_MESSAGES
#define SUPPORT_PAM
#define SUPPORT_MBX
#define SUPPORT_MOVE_FROZEN_MESSAGES
#define SUPPORT_PAM
+#define SUPPORT_SOCKS
#define SUPPORT_TLS
#define SUPPORT_TRANSLATE_IP_ADDRESS
#define SUPPORT_TLS
#define SUPPORT_TRANSLATE_IP_ADDRESS
diff --git
a/src/src/exim.c
b/src/src/exim.c
index a0477faa145439f3baad8fcda2e2390b2a4c2d55..e6777a3dbf1adb2936db7344079039f219edadb4 100644
(file)
--- a/
src/src/exim.c
+++ b/
src/src/exim.c
@@
-829,7
+829,7
@@
fprintf(f, "Support for:");
#ifndef DISABLE_PRDR
fprintf(f, " PRDR");
#endif
#ifndef DISABLE_PRDR
fprintf(f, " PRDR");
#endif
-#if
ndef DISABLE
_SOCKS
+#if
def SUPPORT
_SOCKS
fprintf(f, " SOCKS");
#endif
#ifdef EXPERIMENTAL_SPF
fprintf(f, " SOCKS");
#endif
#ifdef EXPERIMENTAL_SPF
diff --git
a/src/src/smtp_out.c
b/src/src/smtp_out.c
index abc5b80feba6429a78a02eb6de5a05c2cd974924..da4a46f512122d3754dab032841b7a83d5c81d75 100644
(file)
--- a/
src/src/smtp_out.c
+++ b/
src/src/smtp_out.c
@@
-267,7
+267,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)
{
-#if
ndef DISABLE
_SOCKS
+#if
def 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
@@
-287,7
+287,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);
-#if
ndef DISABLE
_SOCKS
+#if
def 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);
@@
-295,7
+295,7
@@
HDEBUG(D_transport|D_acl|D_v)
/* Create and connect the socket */
/* Create and connect the socket */
-#if
ndef DISABLE
_SOCKS
+#if
def 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
diff --git
a/src/src/transports/smtp.c
b/src/src/transports/smtp.c
index fc1439e932299bc144e165a8370b172a56ff8363..30facda00e04b5bb8b48f86c874e9803d7dc8f06 100644
(file)
--- a/
src/src/transports/smtp.c
+++ b/
src/src/transports/smtp.c
@@
-159,7
+159,7
@@
optionlist smtp_transport_options[] = {
(void *)offsetof(smtp_transport_options_block, serialize_hosts) },
{ "size_addition", opt_int,
(void *)offsetof(smtp_transport_options_block, size_addition) }
(void *)offsetof(smtp_transport_options_block, serialize_hosts) },
{ "size_addition", opt_int,
(void *)offsetof(smtp_transport_options_block, size_addition) }
-#if
ndef DISABLE
_SOCKS
+#if
def SUPPORT
_SOCKS
,{ "socks_proxy", opt_stringptr,
(void *)offsetof(smtp_transport_options_block, socks_proxy) }
#endif
,{ "socks_proxy", opt_stringptr,
(void *)offsetof(smtp_transport_options_block, socks_proxy) }
#endif
@@
-249,7
+249,7
@@
smtp_transport_options_block smtp_transport_option_defaults = {
FALSE, /* lmtp_ignore_quota */
NULL, /* expand_retry_include_ip_address */
TRUE /* retry_include_ip_address */
FALSE, /* lmtp_ignore_quota */
NULL, /* expand_retry_include_ip_address */
TRUE /* retry_include_ip_address */
-#if
ndef DISABLE
_SOCKS
+#if
def SUPPORT
_SOCKS
,NULL /* socks_proxy */
#endif
#ifdef SUPPORT_TLS
,NULL /* socks_proxy */
#endif
#ifdef SUPPORT_TLS
diff --git
a/src/src/transports/smtp.h
b/src/src/transports/smtp.h
index c77c2c5d951445af3cefe34e3e881267ffa24252..07b601a969f246e37a1a2f21e29fe46403763467 100644
(file)
--- a/
src/src/transports/smtp.h
+++ b/
src/src/transports/smtp.h
@@
-59,7
+59,7
@@
typedef struct {
BOOL lmtp_ignore_quota;
uschar *expand_retry_include_ip_address;
BOOL retry_include_ip_address;
BOOL lmtp_ignore_quota;
uschar *expand_retry_include_ip_address;
BOOL retry_include_ip_address;
-#if
ndef DISABLE
_SOCKS
+#if
def SUPPORT
_SOCKS
uschar *socks_proxy;
#endif
#ifdef SUPPORT_TLS
uschar *socks_proxy;
#endif
#ifdef SUPPORT_TLS
@@
-111,7
+111,7
@@
extern int smtp_auth(uschar *, unsigned, address_item *, host_item *,
extern BOOL smtp_mail_auth_str(uschar *, unsigned,
address_item *, smtp_transport_options_block *);
extern BOOL smtp_mail_auth_str(uschar *, unsigned,
address_item *, smtp_transport_options_block *);
-#if
ndef DISABLE
_SOCKS
+#if
def SUPPORT
_SOCKS
extern int socks_sock_connect(host_item *, int, int, uschar *,
transport_instance *, int);
#endif
extern int socks_sock_connect(host_item *, int, int, uschar *,
transport_instance *, int);
#endif
diff --git
a/src/src/transports/smtp_socks.c
b/src/src/transports/smtp_socks.c
index a7d4e106f6918981ab0385d4ad32c809f274a413..30eded54568dafcf44f681fda403ba214fef7aa4 100644
(file)
--- a/
src/src/transports/smtp_socks.c
+++ b/
src/src/transports/smtp_socks.c
@@
-10,7
+10,7
@@
#include "../exim.h"
#include "smtp.h"
#include "../exim.h"
#include "smtp.h"
-#if
ndef DISABLE_SOCKS
/* entire file */
+#if
def SUPPORT_SOCKS
/* entire file */
#ifndef nelem
# define nelem(arr) (sizeof(arr)/sizeof(*arr))
#ifndef nelem
# define nelem(arr) (sizeof(arr)/sizeof(*arr))