summaryrefslogtreecommitdiffstats
path: root/proxy.h
diff options
context:
space:
mode:
authorJames Yonan <james@openvpn.net>2010-05-11 19:32:41 +0000
committerJames Yonan <james@openvpn.net>2010-05-11 19:32:41 +0000
commitb27dc04c366c031f4bb349e3235a2b0eb76c821a (patch)
treeecf3f1de1ef0efd4fe0b802e8789988ae42fe271 /proxy.h
parent8db6234db7dd61e9cef60baf1ace39f5575e8fbb (diff)
downloadopenvpn-b27dc04c366c031f4bb349e3235a2b0eb76c821a.tar.gz
openvpn-b27dc04c366c031f4bb349e3235a2b0eb76c821a.tar.xz
openvpn-b27dc04c366c031f4bb349e3235a2b0eb76c821a.zip
Proxy improvements:
Improved the ability of http-auth "auto" flag to dynamically detect the auth method required by the proxy. Added http-auth "auto-nct" flag to reject weak proxy auth methods. Added HTTP proxy digest authentication method. Removed extraneous openvpn_sleep calls from proxy.c. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@5628 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'proxy.h')
-rw-r--r--proxy.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/proxy.h b/proxy.h
index c2afaec..480cda1 100644
--- a/proxy.h
+++ b/proxy.h
@@ -55,18 +55,24 @@ void show_win_proxy_settings (const int msglevel);
#ifdef ENABLE_HTTP_PROXY
/* HTTP CONNECT authentication methods */
-#define HTTP_AUTH_NONE 0
-#define HTTP_AUTH_BASIC 1
-#define HTTP_AUTH_NTLM 2
-#define HTTP_AUTH_N 3
-#define HTTP_AUTH_NTLM2 4
+#define HTTP_AUTH_NONE 0
+#define HTTP_AUTH_BASIC 1
+#define HTTP_AUTH_DIGEST 2
+#define HTTP_AUTH_NTLM 3
+#define HTTP_AUTH_NTLM2 4
+#define HTTP_AUTH_N 5 /* number of HTTP_AUTH methods */
struct http_proxy_options {
const char *server;
int port;
bool retry;
int timeout;
+
+# define PAR_NO 0 /* don't support any auth retries */
+# define PAR_ALL 1 /* allow all proxy auth protocols */
+# define PAR_NCT 2 /* disable cleartext proxy auth protocols */
bool auth_retry;
+
const char *auth_method_string;
const char *auth_file;
const char *http_version;
@@ -78,6 +84,7 @@ struct http_proxy_info {
int auth_method;
struct http_proxy_options options;
struct user_pass up;
+ char *proxy_authenticate;
};
struct http_proxy_info *http_proxy_new (const struct http_proxy_options *o,