From: Maxim Karasev mxkrsv@etersoft.ru
--- include/ntsecapi.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+)
diff --git a/include/ntsecapi.h b/include/ntsecapi.h index 2b78156bdfb..992aebf66d2 100644 --- a/include/ntsecapi.h +++ b/include/ntsecapi.h @@ -427,6 +427,54 @@ typedef struct _KERB_TICKET_CACHE_INFO ULONG TicketFlags; } KERB_TICKET_CACHE_INFO, *PKERB_TICKET_CACHE_INFO;
+typedef struct _KERB_TICKET_CACHE_INFO_EX +{ + UNICODE_STRING ClientName; + UNICODE_STRING ClientRealm; + + UNICODE_STRING ServerName; + UNICODE_STRING ServerRealm; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + LARGE_INTEGER RenewTime; + LONG EncryptionType; + ULONG TicketFlags; +} KERB_TICKET_CACHE_INFO_EX, *PKERB_TICKET_CACHE_INFO_EX; + +typedef struct _KERB_TICKET_CACHE_INFO_EX2 +{ + UNICODE_STRING ClientName; + UNICODE_STRING ClientRealm; + UNICODE_STRING ServerName; + UNICODE_STRING ServerRealm; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + LARGE_INTEGER RenewTime; + LONG EncryptionType; + ULONG TicketFlags; + + ULONG SessionKeyType; + ULONG BranchId; +} KERB_TICKET_CACHE_INFO_EX2, *PKERB_TICKET_CACHE_INFO_EX2; + +typedef struct _KERB_TICKET_CACHE_INFO_EX3 +{ + UNICODE_STRING ClientName; + UNICODE_STRING ClientRealm; + UNICODE_STRING ServerName; + UNICODE_STRING ServerRealm; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + LARGE_INTEGER RenewTime; + LONG EncryptionType; + ULONG TicketFlags; + ULONG SessionKeyType; + ULONG BranchId; + + ULONG CacheFlags; + UNICODE_STRING KdcCalled; +} KERB_TICKET_CACHE_INFO_EX3, *PKERB_TICKET_CACHE_INFO_EX3; + typedef struct _KERB_CRYPTO_KEY { LONG KeyType; @@ -474,6 +522,27 @@ typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE KERB_TICKET_CACHE_INFO Tickets[ANYSIZE_ARRAY]; } KERB_QUERY_TKT_CACHE_RESPONSE, *PKERB_QUERY_TKT_CACHE_RESPONSE;
+typedef struct _KERB_QUERY_TKT_CACHE_EX_RESPONSE +{ + KERB_PROTOCOL_MESSAGE_TYPE MessageType; + ULONG CountOfTickets; + KERB_TICKET_CACHE_INFO_EX Tickets[ANYSIZE_ARRAY]; +} KERB_QUERY_TKT_CACHE_EX_RESPONSE, *PKERB_QUERY_TKT_CACHE_EX_RESPONSE; + +typedef struct _KERB_QUERY_TKT_CACHE_EX2_RESPONSE +{ + KERB_PROTOCOL_MESSAGE_TYPE MessageType; + ULONG CountOfTickets; + KERB_TICKET_CACHE_INFO_EX2 Tickets[ANYSIZE_ARRAY]; +} KERB_QUERY_TKT_CACHE_EX2_RESPONSE, *PKERB_QUERY_TKT_CACHE_EX2_RESPONSE; + +typedef struct _KERB_QUERY_TKT_CACHE_EX3_RESPONSE +{ + KERB_PROTOCOL_MESSAGE_TYPE MessageType; + ULONG CountOfTickets; + KERB_TICKET_CACHE_INFO_EX3 Tickets[ANYSIZE_ARRAY]; +} KERB_QUERY_TKT_CACHE_EX3_RESPONSE, *PKERB_QUERY_TKT_CACHE_EX3_RESPONSE; + typedef struct _KERB_RETRIEVE_TKT_REQUEST { KERB_PROTOCOL_MESSAGE_TYPE MessageType;