Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
2.1 KiB

/*++
Copyright (c) 1993 Microsoft Corporation
Module Name:
context.h
Abstract:
SSP Context.
Author:
Cliff Van Dyke (CliffV) 17-Sep-1993
Revision History:
--*/
#ifndef _NTLMSSP_CONTEXT_INCLUDED_
#define _NTLMSSP_CONTEXT_INCLUDED_
typedef enum _SSPC_CONTEXT_STATE_ {
ClntIdleState,
ClntNegotiateSentState, // Outbound context only
ClntChallengeSentState, // Inbound context only
ClntAuthenticateSentState, // Outbound context only
ClntAuthenticatedState // Inbound context only
} SSPC_CONTEXT_STATE;
typedef struct _SSP_CONTEXT {
//
// 'Type' indicates whether this is a server or a client context.
// The value must be either MSNSP_CLIENT_CTXT or MSNSP_SERVER_CTXT
// THIS MUST BE THE 1st FIELD OF MSNSSP_CONTEXT & SSP_CONTEXT
//
MSNSP_CTXT_TYPE Type;
//
// Global list of all Contexts
// (Serialized by SspContextCritSect)
//
LIST_ENTRY Next;
//
// Timeout the context after awhile.
//
TimeStamp StartTime;
DWORD Interval;
//
// Used to prevent this Context from being deleted prematurely.
//
WORD References;
//
// Maintain the Negotiated protocol
//
ULONG NegotiateFlags;
//
// State of the context
//
SSPC_CONTEXT_STATE State;
//
// The challenge passed to the client.
// Only valid when in ChallengeSentState.
//
UCHAR Challenge[MSV1_0_CHALLENGE_LENGTH];
PSSP_CREDENTIAL Credential;
ULONG SendNonce, ReceiveNonce;
struct RC4_KEYSTRUCT SEC_FAR * ReceiveKey;
struct RC4_KEYSTRUCT SEC_FAR * SendKey;
//
// Used to make encryption multi thread safe
//
CRITICAL_SECTION EncryptSection;
} SSP_CONTEXT, *PSSP_CONTEXT;
PSSP_CONTEXT
SspContextReferenceContext(
IN PCtxtHandle ContextHandle,
IN BOOLEAN RemoveContext
);
void
SspContextDereferenceContext(
PSSP_CONTEXT Context
);
PSSP_CONTEXT
SspContextAllocateContext(
);
TimeStamp
SspContextGetTimeStamp(
IN PSSP_CONTEXT Context,
IN BOOLEAN GetExpirationTime
);
#endif // ifndef _NTLMSSP_CONTEXT_INCLUDED_