157 lines
3.4 KiB
C
157 lines
3.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1987-1993 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
debug.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
NtLmSsp service debug support
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Ported from Lan Man 2.0
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
21-May-1991 (cliffv)
|
||
|
Ported to NT. Converted to NT style.
|
||
|
09-Apr-1992 JohnRo
|
||
|
Prepare for WCHAR.H (_wcsicmp vs _wcscmpi, etc).
|
||
|
|
||
|
03-Aug-1996 ChandanS
|
||
|
Stolen from net\svcdlls\ntlmssp\debug.h
|
||
|
--*/
|
||
|
|
||
|
//
|
||
|
// init.c will #include this file with DEBUG_ALLOCATE defined.
|
||
|
// That will cause each of these variables to be allocated.
|
||
|
//
|
||
|
#ifdef DEBUG_ALLOCATE
|
||
|
#undef EXTERN
|
||
|
#define EXTERN
|
||
|
#else
|
||
|
#define EXTERN extern
|
||
|
#endif
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Debug Definititions
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#define SSP_INIT 0x00000001 // Initialization
|
||
|
#define SSP_MISC 0x00000002 // Misc debug
|
||
|
#define SSP_API 0x00000004 // API processing
|
||
|
#define SSP_LPC 0x00000008 // LPC
|
||
|
#define SSP_LOGON_SESS 0x00000010 // tracking logon sessions
|
||
|
#define SSP_CRITICAL 0x00000100 // Only real important errors
|
||
|
#define SSP_LEAK_TRACK 0x00000200 // calling PID etc
|
||
|
#define SSP_WARNING 0x00000400 // not fatal warnings of interest to developer
|
||
|
#define SSP_UPDATES 0x00000800 // updates to globals, passwords, etc.
|
||
|
|
||
|
|
||
|
#define SSP_SESSION_KEYS 0x00001000 // keying material
|
||
|
#define SSP_NEGOTIATE_FLAGS 0x00002000 // negotiate flags.
|
||
|
#define SSP_CRED 0x00004000 // tracking credentials
|
||
|
#define SSP_VERSION 0x00008000 // tracking versioning
|
||
|
|
||
|
//
|
||
|
// Very verbose bits
|
||
|
//
|
||
|
|
||
|
#define SSP_NTLM_V2 0x01000000 // verbose NTLMv2 info
|
||
|
#define SSP_API_MORE 0x04000000 // verbose API
|
||
|
#define SSP_LPC_MORE 0x08000000 // verbose LPC
|
||
|
|
||
|
//
|
||
|
// Control bits.
|
||
|
//
|
||
|
|
||
|
#define SSP_NO_LOCAL 0x10000000 // Force client to use OEM character set
|
||
|
#define SSP_TIMESTAMP 0x20000000 // TimeStamp each output line
|
||
|
#define SSP_REQUEST_TARGET 0x40000000 // Force client to ask for target name
|
||
|
#define SSP_USE_OEM 0x80000000 // Force client to use OEM character set
|
||
|
|
||
|
|
||
|
//
|
||
|
// Name and directory of log file
|
||
|
//
|
||
|
|
||
|
#define DEBUG_DIR L"\\debug"
|
||
|
#define DEBUG_FILE L"\\ntlmssp.log"
|
||
|
#define DEBUG_BAK_FILE L"\\ntlmssp.bak"
|
||
|
|
||
|
#if DBG
|
||
|
|
||
|
EXTERN DWORD SspGlobalDbflag;
|
||
|
|
||
|
#define IF_DEBUG(Function) \
|
||
|
if (SspGlobalDbflag & SSP_ ## Function)
|
||
|
|
||
|
#define SspPrint(_x_) SspPrintRoutine _x_
|
||
|
|
||
|
VOID
|
||
|
SspPrintRoutine(
|
||
|
IN DWORD DebugFlag,
|
||
|
IN LPSTR FORMATSTRING, // PRINTF()-STYLE FORMAT STRING.
|
||
|
... // OTHER ARGUMENTS ARE POSSIBLE.
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SspDumpHexData(
|
||
|
IN DWORD DebugFlag,
|
||
|
IN LPDWORD Buffer,
|
||
|
IN DWORD BufferSize
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SspDumpSid(
|
||
|
IN DWORD DebugFlag,
|
||
|
IN PSID Sid
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SspDumpBuffer(
|
||
|
IN DWORD DebugFlag,
|
||
|
IN PVOID Buffer,
|
||
|
IN DWORD BufferSize
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SspOpenDebugFile(
|
||
|
IN BOOL ReopenFlag
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Debug log file
|
||
|
//
|
||
|
|
||
|
EXTERN HANDLE SspGlobalLogFile;
|
||
|
#define DEFAULT_MAXIMUM_LOGFILE_SIZE 20000000
|
||
|
EXTERN DWORD SspGlobalLogFileMaxSize;
|
||
|
|
||
|
//
|
||
|
// To serialize access to log file.
|
||
|
//
|
||
|
|
||
|
EXTERN CRITICAL_SECTION SspGlobalLogFileCritSect;
|
||
|
EXTERN LPWSTR SspGlobalDebugSharePath;
|
||
|
|
||
|
#else
|
||
|
|
||
|
#define IF_DEBUG(Function) if (FALSE)
|
||
|
|
||
|
// Nondebug version.
|
||
|
#define SspDumpHexData /* no output; ignore arguments */
|
||
|
#define SspDumpBuffer
|
||
|
#define SspDumpSid
|
||
|
#define SspPrint(_x_)
|
||
|
|
||
|
#endif // DBG
|
||
|
|
||
|
#undef EXTERN
|