143 lines
3.1 KiB
C
143 lines
3.1 KiB
C
#ifndef _KDCTRACE_H
|
|
#define _KDCTRACE_H
|
|
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
kdctrace.h
|
|
|
|
Abstract:
|
|
|
|
Include file to contain variables required for event tracing of kerberos
|
|
server
|
|
|
|
Author:
|
|
|
|
07-May-1998 JeePang
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
//
|
|
//
|
|
//
|
|
#include <nt.h>
|
|
#include <ntrtl.h>
|
|
#include <nturtl.h>
|
|
#include <windows.h>
|
|
#include <wtypes.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif // __cplusplus
|
|
|
|
#include <wmistr.h>
|
|
#include <evntrace.h>
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
EXTERN_C unsigned long KdcEventTraceFlag;
|
|
EXTERN_C TRACEHANDLE KdcTraceRegistrationHandle;
|
|
EXTERN_C TRACEHANDLE KdcTraceLoggerHandle;
|
|
|
|
EXTERN_C
|
|
ULONG
|
|
KdcInitializeTrace();
|
|
|
|
// The current limit is 8 MOF fields.
|
|
// Each UNICODE strings needs two MOF fields.
|
|
// The ClientRealm is available and should be added to the AS
|
|
// if the MOF field limit is increased
|
|
|
|
typedef struct _KDC_AS_EVENT_INFO
|
|
{
|
|
EVENT_TRACE_HEADER EventTrace;
|
|
union {
|
|
ULONG KdcOptions;
|
|
MOF_FIELD eventInfo[7];
|
|
};
|
|
} KDC_AS_EVENT_INFO, *PKDC_AS_EVENT_INFO;
|
|
|
|
// SID info is used in audit log, could be added to TGS event
|
|
// if MOF limited increased.
|
|
|
|
typedef struct _KDC_TGS_EVENT_INFO
|
|
{
|
|
EVENT_TRACE_HEADER EventTrace;
|
|
union {
|
|
ULONG KdcOptions;
|
|
MOF_FIELD eventInfo[7];
|
|
};
|
|
|
|
} KDC_TGS_EVENT_INFO, *PKDC_TGS_EVENT_INFO;
|
|
|
|
typedef struct _KDC_CHANGEPASS_INFO
|
|
{
|
|
EVENT_TRACE_HEADER EventTrace;
|
|
MOF_FIELD MofData[7];
|
|
} KDC_CHANGEPASS_INFO, *PKDC_CHANGEPASSINFO;
|
|
|
|
#define KDC_TRACE_VERSION 1
|
|
|
|
// be careful with INSERT_ULONG_INTO_MOF; it evaluates its arguments more than once
|
|
#define INSERT_ULONG_INTO_MOF( x, MOF, Start ) \
|
|
(MOF)[(Start)].DataPtr = (ULONGLONG)&(x); \
|
|
(MOF)[(Start)].Length = sizeof(ULONG);
|
|
|
|
// be careful with INSERT_UNICODE_STRING_INTO_MOF; it evaluates its arguments more than once
|
|
#define INSERT_UNICODE_STRING_INTO_MOF( USTRING, MOF, Start ) \
|
|
(MOF)[(Start)].DataPtr = (ULONGLONG)&((USTRING).Length); \
|
|
(MOF)[(Start)].Length = sizeof ((USTRING).Length); \
|
|
(MOF)[(Start)+1].DataPtr = (ULONGLONG) (USTRING).Buffer; \
|
|
(MOF)[(Start)+1].Length = (USTRING).Length;
|
|
|
|
//
|
|
// This is the control Guid for the group of Guids traced below
|
|
//
|
|
DEFINE_GUID ( /* 24db8964-e6bc-11d1-916a-0000f8045b04 */
|
|
KdcControlGuid,
|
|
0x24db8964,
|
|
0xe6bc,
|
|
0x11d1,
|
|
0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04
|
|
);
|
|
|
|
//
|
|
// This is the Get AS Ticket transaction guid
|
|
//
|
|
DEFINE_GUID ( /* 50af5304-e6bc-11d1-916a-0000f8045b04 */
|
|
KdcGetASTicketGuid,
|
|
0x50af5304,
|
|
0xe6bc,
|
|
0x11d1,
|
|
0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04
|
|
);
|
|
|
|
//
|
|
// This is the Handle TGS Request transaction guid
|
|
//
|
|
DEFINE_GUID ( /* c11cf384-e6bd-11d1-916a-0000f8045b04 */
|
|
KdcHandleTGSRequestGuid,
|
|
0xc11cf384,
|
|
0xe6bd,
|
|
0x11d1,
|
|
0x91, 0x6a, 0x00, 0x00, 0xf8, 0x04, 0x5b, 0x04
|
|
);
|
|
|
|
DEFINE_GUID ( /* a34d7f52-1dd0-434e-88a1-423e2a199946 */
|
|
KdcChangePassGuid,
|
|
0xa34d7f52,
|
|
0x1dd0,
|
|
0x434e,
|
|
0x88, 0xa1, 0x42, 0x3e, 0x2a, 0x19, 0x99, 0x46
|
|
);
|
|
|
|
|
|
#endif /* _KDCTRACE_H */
|