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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/