OpenVPN
|
Go to the source code of this file.
Data Structures | |
struct | http_custom_header |
struct | http_proxy_options |
struct | http_proxy_options_simple |
struct | http_proxy_info |
Macros | |
#define | HTTP_AUTH_NONE 0 |
#define | HTTP_AUTH_BASIC 1 |
#define | HTTP_AUTH_DIGEST 2 |
#define | HTTP_AUTH_NTLM2 4 |
#define | HTTP_AUTH_N 5 /* number of HTTP_AUTH methods */ |
#define | MAX_CUSTOM_HTTP_HEADER 10 |
#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 */ |
Functions | |
struct http_proxy_options * | init_http_proxy_options_once (struct http_proxy_options **hpo, struct gc_arena *gc) |
struct http_proxy_info * | http_proxy_new (const struct http_proxy_options *o) |
void | http_proxy_close (struct http_proxy_info *hp) |
bool | establish_http_proxy_passthru (struct http_proxy_info *p, socket_descriptor_t sd, const char *host, const char *port, struct event_timeout *server_poll_timeout, struct buffer *lookahead, struct signal_info *sig_info) |
uint8_t * | make_base64_string2 (const uint8_t *str, int str_len, struct gc_arena *gc) |
uint8_t * | make_base64_string (const uint8_t *str, struct gc_arena *gc) |
#define PAR_NCT 2 /* disable cleartext proxy auth protocols */ |
bool establish_http_proxy_passthru | ( | struct http_proxy_info * | p, |
socket_descriptor_t | sd, | ||
const char * | host, | ||
const char * | port, | ||
struct event_timeout * | server_poll_timeout, | ||
struct buffer * | lookahead, | ||
struct signal_info * | sig_info | ||
) |
Definition at line 642 of file proxy.c.
References add_proxy_headers(), ASSERT, http_proxy_info::auth_method, http_proxy_options::auth_retry, BLEN, BPTR, chomp(), CLEAR, clear_user_pass_http(), D_LINK_ERRORS, D_PROXY, D_SHOW_KEYS, DigestCalcHA1(), DigestCalcResponse(), dmsg, format_hex(), gc_free(), gc_malloc(), gc_new(), get_pa_var(), get_proxy_authenticate(), get_server_poll_remaining_time(), get_user_pass_http(), HTTP_AUTH_BASIC, HTTP_AUTH_DIGEST, HTTP_AUTH_NONE, HTTP_AUTH_NTLM2, http_proxy_options::http_version, M_INFO, make_base64_string2(), msg, user_pass::nocache, ntlm_phase_1(), ntlm_phase_3(), http_proxy_info::options, PAR_NCT, user_pass::password, http_proxy_info::proxy_authenticate, http_proxy_info::queried_creds, rand_bytes(), recv_line(), register_signal(), send_crlf(), send_line_crlf(), http-client::session_key, signal_info::signal_received, status, store_proxy_authenticate(), http_proxy_info::up, user_pass::username, and username_password_as_base64().
Referenced by phase2_tcp_client().
void http_proxy_close | ( | struct http_proxy_info * | hp | ) |
Definition at line 565 of file proxy.c.
Referenced by uninit_proxy_dowork().
struct http_proxy_info* http_proxy_new | ( | const struct http_proxy_options * | o | ) |
Definition at line 501 of file proxy.c.
References ALLOC_OBJ_CLEAR, ASSERT, http_proxy_info::auth_method, http_proxy_options::auth_method_string, http_proxy_info::defined, http_proxy_options::first_time, get_user_pass_http(), HTTP_AUTH_BASIC, HTTP_AUTH_NONE, HTTP_AUTH_NTLM2, M_FATAL, M_WARN, msg, http_proxy_info::options, PACKAGE_NAME, http_proxy_options::port, and http_proxy_options::server.
Referenced by init_proxy_dowork().
struct http_proxy_options* init_http_proxy_options_once | ( | struct http_proxy_options ** | hpo, |
struct gc_arena * | gc | ||
) |
Definition at line 46 of file proxy.c.
References ALLOC_OBJ_CLEAR_GC.
Referenced by add_option(), and management_callback_proxy_cmd().
uint8_t* make_base64_string | ( | const uint8_t * | str, |
struct gc_arena * | gc | ||
) |
Definition at line 238 of file proxy.c.
References make_base64_string2().
Referenced by username_password_as_base64().
uint8_t* make_base64_string2 | ( | const uint8_t * | str, |
int | str_len, | ||
struct gc_arena * | gc | ||
) |
Definition at line 227 of file proxy.c.
References ASSERT, openvpn_base64_encode(), and string_alloc().
Referenced by establish_http_proxy_passthru(), make_base64_string(), and ntlm_phase_3().