OpenVPN
|
#include "syshead.h"
#include "common.h"
#include "buffer.h"
#include "misc.h"
#include "socket.h"
#include "fdmisc.h"
#include "proxy.h"
#include "ntlm.h"
#include "base64.h"
#include "crypto.h"
#include "memdbg.h"
Go to the source code of this file.
Macros | |
#define | UINTEGER64 unsigned long long |
#define | UINT64(c) c ## LL |
Functions | |
static void | create_des_keys (const unsigned char *hash, unsigned char *key) |
static void | gen_md4_hash (const uint8_t *data, int data_len, uint8_t *result) |
static void | gen_hmac_md5 (const uint8_t *data, int data_len, const uint8_t *key, int key_len, uint8_t *result) |
static void | gen_timestamp (uint8_t *timestamp) |
static void | gen_nonce (unsigned char *nonce) |
static void | my_strupr (char *str) |
static int | unicodize (char *dst, const char *src) |
static void | add_security_buffer (int sb_offset, void *data, int length, unsigned char *msg_buf, int *msg_bufpos) |
const char * | ntlm_phase_1 (const struct http_proxy_info *p, struct gc_arena *gc) |
const char * | ntlm_phase_3 (const struct http_proxy_info *p, const char *phase_2, struct gc_arena *gc) |
#define UINT64 | ( | c | ) | c ## LL |
Definition at line 54 of file ntlm.c.
Referenced by add_block_dns_filters(), and gen_timestamp().
#define UINTEGER64 unsigned long long |
Definition at line 53 of file ntlm.c.
Referenced by gen_timestamp().
|
static |
Definition at line 161 of file ntlm.c.
Referenced by ntlm_phase_3().
|
static |
|
static |
Definition at line 85 of file ntlm.c.
References hmac_ctx_cleanup(), hmac_ctx_final(), hmac_ctx_free(), hmac_ctx_init(), hmac_ctx_new(), hmac_ctx_update(), and md_kt_get().
Referenced by ntlm_phase_3().
|
static |
Definition at line 74 of file ntlm.c.
References MD4_DIGEST_LENGTH, md_full(), and md_kt_get().
Referenced by ntlm_phase_3().
|
static |
|
static |
Definition at line 99 of file ntlm.c.
References openvpn_time(), UINT64, and UINTEGER64.
Referenced by ntlm_phase_3().
|
static |
Definition at line 135 of file ntlm.c.
Referenced by ntlm_phase_3().
const char* ntlm_phase_1 | ( | const struct http_proxy_info * | p, |
struct gc_arena * | gc | ||
) |
Definition at line 175 of file ntlm.c.
References alloc_buf_gc(), BSTR, and buf_printf().
Referenced by establish_http_proxy_passthru().
const char* ntlm_phase_3 | ( | const struct http_proxy_info * | p, |
const char * | phase_2, | ||
struct gc_arena * | gc | ||
) |
Definition at line 192 of file ntlm.c.
References add_security_buffer(), ASSERT, http_proxy_info::auth_method, cipher_des_encrypt_ecb(), CLEAR, create_des_keys(), DES_KEY_LENGTH, flags, gen_hmac_md5(), gen_md4_hash(), gen_nonce(), gen_timestamp(), HTTP_AUTH_NTLM2, buffer::len, M_INFO, make_base64_string2(), MD4_DIGEST_LENGTH, MD5_DIGEST_LENGTH, msg, my_strupr(), openvpn_base64_decode(), user_pass::password, unicodize(), http_proxy_info::up, and user_pass::username.
Referenced by establish_http_proxy_passthru().
|
static |
Definition at line 147 of file ntlm.c.
Referenced by ntlm_phase_3().