From 09f4a1c5e5acddeacb605ce2382fd027e6b50393 Mon Sep 17 00:00:00 2001
From: Dan Fandrich <dan@coneharvesters.com>
Date: Fri, 30 Jan 2009 19:29:25 +0000
Subject: [PATCH] Fixed --disable-proxy for FTP and SOCKS. Thanks to Daniel
 Egger for reporting the problem.

---
 CHANGES            | 4 ++++
 lib/ftp.c          | 8 ++++----
 lib/socks_gssapi.c | 4 ++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/CHANGES b/CHANGES
index f1f2f46808..7a82b70e54 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel Fandrich (30 Jan 2009)
+- Fixed --disable-proxy for FTP and SOCKS. Thanks to Daniel Egger for
+  reporting.
+
 Yang Tse (29 Jan 2009)
 - Introduced curl_sspi.c and curl_sspi.h for the implementation of functions
   Curl_sspi_global_init() and Curl_sspi_global_cleanup() which previously were
diff --git a/lib/ftp.c b/lib/ftp.c
index 66933d6734..0723abe7eb 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1901,7 +1901,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
     result = CURLE_COULDNT_CONNECT;
     break;
   }
-#ifndef CURL_DISABLE_HTTP
+#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_PROXY)
   if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
     /* FIX: this MUST wait for a proper connect first if 'connected' is
      * FALSE */
@@ -1927,7 +1927,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
     if(CURLE_OK != result)
       return result;
   }
-#endif   /* CURL_DISABLE_HTTP */
+#endif /* !CURL_DISABLE_HTTP && !CURL_DISABLE_PROXY */
 
   state(conn, FTP_STOP); /* this phase is completed */
 
@@ -3060,7 +3060,7 @@ static CURLcode ftp_connect(struct connectdata *conn,
 
   ftpc->response_time = RESP_TIMEOUT; /* set default response time-out */
 
-#ifndef CURL_DISABLE_HTTP
+#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_PROXY)
   if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
     /* BLOCKING */
     /* We want "seamless" FTP operations through HTTP proxy tunnel */
@@ -3083,7 +3083,7 @@ static CURLcode ftp_connect(struct connectdata *conn,
     if(CURLE_OK != result)
       return result;
   }
-#endif   /* CURL_DISABLE_HTTP */
+#endif /* !CURL_DISABLE_HTTP && !CURL_DISABLE_PROXY */
 
   if(conn->protocol & PROT_FTPS) {
     /* BLOCKING */
diff --git a/lib/socks_gssapi.c b/lib/socks_gssapi.c
index cd9e1a4d32..d948168d43 100644
--- a/lib/socks_gssapi.c
+++ b/lib/socks_gssapi.c
@@ -23,6 +23,8 @@
 
 #include "setup.h"
 
+#ifndef CURL_DISABLE_PROXY
+
 #ifdef HAVE_GSSAPI
 #ifdef HAVE_OLD_GSSMIT
 #define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
@@ -545,3 +547,5 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
   return CURLE_OK;
 }
 #endif
+
+#endif /* CURL_DISABLE_PROXY */
-- 
GitLab