SOCKS: downgrade from DISABLE_SOCKS to SUPPORT_SOCKS in Local/Makefile
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 8 Dec 2015 16:56:15 +0000 (16:56 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 8 Dec 2015 16:56:15 +0000 (16:56 +0000)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/EDITME
src/src/config.h.defaults
src/src/exim.c
src/src/smtp_out.c
src/src/transports/smtp.c
src/src/transports/smtp.h
src/src/transports/smtp_socks.c

index 677b4ef..73887d4 100644 (file)
@@ -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).
-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
index e78f49c..d57c3db 100644 (file)
@@ -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/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
index 5b17e53..c6d6930 100644 (file)
@@ -392,6 +392,7 @@ EXIM_MONITOR=eximon.bin
 
 # 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
@@ -432,13 +433,6 @@ EXIM_MONITOR=eximon.bin
 
 
 #------------------------------------------------------------------------------
-# 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
 # implemented may still change. Backward compatibility is not guaranteed.
@@ -926,6 +920,14 @@ ZCAT_COMMAND=/usr/bin/zcat
 
 
 #------------------------------------------------------------------------------
+# 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,
 # is included only when requested by setting the following parameter to the
index 9ebb4f8..54b5598 100644 (file)
@@ -45,7 +45,6 @@ it's a default value. */
 #define DISABLE_DKIM
 #define DISABLE_PRDR
 #define DISABLE_OCSP
-#define DISABLE_SOCKS
 #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_SOCKS
 #define SUPPORT_TLS
 #define SUPPORT_TRANSLATE_IP_ADDRESS
 
index a0477fa..e6777a3 100644 (file)
@@ -829,7 +829,7 @@ fprintf(f, "Support for:");
 #ifndef DISABLE_PRDR
   fprintf(f, " PRDR");
 #endif
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
   fprintf(f, " SOCKS");
 #endif
 #ifdef EXPERIMENTAL_SPF
index abc5b80..da4a46f 100644 (file)
@@ -267,7 +267,7 @@ int
 smtp_connect(host_item *host, int host_af, int port, uschar *interface,
   int timeout, transport_instance * tb)
 {
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
 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);
-#ifndef DISABLE_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);
@@ -295,7 +295,7 @@ HDEBUG(D_transport|D_acl|D_v)
 
 /* Create and connect the socket */
 
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
 if (ob->socks_proxy)
   return socks_sock_connect(host, host_af, port, interface, tb, timeout);
 #endif
index fc1439e..30facda 100644 (file)
@@ -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) }
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
  ,{ "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 */
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
  ,NULL                 /* socks_proxy */
 #endif
 #ifdef SUPPORT_TLS
index c77c2c5..07b601a 100644 (file)
@@ -59,7 +59,7 @@ typedef struct {
   BOOL    lmtp_ignore_quota;
   uschar *expand_retry_include_ip_address;
   BOOL    retry_include_ip_address;
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
   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 *);
 
-#ifndef DISABLE_SOCKS
+#ifdef SUPPORT_SOCKS
 extern int     socks_sock_connect(host_item *, int, int, uschar *,
                 transport_instance *, int);
 #endif
index a7d4e10..30eded5 100644 (file)
@@ -10,7 +10,7 @@
 #include "../exim.h"
 #include "smtp.h"
 
-#ifndef DISABLE_SOCKS  /* entire file */
+#ifdef SUPPORT_SOCKS /* entire file */
 
 #ifndef nelem
 # define nelem(arr) (sizeof(arr)/sizeof(*arr))