ntlm.h | ntlm.h | |||
---|---|---|---|---|
/* ntlm.h header file for libntlm -*- c | ||||
-*- | ||||
* | ||||
* This file is part of libntlm. | ||||
* | ||||
* Libntlm is free software; you can redistribute it and/or | ||||
* modify it under the terms of the GNU Lesser General Public | ||||
* License as published by the Free Software Foundation; either | ||||
* version 2.1 of the License, or (at your option) any later version. | ||||
* | ||||
* Libntlm is distributed in the hope that it will be useful, | ||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
* Lesser General Public License for more details. | ||||
* | ||||
* You should have received a copy of the GNU Lesser General Public | ||||
* License along with libntlm; if not, write to the Free Software | ||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | ||||
A | ||||
* | ||||
*/ | ||||
#ifndef _NTLM_H | ||||
#define _NTLM_H | ||||
#ifdef __cplusplus | ||||
extern "C" { | ||||
#if 0 /* keep Emacsens's auto-indent happy */ | ||||
} | ||||
#endif | ||||
#endif | ||||
typedef unsigned short uint16; | typedef unsigned short uint16; | |||
typedef unsigned int uint32; | typedef unsigned int uint32; | |||
typedef unsigned char uint8; | typedef unsigned char uint8; | |||
#define NTLM_VERSION "0.3.0" | ||||
/* | /* | |||
* These structures are byte-order dependant, and should not | * These structures are byte-order dependant, and should not | |||
* be manipulated except by the use of the routines provided | * be manipulated except by the use of the routines provided | |||
*/ | */ | |||
typedef struct | typedef struct | |||
{ | { | |||
uint16 len; | uint16 len; | |||
uint16 maxlen; | uint16 maxlen; | |||
uint32 offset; | uint32 offset; | |||
}tSmbStrHeader; | }tSmbStrHeader; | |||
typedef struct | typedef struct | |||
{ | { | |||
char ident[8]; | char ident[8]; | |||
uint32 msgType; | uint32 msgType; | |||
uint32 flags; | uint32 flags; | |||
tSmbStrHeader user; | tSmbStrHeader user; | |||
tSmbStrHeader domain; | tSmbStrHeader domain; | |||
uint8 buffer[1024]; | uint8 buffer[1024]; | |||
uint32 bufIndex; | uint32 bufIndex; | |||
}tSmbNtlmAuthRequest; | }tSmbNtlmAuthRequest; | |||
typedef struct | typedef struct | |||
{ | { | |||
char ident[8]; | char ident[8]; | |||
uint32 msgType; | uint32 msgType; | |||
tSmbStrHeader uDomain; | tSmbStrHeader uDomain; | |||
uint32 flags; | uint32 flags; | |||
uint8 challengeData[8]; | uint8 challengeData[8]; | |||
uint8 reserved[8]; | uint8 reserved[8]; | |||
tSmbStrHeader emptyString; | tSmbStrHeader emptyString; | |||
uint8 buffer[1024]; | uint8 buffer[1024]; | |||
uint32 bufIndex; | uint32 bufIndex; | |||
}tSmbNtlmAuthChallenge; | }tSmbNtlmAuthChallenge; | |||
typedef struct | typedef struct | |||
{ | { | |||
char ident[8]; | char ident[8]; | |||
uint32 msgType; | uint32 msgType; | |||
tSmbStrHeader lmResponse; | tSmbStrHeader lmResponse; | |||
tSmbStrHeader ntResponse; | tSmbStrHeader ntResponse; | |||
tSmbStrHeader uDomain; | tSmbStrHeader uDomain; | |||
tSmbStrHeader uUser; | tSmbStrHeader uUser; | |||
tSmbStrHeader uWks; | tSmbStrHeader uWks; | |||
tSmbStrHeader sessionKey; | tSmbStrHeader sessionKey; | |||
uint32 flags; | uint32 flags; | |||
uint8 buffer[1024]; | uint8 buffer[1024]; | |||
uint32 bufIndex; | uint32 bufIndex; | |||
}tSmbNtlmAuthResponse; | }tSmbNtlmAuthResponse; | |||
/* public: */ | /* public: */ | |||
#define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex) | #define SmbLength(ptr) (((ptr)->buffer - (uint8*)(ptr)) + (ptr)->bufIndex) | |||
extern void dumpSmbNtlmAuthRequest(FILE *fp, tSmbNtlmAuthRequest *request); | extern void dumpSmbNtlmAuthRequest(FILE *fp, tSmbNtlmAuthRequest *request); | |||
extern void dumpSmbNtlmAuthChallenge(FILE *fp, tSmbNtlmAuthChallenge *chall enge); | extern void dumpSmbNtlmAuthChallenge(FILE *fp, tSmbNtlmAuthChallenge *chall enge); | |||
extern void dumpSmbNtlmAuthResponse(FILE *fp, tSmbNtlmAuthResponse *respons e); | extern void dumpSmbNtlmAuthResponse(FILE *fp, tSmbNtlmAuthResponse *respons e); | |||
extern void buildSmbNtlmAuthRequest(tSmbNtlmAuthRequest *request, char *use r, char *domain); | extern void buildSmbNtlmAuthRequest(tSmbNtlmAuthRequest *request, char *use r, char *domain); | |||
extern void buildSmbNtlmAuthResponse(tSmbNtlmAuthChallenge *challenge, tSmb NtlmAuthResponse *response, char *user, char *password); | extern void buildSmbNtlmAuthResponse(tSmbNtlmAuthChallenge *challenge, tSmb NtlmAuthResponse *response, char *user, char *password); | |||
#ifdef __cplusplus | ||||
} | ||||
#endif | ||||
#endif | ||||
End of changes. 7 change blocks. | ||||
32 lines changed or deleted | 66 lines changed or added | |||