Perform HTTP NTLM authentication.
122 if ( !
rsp->challenge ) {
123 DBGC ( http,
"HTTP %p sending NTLM Negotiate\n", http );
129 DBGC ( http,
"HTTP %p has no username for NTLM " 130 "authentication\n", http );
static void netbios_domain_undo(const char *domain, char *username)
Restore NetBIOS [domain]username.
void ntlm_response(struct ntlm_challenge_info *info, struct ntlm_key *key, struct ntlm_nonce *nonce, struct ntlm_lm_response *lm, struct ntlm_nt_response *nt)
Construct NTLM responses.
HTTP response NTLM authorization descriptor.
struct uri * uri
Request URI.
#define EACCES
Permission denied.
struct http_response_auth auth
Authorization descriptor.
struct ntlm_nt_response nt
NT response.
struct http_request request
Request.
size_t len
Authenticate message length.
struct http_response response
Response.
const char * netbios_domain(char **username)
Split NetBIOS [domain]username into separate domain and username fields.
struct http_request_auth auth
Authentication descriptor.
An NTLM verification key.
static struct dynamic_item password
struct http_response_auth_ntlm ntlm
NTLM authorization descriptor.
static const char http_ntlm_workstation[]
Workstation name used for NTLM authentication.
HTTP request NTLM authentication descriptor.
size_t ntlm_authenticate_len(struct ntlm_challenge_info *info, const char *domain, const char *username, const char *workstation)
Calculate NTLM Authenticate message length.
const char * username
Username.
struct http_request_auth_ntlm ntlm
NTLM authentication descriptor.
const char * password
Password.
static struct dynamic_item username
const char * user
User name.
void ntlm_key(const char *domain, const char *username, const char *password, struct ntlm_key *key)
Calculate NTLM verification key.
struct ntlm_lm_response lm
LAN Manager response.
#define NULL
NULL pointer (VOID *)