From 8321a367ee1da094147384a6619334221f5d014c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 5 Apr 2011 13:55:11 +0200 Subject: [PATCH] FTP+proxy: macrofied functions when proxy disabled In my attempts to reduce #ifdefs in code, the SOCKS functions are now macros when libcurl is built without proxy support and therefore the FTP code could avoid some #ifs. --- lib/ftp.c | 4 ---- lib/socks.h | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/ftp.c b/lib/ftp.c index 8dfdc1dc7b8eda..6a6a6de69fb383 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -1719,7 +1719,6 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, ftp_pasv_verbose(conn, conninfo, newhost, connectport); switch(data->set.proxytype) { -#ifndef CURL_DISABLE_PROXY /* FIX: this MUST wait for a proper connect first if 'connected' is * FALSE */ case CURLPROXY_SOCKS5: @@ -1735,7 +1734,6 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, result = Curl_SOCKS4(conn->proxyuser, newhost, newport, SECONDARYSOCKET, conn, TRUE); break; -#endif /* CURL_DISABLE_PROXY */ case CURLPROXY_HTTP: case CURLPROXY_HTTP_1_0: /* do nothing here. handled later. */ @@ -2924,7 +2922,6 @@ static CURLcode ftp_connect(struct connectdata *conn, pp->endofresp = ftp_endofresp; pp->conn = conn; -#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_PROXY) if(conn->bits.tunnel_proxy && conn->bits.httpproxy) { /* for FTP over HTTP proxy */ struct HTTP http_proxy; @@ -2951,7 +2948,6 @@ static CURLcode ftp_connect(struct connectdata *conn, if(CURLE_OK != result) return result; } -#endif /* !CURL_DISABLE_HTTP && !CURL_DISABLE_PROXY */ if(conn->handler->protocol & CURLPROTO_FTPS) { /* BLOCKING */ diff --git a/lib/socks.h b/lib/socks.h index 2bea66bf696ce3..1c686d18107870 100644 --- a/lib/socks.h +++ b/lib/socks.h @@ -1,5 +1,5 @@ -#ifndef __SOCKS_H -#define __SOCKS_H +#ifndef __CURL_SOCKS_H +#define __CURL_SOCKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2009, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -22,6 +22,12 @@ * ***************************************************************************/ +#include "setup.h" + +#ifdef CURL_DISABLE_PROXY +#define Curl_SOCKS4(a,b,c,d,e,f) CURLE_FAILED_INIT +#define Curl_SOCKS5(a,b,c,d,e,f) CURLE_FAILED_INIT +#else /* * Helper read-from-socket functions. Does the same as Curl_read() but it * blocks until all bytes amount of buffersize will be read. No more, no less. @@ -66,4 +72,6 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, struct connectdata *conn); #endif -#endif /* __SOCKS_H */ +#endif /* CURL_DISABLE_PROXY */ + +#endif /* __CURL_SOCKS_H */