From 73c5f24fa40460f41d6cd9114827383edc57e287 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 11 Jun 2003 13:38:55 +0000 Subject: Initial take at NTLM authentication. It doesn't really work at this point but the infrastructure is there. --- lib/urldata.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'lib/urldata.h') diff --git a/lib/urldata.h b/lib/urldata.h index 459c5c468..4a2e97f06 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -164,6 +164,20 @@ struct digestdata { int algo; }; +typedef enum { + NTLMSTATE_NONE, + NTLMSTATE_TYPE1, + NTLMSTATE_TYPE2, + NTLMSTATE_TYPE3, + NTLMSTATE_LAST +} curlntlm; + +/* Struct used for Digest challenge-response authentication */ +struct ntlmdata { + curlntlm state; + unsigned char nonce[8]; +}; + #ifdef GSSAPI struct negotiatedata { OM_uint32 status; @@ -640,6 +654,7 @@ struct UrlState { is always set TRUE when curl_easy_perform() is called. */ struct digestdata digest; + struct ntlmdata ntlm; #ifdef GSSAPI struct negotiatedata negotiate; @@ -688,8 +703,9 @@ struct UserDefined { char *set_proxy; /* proxy to use */ long use_port; /* which port to use (when not using default) */ char *userpwd; /* , if used */ - bool httpdigest; /* if HTTP Digest is enabled */ + bool httpdigest; /* if HTTP Digest authentication is enabled */ bool httpnegotiate; /* if HTTP Negotiate authentication is enabled */ + bool httpntlm; /* if HTTP NTLM authentication is enabled */ char *set_range; /* range, if used. See README for detailed specification on this syntax. */ long followlocation; /* as in HTTP Location: */ -- cgit v1.2.3