From 0e1430e643fc68bb60072210aeac24f7e9808312 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sun, 30 Sep 2001 15:19:23 +0000 Subject: Initial revision svn path=/trunk/; revision=3510 --- ntlm.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ntlm.h diff --git a/ntlm.h b/ntlm.h new file mode 100644 index 00000000..3f6d206f --- /dev/null +++ b/ntlm.h @@ -0,0 +1,68 @@ +typedef unsigned short uint16; +typedef unsigned int uint32; +typedef unsigned char uint8; + + +/* + * These structures are byte-order dependant, and should not + * be manipulated except by the use of the routines provided + */ + +typedef struct +{ +uint16 len; +uint16 maxlen; +uint32 offset; +}tSmbStrHeader; + +typedef struct +{ +char ident[8]; +uint32 msgType; +uint32 flags; +tSmbStrHeader user; +tSmbStrHeader domain; +uint8 buffer[1024]; +uint32 bufIndex; +}tSmbNtlmAuthRequest; + +typedef struct +{ +char ident[8]; +uint32 msgType; +tSmbStrHeader uDomain; +uint32 flags; +uint8 challengeData[8]; +uint8 reserved[8]; +tSmbStrHeader emptyString; +uint8 buffer[1024]; +uint32 bufIndex; +}tSmbNtlmAuthChallenge; + + +typedef struct +{ +char ident[8]; +uint32 msgType; +tSmbStrHeader lmResponse; +tSmbStrHeader ntResponse; +tSmbStrHeader uDomain; +tSmbStrHeader uUser; +tSmbStrHeader uWks; +tSmbStrHeader sessionKey; +uint32 flags; +uint8 buffer[1024]; +uint32 bufIndex; +}tSmbNtlmAuthResponse; + +/* public: */ + +#define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex) + +extern void dumpSmbNtlmAuthRequest(FILE *fp, tSmbNtlmAuthRequest *request); +extern void dumpSmbNtlmAuthChallenge(FILE *fp, tSmbNtlmAuthChallenge *challenge); +extern void dumpSmbNtlmAuthResponse(FILE *fp, tSmbNtlmAuthResponse *response); + +extern void buildSmbNtlmAuthRequest(tSmbNtlmAuthRequest *request, char *user, char *domain); +extern void buildSmbNtlmAuthResponse(tSmbNtlmAuthChallenge *challenge, tSmbNtlmAuthResponse *response, char *user, char *password); + -- cgit v1.2.3