remove the --auto-proxy option from openvpn
PATCH 1/1 remove the --auto-proxy option from openvpn
During discussion on FOSDEM 2012 it was decided that proxy auto detection is best done in the GUI as it's highly platform specific and shouldn't be handled in openvpn itself for every supported platform in openvpn itself.
This removes --auto-proxy from openvpn.
--- init.c | 10 +-- openvpn.8 | 12 --- options.c | 40 +---------- options.h | 4 - proxy.c | 242 +------------------------------------------------------------ proxy.h | 27 +------- socks.c | 15 +---- socks.h | 3 +- 8 files changed, 11 insertions(+), 342 deletions(-)
init.c +4 -6
@@ -492,11 +492,10 @@ init_proxy_dowork (struct context *c)uninit_proxy_dowork (c);#ifdef ENABLE_HTTP_PROXY -if (c->options.ce.http_proxy_options || c->options.auto_proxy_info) +if (c->options.ce.http_proxy_options) {/* Possible HTTP proxy user/pass input */ - c->c1.http_proxy =http_proxy_new (c->options.ce.http_proxy_options, - c->options.auto_proxy_info); + c->c1.http_proxy =http_proxy_new (c->options.ce.http_proxy_options);if (c->c1.http_proxy) { did_http = true;
@@ -506,13 +505,12 @@ init_proxy_dowork (struct context *c)#endif #ifdef ENABLE_SOCKS -if (!did_http && (c->options.ce.socks_proxy_server || c->options.auto_proxy_info)) +if (!did_http && c->options.ce.socks_proxy_server) { c->c1.socks_proxy =socks_proxy_new (c->options.ce.socks_proxy_server, c->options.ce.socks_proxy_port, c->options.ce.socks_proxy_authfile, - c->options.ce.socks_proxy_retry, - c->options.auto_proxy_info); + c->options.ce.socks_proxy_retry);if (c->c1.socks_proxy) { c->c1.socks_proxy_owned = true;
openvpn.8 +0 -12
@@ -482,18 +482,6 @@ as the number of retries of connection attempt (default=infinite). .\"********************************************************* .TP -.B \-\-auto-proxy -Try to sense HTTP or SOCKS proxy settings automatically. -If no settings are present, a direct connection will be attempted. -If both HTTP and SOCKS settings are present, HTTP will be preferred. -If the HTTP proxy server requires a password, it will be queried from -stdin or the management interface. If the underlying OS doesn't support an API for -returning proxy settings, a direct connection will be attempted. -Currently, only Windows clients support this option via the -InternetQueryOption API. -This option exists in OpenVPN 2.1 or higher. -.\"********************************************************* -.TP .B \-\-show-proxy-settings Show sensed HTTP or SOCKS proxy settings. Currently, only Windows clients support this option.
options.c +2 -38
@@ -124,10 +124,6 @@ static const char usage_message[] =" between connection retries (default=%d).\n" "--connect-timeout n : For --proto tcp-client, connection timeout (in seconds).\n" "--connect-retry-max n : Maximum connection attempt retries, default infinite.\n" -#ifdef GENERAL_PROXY_SUPPORT - "--auto-proxy : Try to sense proxy settings (or lack thereof) automatically.\n" - "--show-proxy-settings : Show sensed proxy settings.\n" -#endif #ifdef ENABLE_HTTP_PROXY"--http-proxy s p [up] [auth] : Connect to remote host\n" " through an HTTP proxy at address s and port p.\n"
@@ -2053,8 +2049,8 @@ options_postprocess_verify_ce (const struct options *options, const struct connemsg (M_USAGE ,"--remote MUST be used in TCP Client mode" );#ifdef ENABLE_HTTP_PROXY -if ((ce->http_proxy_options || options->auto_proxy_info) && ce->proto != PROTO_TCPv4_CLIENT) -msg (M_USAGE ,"--http-proxy or --auto-proxy MUST be used in TCP Client mode (i.e. --proto tcp-client)" ); +if ((ce->http_proxy_options) && ce->proto != PROTO_TCPv4_CLIENT) +msg (M_USAGE ,"--http-proxy MUST be used in TCP Client mode (i.e. --proto tcp-client)" );#endif #if defined(ENABLE_HTTP_PROXY ) && defined(ENABLE_SOCKS )
@@ -4890,38 +4886,6 @@ add_option (struct options *options, options->proto_force = proto_force; options->force_connection_list = true; } -#ifdef GENERAL_PROXY_SUPPORT - else if (streq (p[0], "auto-proxy")) - { -char *error =NULL ; - -VERIFY_PERMISSION (OPT_P_GENERAL ); - options->auto_proxy_info =get_proxy_settings (&error, &options->gc); -if (error) -msg (M_WARN ,"PROXY: %s" , error); - } - else if (streq (p[0], "show-proxy-settings")) - { -struct auto_proxy_info *pi; -char *error =NULL ; - -VERIFY_PERMISSION (OPT_P_GENERAL ); - pi =get_proxy_settings (&error, &options->gc); -if (pi) - { -msg (M_INFO |M_NOPREFIX ,"HTTP Server: %s" ,np (pi->http.server)); -msg (M_INFO |M_NOPREFIX ,"HTTP Port: %d" , pi->http.port); -msg (M_INFO |M_NOPREFIX ,"SOCKS Server: %s" ,np (pi->socks.server)); -msg (M_INFO |M_NOPREFIX ,"SOCKS Port: %d" , pi->socks.port); - } -if (error) -msg (msglevel,"Proxy error: %s" , error); -#ifdef WIN32 -show_win_proxy_settings (M_INFO |M_NOPREFIX ); -#endif -openvpn_exit (OPENVPN_EXIT_STATUS_GOOD );/* exit point */ - } -#endif /* GENERAL_PROXY_SUPPORT */ #ifdef ENABLE_HTTP_PROXY else if (streq (p[0], "http-proxy") && p[1]) {
options.h +0 -4
@@ -214,10 +214,6 @@ struct optionsbool force_connection_list;#endif -#ifdef GENERAL_PROXY_SUPPORT -struct auto_proxy_info *auto_proxy_info; -#endif -#if HTTP_PROXY_FALLBACK bool http_proxy_fallback;struct http_proxy_options *http_proxy_override;
proxy.c +2 -240
261 lines not on this page · raw message
proxy.h +1 -26
@@ -28,30 +28,6 @@#include "buffer.h" #include "misc.h" -#ifdef GENERAL_PROXY_SUPPORT - -/* -* Return value for get_proxy_settings to automatically -* determine proxy information. -*/ -struct auto_proxy_info_entry { -char *server; -int port; -}; - -struct auto_proxy_info { -struct auto_proxy_info_entry http; -struct auto_proxy_info_entry socks; -}; - -struct auto_proxy_info *get_proxy_settings (char **err,struct gc_arena *gc); - -#ifdef WIN32 -void show_win_proxy_settings (const int msglevel); -#endif /* WIN32 */ - -#endif /* GENERAL_PROXY_SUPPORT */ -#ifdef ENABLE_HTTP_PROXY /* HTTP CONNECT authentication methods */
@@ -94,8 +70,7 @@ struct http_proxy_info {bool queried_creds; }; -struct http_proxy_info *http_proxy_new (const struct http_proxy_options *o, -struct auto_proxy_info *auto_proxy_info); +struct http_proxy_info *http_proxy_new (const struct http_proxy_options *o);void http_proxy_close (struct http_proxy_info *hp);
socks.c +1 -14
@@ -57,23 +57,10 @@ struct socks_proxy_info * socks_proxy_new (const char *server, int port, const char *authfile, - bool retry, - struct auto_proxy_info *auto_proxy_info) + bool retry) { struct socks_proxy_info *p; -if (auto_proxy_info) - { -if (!server) - { -if (!auto_proxy_info->socks.server) -return NULL ; - - server = auto_proxy_info->socks.server; - port = auto_proxy_info->socks.port; - } - } - ALLOC_OBJ_CLEAR (p, struct socks_proxy_info);ASSERT (server);
socks.h +1 -2
@@ -51,8 +51,7 @@ void socks_adjust_frame_parameters (struct frame *frame, int proto);struct socks_proxy_info *socks_proxy_new (const char *server,int port,const char *authfile, -bool retry, -struct auto_proxy_info *auto_proxy_info); +bool retry);void socks_proxy_close (struct socks_proxy_info *sp);
Signature · 1 line
1.7.5.4
Quoted 7 lines · Heiko Hund
During discussion on FOSDEM 2012 it was decided that proxy auto detection is best done in the GUI as it's highly platform specific and shouldn't be handled in openvpn itself for every supported platform in openvpn itself.
This removes --auto-proxy from openvpn.
Signed-off-by Heiko Hund <[email protected]...>
Quoted 10 lines
--- init.c | 10 +-- openvpn.8 | 12 --- options.c | 40 +---------- options.h | 4 - proxy.c | 242 +------------------------------------------------------------ proxy.h | 27 +------- socks.c | 15 +---- socks.h | 3 +- 8 files changed, 11 insertions(+), 342 deletions(-)
This one has been lingering around for quite some months without any comments. And since no one have NACKed this, I decided to pull it in after Gert and Heiko pinging me about it again.
As the patch is even straightforward, I even dared to give it an explicit ACK too.
commit 8e1975b046dcf821eaf03098677dc5e34cd3a1a5
Author: Heiko Hund <[email protected]...> Date: Sun Feb 5 13:47:09 2012 +0100
remove the --auto-proxy option from openvpn
Signed-off-by: Heiko Hund <[email protected]...>
Acked-by: David Sommerseth <[email protected]...>
Message-Id: [email protected]...
URL: http://article.gmane.org/gmane.network.openvpn.devel/5333
Signed-off-by: David Sommerseth <[email protected]...>kind regards,
David Sommerseth