1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
/* header auto-generated by pidl */
#include <stdint.h>
#include "libcli/util/ntstatus.h"
#include "librpc/gen_ndr/netlogon.h"
#include "librpc/gen_ndr/nbt.h"
#ifndef _HEADER_schannel
#define _HEADER_schannel
struct schannel_bind_3 {
const char * domain;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
const char * workstation;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
};
struct schannel_bind_23 {
const char * domain;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
const char * workstation;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
const char * dnsdomain;
const char * dnsworkstation;
};
union schannel_bind_info {
struct schannel_bind_3 info3;/* [case(3)] */
struct schannel_bind_23 info23;/* [case(23)] */
}/* [nodiscriminant] */;
struct schannel_bind {
uint32_t unknown1;
uint32_t bind_type;
union schannel_bind_info u;/* [switch_is(bind_type)] */
}/* [public] */;
struct schannel_bind_ack {
uint32_t unknown1;
uint32_t unknown2;
uint32_t unknown3;
}/* [public] */;
struct netlogon_creds_CredentialState {
uint32_t negotiate_flags;
uint8_t session_key[16];
uint32_t sequence;
struct netr_Credential seed;
struct netr_Credential client;
struct netr_Credential server;
enum netr_SchannelType secure_channel_type;
const char *computer_name;/* [charset(UTF8)] */
const char *account_name;/* [charset(UTF8)] */
struct dom_sid *sid;/* [unique] */
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
enum NL_AUTH_MESSAGE_TYPE
#ifndef USE_UINT_ENUMS
{
NL_NEGOTIATE_REQUEST=0x00000000,
NL_NEGOTIATE_RESPONSE=0x00000001
}
#else
{ __donnot_use_enum_NL_AUTH_MESSAGE_TYPE=0x7FFFFFFF}
#define NL_NEGOTIATE_REQUEST ( 0x00000000 )
#define NL_NEGOTIATE_RESPONSE ( 0x00000001 )
#endif
;
/* bitmap NL_AUTH_MESSAGE_FLAGS */
#define NL_FLAG_OEM_NETBIOS_DOMAIN_NAME ( 0x00000001 )
#define NL_FLAG_OEM_NETBIOS_COMPUTER_NAME ( 0x00000002 )
#define NL_FLAG_UTF8_DNS_DOMAIN_NAME ( 0x00000004 )
#define NL_FLAG_UTF8_DNS_HOST_NAME ( 0x00000008 )
#define NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME ( 0x00000010 )
union NL_AUTH_MESSAGE_BUFFER {
const char * a;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),case(NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */
const char * u;/* [case(NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */
}/* [noprint,nodiscriminant,public] */;
union NL_AUTH_MESSAGE_BUFFER_REPLY {
uint32_t dummy;/* [case(NL_NEGOTIATE_RESPONSE)] */
}/* [noprint,nodiscriminant,public] */;
struct NL_AUTH_MESSAGE {
enum NL_AUTH_MESSAGE_TYPE MessageType;
uint32_t Flags;
union NL_AUTH_MESSAGE_BUFFER oem_netbios_domain;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */
union NL_AUTH_MESSAGE_BUFFER oem_netbios_computer;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_COMPUTER_NAME)] */
union NL_AUTH_MESSAGE_BUFFER utf8_dns_domain;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */
union NL_AUTH_MESSAGE_BUFFER utf8_dns_host;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_HOST_NAME)] */
union NL_AUTH_MESSAGE_BUFFER utf8_netbios_computer;/* [switch_is(Flags&NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME)] */
union NL_AUTH_MESSAGE_BUFFER_REPLY Buffer;/* [switch_is(MessageType&NL_NEGOTIATE_RESPONSE)] */
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
enum NL_SIGNATURE_ALGORITHM
#ifndef USE_UINT_ENUMS
{
NL_SIGN_HMAC_SHA256=0x0013,
NL_SIGN_HMAC_MD5=0x0077
}
#else
{ __donnot_use_enum_NL_SIGNATURE_ALGORITHM=0x7FFFFFFF}
#define NL_SIGN_HMAC_SHA256 ( 0x0013 )
#define NL_SIGN_HMAC_MD5 ( 0x0077 )
#endif
;
enum NL_SEAL_ALGORITHM
#ifndef USE_UINT_ENUMS
{
NL_SEAL_AES128=0x001A,
NL_SEAL_RC4=0x007A,
NL_SEAL_NONE=0xFFFF
}
#else
{ __donnot_use_enum_NL_SEAL_ALGORITHM=0x7FFFFFFF}
#define NL_SEAL_AES128 ( 0x001A )
#define NL_SEAL_RC4 ( 0x007A )
#define NL_SEAL_NONE ( 0xFFFF )
#endif
;
struct NL_AUTH_SIGNATURE {
enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_MD5)] */
enum NL_SEAL_ALGORITHM SealAlgorithm;
uint16_t Pad;
uint16_t Flags;
uint8_t SequenceNumber[8];
uint8_t Checksum[8];
uint8_t Confounder[8];
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
struct NL_AUTH_SHA2_SIGNATURE {
enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_SHA256)] */
enum NL_SEAL_ALGORITHM SealAlgorithm;
uint16_t Pad;
uint16_t Flags;
uint8_t SequenceNumber[8];
uint8_t Checksum[32];
uint8_t Confounder[8];
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
#endif /* _HEADER_schannel */
|