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.
 
 
 
 
 
 

82 lines
2.4 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: context.h
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 8-08-95 RichardW Created
//
//----------------------------------------------------------------------------
#define SSL_CONTEXT_MAGIC 'KlsS'
#define CONTEXT_KEY_SIZE 16
typedef struct _CSystems {
DWORD CipherSpec;
DWORD ClearKeyLen;
DWORD EncryptedKeyLen;
DWORD Bits;
} CSystems, * PCSystems;
typedef struct _SslContext {
DWORD Magic;
PSTR pszName;
DWORD Flags;
DWORD Type;
SslSessionId ServerSessionId;
DWORD ContextAttr;
PSslCredential pCred;
PVOID pCertificate;
DWORD ChallengeLength;
UCHAR Challenge[SSL_MAX_CHALLENGE_LEN];
UCHAR MasterKey[MASTER_KEY_SIZE];
UCHAR KeyArgs[MASTER_KEY_SIZE];
UCHAR ReadKey[CONTEXT_KEY_SIZE];
UCHAR WriteKey[CONTEXT_KEY_SIZE];
DWORD KeySize;
PCSystems pCSystem;
PStateBuffer pReadState;
PStateBuffer pWriteState;
PSslCryptoSystem pSystem;
PCheckSumFunction pCheck;
PCheckSumBuffer pReadBuffer;
PCheckSumBuffer pWriteBuffer;
DWORD ReadCounter;
DWORD WriteCounter;
//
// Next fields are *only* for when the context is deleted, but moved
// to the save list.
//
DWORD ExpiryTime; // Time when this context expires
struct _SslContext *pPrev; // Previous in LRU
struct _SslContext *pNext; // Next in LRU
struct _SslContext *pHashPrev; // Prev in hash list
struct _SslContext *pHashNext; // Next in Hash List
} SslContext, * PSslContext;
#define CONTEXT_FLAG_HELLO 0x00000001
#define CONTEXT_FLAG_OUTBOUND 0x00000002
#define CONTEXT_FLAG_KEY 0x00000004
#define CONTEXT_FLAG_VERIFY 0x00000008
#define CONTEXT_FLAG_BLOCK 0x00000010 // if we negotiated to a block cipher
#define CONTEXT_FLAG_FINISH 0x00000020
PSslContext
SslpValidateContextHandle(
PCtxtHandle phContext);
VOID
SslDeleteContext(
PSslContext pContext);