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.
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:
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)
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])
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);
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;
#include "setup.h"
+#ifndef CURL_DISABLE_PROXY
#include <string.h>
#ifdef NEED_MALLOC_H
Curl_nonblock(sock, TRUE);
return CURLE_OK; /* Proxy was successful! */
}
+
+#endif /* CURL_DISABLE_PROXY */
+
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);
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;
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.
return CURLE_OK;
}
+#endif /* CURL_DISABLE_PROXY */
/*
*
return result;
}
+#ifndef CURL_DISABLE_PROXY
/*************************************************************
* Extract the user and password from the authentication string
*************************************************************/
proxy = NULL;
}
/* proxy must be freed later unless NULL */
+#endif /* CURL_DISABLE_PROXY */
/*************************************************************
* No protocol part in URL was used, add it!