aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES5
-rw-r--r--RELEASE-NOTES3
-rw-r--r--configure.ac16
-rw-r--r--lib/ftp.c8
-rw-r--r--lib/socks.c4
-rw-r--r--lib/url.c13
6 files changed, 41 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 81453482e..c202ed2e2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
Changelog
+Daniel Stenberg (29 Sep 2008)
+- Daniel Egger provided a patch that allows you to disable proxy support in
+ libcurl to somewhat reduce the size of the binary. Run configure
+ --disable-proxy.
+
Daniel Fandrich (29 Sep 2008)
- Moved all signal-based name resolution timeout handling into a single new
Curl_resolv_timeout function to reduce coupling.
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 7a71b6824..bbf950931 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -13,6 +13,7 @@ This release includes the following changes:
o Added CURLOPT_CERTINFO and CURLINFO_CERTINFO
o Added CURLOPT_POSTREDIR
o Better detect HTTP 1.0 servers and don't do HTTP 1.1 requests on them
+ o configure --disable-proxy disables proxy
This release includes the following bugfixes:
@@ -45,6 +46,6 @@ advice from friends like these:
Keith Mok, Yang Tse, Daniel Fandrich, Guenter Knauf, Dmitriy Sergeyev,
Linus Nielsen Feltzing, Martin Drasar, Stefan Krause, Dmitry Kurochkin,
Mike Revi, Andres Garcia, Michael Goffioul, Markus Moeller, Rob Crittenden,
- Jamie Lokier, Emanuele Bovisio, Maxim Ivanov, Ian Lynagh
+ Jamie Lokier, Emanuele Bovisio, Maxim Ivanov, Ian Lynagh, Daniel Egger
Thanks! (and sorry if I forgot to mention someone)
diff --git a/configure.ac b/configure.ac
index 9f724cef7..6e7bbff26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -509,6 +509,22 @@ AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
AC_SUBST(CURL_DISABLE_LDAPS, [1])
)
+AC_MSG_CHECKING([whether to support proxiesy])
+AC_ARG_ENABLE(proxy,
+AC_HELP_STRING([--enable-proxy],[Enable proxy support])
+AC_HELP_STRING([--disable-proxy],[Disable proxy support]),
+[ case "$enableval" in
+ no)
+ AC_MSG_RESULT(no)
+ AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies])
+ AC_SUBST(CURL_DISABLE_PROXY, [1])
+ ;;
+ *) AC_MSG_RESULT(yes)
+ ;;
+ esac ],
+ AC_MSG_RESULT(yes)
+)
+
AC_MSG_CHECKING([whether to support dict])
AC_ARG_ENABLE(dict,
AC_HELP_STRING([--enable-dict],[Enable DICT support])
diff --git a/lib/ftp.c b/lib/ftp.c
index 7f1e51205..1ec4091cb 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1876,14 +1876,12 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
ftp_pasv_verbose(conn, conninfo, newhost, connectport);
switch(data->set.proxytype) {
+#ifndef CURL_DISABLE_PROXY
case CURLPROXY_SOCKS5:
case CURLPROXY_SOCKS5_HOSTNAME:
result = Curl_SOCKS5(conn->proxyuser, conn->proxypasswd, newhost, newport,
SECONDARYSOCKET, conn);
break;
- case CURLPROXY_HTTP:
- /* do nothing here. handled later. */
- break;
case CURLPROXY_SOCKS4:
result = Curl_SOCKS4(conn->proxyuser, newhost, newport,
SECONDARYSOCKET, conn, FALSE);
@@ -1892,6 +1890,10 @@ 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:
+ /* do nothing here. handled later. */
+ break;
default:
failf(data, "unknown proxytype option given");
result = CURLE_COULDNT_CONNECT;
diff --git a/lib/socks.c b/lib/socks.c
index 9bbb0a7f4..693573209 100644
--- a/lib/socks.c
+++ b/lib/socks.c
@@ -23,6 +23,7 @@
#include "setup.h"
+#ifndef CURL_DISABLE_PROXY
#include <string.h>
#ifdef NEED_MALLOC_H
@@ -686,3 +687,6 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
Curl_nonblock(sock, TRUE);
return CURLE_OK; /* Proxy was successful! */
}
+
+#endif /* CURL_DISABLE_PROXY */
+
diff --git a/lib/url.c b/lib/url.c
index df3e3cafc..51bfbf6a7 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -2666,17 +2666,14 @@ static CURLcode ConnectPlease(struct SessionHandle *data,
result = Curl_store_ip_addr(conn);
if(CURLE_OK == result) {
-
switch(data->set.proxytype) {
+#ifndef CURL_DISABLE_PROXY
case CURLPROXY_SOCKS5:
case CURLPROXY_SOCKS5_HOSTNAME:
result = Curl_SOCKS5(conn->proxyuser, conn->proxypasswd,
conn->host.name, conn->remote_port,
FIRSTSOCKET, conn);
break;
- case CURLPROXY_HTTP:
- /* do nothing here. handled later. */
- break;
case CURLPROXY_SOCKS4:
result = Curl_SOCKS4(conn->proxyuser, conn->host.name,
conn->remote_port, FIRSTSOCKET, conn, FALSE);
@@ -2685,6 +2682,10 @@ static CURLcode ConnectPlease(struct SessionHandle *data,
result = Curl_SOCKS4(conn->proxyuser, conn->host.name,
conn->remote_port, FIRSTSOCKET, conn, TRUE);
break;
+#endif /* CURL_DISABLE_PROXY */
+ case CURLPROXY_HTTP:
+ /* do nothing here. handled later. */
+ break;
default:
failf(data, "unknown proxytype option given");
result = CURLE_COULDNT_CONNECT;
@@ -3237,6 +3238,7 @@ static CURLcode setup_connection_internals(struct SessionHandle *data,
return CURLE_UNSUPPORTED_PROTOCOL;
}
+#ifndef CURL_DISABLE_PROXY
/****************************************************************
* Detect what (if any) proxy to use. Remember that this selects a host
* name and is not limited to HTTP proxies only.
@@ -3513,6 +3515,7 @@ static CURLcode parse_proxy_auth(struct SessionHandle *data,
return CURLE_OK;
}
+#endif /* CURL_DISABLE_PROXY */
/*
*
@@ -4040,6 +4043,7 @@ static CURLcode create_conn(struct SessionHandle *data,
return result;
}
+#ifndef CURL_DISABLE_PROXY
/*************************************************************
* Extract the user and password from the authentication string
*************************************************************/
@@ -4068,6 +4072,7 @@ static CURLcode create_conn(struct SessionHandle *data,
proxy = NULL;
}
/* proxy must be freed later unless NULL */
+#endif /* CURL_DISABLE_PROXY */
/*************************************************************
* No protocol part in URL was used, add it!