2 This file was automatically generated by Pidl
3 from rcg.idl and rcg.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-rcg.h"
22 void proto_register_dcerpc_rcg(void);
23 void proto_reg_handoff_dcerpc_rcg(void);
25 /* Ett declarations */
26 static int ett_dcerpc_rcg
;
27 static int ett_rcg_KERB_ASN1_DATA
;
28 static int ett_rcg_KERB_ASN1_DATA_CHECKSUM
;
29 static int ett_rcg_KERB_RPC_OCTET_STRING
;
30 static int ett_rcg_KERB_RPC_PA_DATA
;
31 static int ett_rcg_KERB_RPC_ENCRYPTION_KEY
;
32 static int ett_rcg_RPC_UNICODE_STRING
;
33 static int ett_rcg_KERB_RPC_INTERNAL_NAME
;
34 static int ett_rcg_SECPKG_SUPPLEMENTAL_CRED
;
35 static int ett_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY
;
36 static int ett_rcg_PSECPKG_SUPPLEMENTAL_CRED_ARRAY
;
37 static int ett_rcg_KERB_RPC_CRYPTO_API_BLOB
;
38 static int ett_rcg_NegotiateVersion
;
39 static int ett_rcg_LARGE_INTEGER
;
40 static int ett_rcg_PLARGE_INTEGER
;
41 static int ett_rcg_BuildAsReqAuthenticatorReq
;
42 static int ett_rcg_BuildAsReqAuthenticatorResp
;
43 static int ett_rcg_VerifyServiceTicketReq
;
44 static int ett_rcg_VerifyServiceTicketResp
;
45 static int ett_rcg_PRPC_UNICODE_STRING
;
46 static int ett_rcg_CreateApReqAuthenticatorReq
;
47 static int ett_rcg_CreateApReqAuthenticatorResp
;
48 static int ett_rcg_DecryptApReplyReq
;
49 static int ett_rcg_DecryptApReplyResp
;
50 static int ett_rcg_UnpackKdcReplyBodyReq
;
51 static int ett_rcg_UnpackKdcReplyBodyResp
;
52 static int ett_rcg_ComputeTgsChecksumReq
;
53 static int ett_rcg_ComputeTgsChecksumResp
;
54 static int ett_rcg_BuildEncryptedAuthDataReq
;
55 static int ett_rcg_BuildEncryptedAuthDataResp
;
56 static int ett_rcg_PackApReplyReq
;
57 static int ett_rcg_PackApReplyResp
;
58 static int ett_rcg_HashS4UPreauthReq
;
59 static int ett_rcg_HashS4UPreauthResp
;
60 static int ett_rcg_SignS4UPreauthDataReq
;
61 static int ett_rcg_SignS4UPreauthDataResp
;
62 static int ett_rcg_VerifyChecksumReq
;
63 static int ett_rcg_VerifyChecksumResp
;
64 static int ett_rcg_DecryptPacCredentialsReq
;
65 static int ett_rcg_DecryptPacCredentialsResp
;
66 static int ett_rcg_CreateECDHKeyAgreementReq
;
67 static int ett_rcg_CreateECDHKeyAgreementResp
;
68 static int ett_rcg_CreateDHKeyAgreementReq
;
69 static int ett_rcg_CreateDHKeyAgreementResp
;
70 static int ett_rcg_DestroyKeyAgreementReq
;
71 static int ett_rcg_DestroyKeyAgreementResp
;
72 static int ett_rcg_KeyAgreementGenerateNonceReq
;
73 static int ett_rcg_KeyAgreementGenerateNonceResp
;
74 static int ett_rcg_FinalizeKeyAgreementReq
;
75 static int ett_rcg_FinalizeKeyAgreementResp
;
76 static int ett_rcg_KerbInputUnion
;
77 static int ett_rcg_KerbCredIsoRemoteInput
;
78 static int ett_rcg_KerbOutputUnion
;
79 static int ett_rcg_KerbCredIsoRemoteOutput
;
80 static int ett_rcg_NT_RESPONSE
;
81 static int ett_rcg_NT_CHALLENGE
;
82 static int ett_rcg_PNT_CHALLENGE
;
83 static int ett_rcg_LM_SESSION_KEY
;
84 static int ett_rcg_MSV1_0_LM3_RESPONSE
;
85 static int ett_rcg_PMSV1_0_LM3_RESPONSE
;
86 static int ett_rcg_USER_SESSION_KEY
;
87 static int ett_rcg_PUSER_SESSION_KEY
;
88 static int ett_rcg_MSV1_0_CREDENTIAL_KEY
;
89 static int ett_rcg_PMSV1_0_CREDENTIAL_KEY
;
90 static int ett_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS
;
91 static int ett_rcg_PMSV1_0_REMOTE_ENCRYPTED_SECRETS
;
92 static int ett_rcg_Lm20GetNtlm3ChallengeResponseReq
;
93 static int ett_rcg_Lm20GetNtlm3ChallengeResponseResp
;
94 static int ett_rcg_CalculateNtResponseReq
;
95 static int ett_rcg_CalculateNtResponseResp
;
96 static int ett_rcg_CalculateUserSessionKeyNtReq
;
97 static int ett_rcg_CalculateUserSessionKeyNtResp
;
98 static int ett_rcg_CompareCredentialsReq
;
99 static int ett_rcg_CompareCredentialsResp
;
100 static int ett_rcg_NtlmCredInput
;
101 static int ett_rcg_NtlmCredIsoRemoteInput
;
102 static int ett_rcg_NtlmCredOutput
;
103 static int ett_rcg_NtlmCredIsoRemoteOutput
;
106 /* Header field declarations */
107 static int hf_KERB_RPC_ENCRYPTION_KEY_reserved1
;
108 static int hf_KERB_RPC_ENCRYPTION_KEY_reserved2
;
109 static int hf_rcg_BuildAsReqAuthenticatorReq_ArmorKey
;
110 static int hf_rcg_BuildAsReqAuthenticatorReq_EncryptionKey
;
111 static int hf_rcg_BuildAsReqAuthenticatorReq_TimeSkew
;
112 static int hf_rcg_BuildAsReqAuthenticatorResp_PreauthData
;
113 static int hf_rcg_BuildAsReqAuthenticatorResp_PreauthDataType
;
114 static int hf_rcg_BuildEncryptedAuthDataReq_Key
;
115 static int hf_rcg_BuildEncryptedAuthDataReq_KeyUsage
;
116 static int hf_rcg_BuildEncryptedAuthDataReq_PlainAuthData
;
117 static int hf_rcg_BuildEncryptedAuthDataResp_EncryptedAuthData
;
118 static int hf_rcg_CalculateNtResponseReq_Credential
;
119 static int hf_rcg_CalculateNtResponseReq_NtChallenge
;
120 static int hf_rcg_CalculateNtResponseResp_NtResponse
;
121 static int hf_rcg_CalculateUserSessionKeyNtReq_Credential
;
122 static int hf_rcg_CalculateUserSessionKeyNtReq_NtResponse
;
123 static int hf_rcg_CalculateUserSessionKeyNtResp_UserSessionKey
;
124 static int hf_rcg_CompareCredentialsReq_LhsCredential
;
125 static int hf_rcg_CompareCredentialsReq_RhsCredential
;
126 static int hf_rcg_CompareCredentialsResp_AreLmOwfsEqual
;
127 static int hf_rcg_CompareCredentialsResp_AreNtOwfsEqual
;
128 static int hf_rcg_CompareCredentialsResp_AreShaOwfsEqual
;
129 static int hf_rcg_ComputeTgsChecksumReq_ChecksumType
;
130 static int hf_rcg_ComputeTgsChecksumReq_Key
;
131 static int hf_rcg_ComputeTgsChecksumReq_RequestBody
;
132 static int hf_rcg_ComputeTgsChecksumResp_Checksum
;
133 static int hf_rcg_CreateApReqAuthenticatorReq_AuthData
;
134 static int hf_rcg_CreateApReqAuthenticatorReq_ClientName
;
135 static int hf_rcg_CreateApReqAuthenticatorReq_ClientRealm
;
136 static int hf_rcg_CreateApReqAuthenticatorReq_EncryptionKey
;
137 static int hf_rcg_CreateApReqAuthenticatorReq_GssChecksum
;
138 static int hf_rcg_CreateApReqAuthenticatorReq_KeyUsage
;
139 static int hf_rcg_CreateApReqAuthenticatorReq_SequenceNumber
;
140 static int hf_rcg_CreateApReqAuthenticatorReq_SkewTime
;
141 static int hf_rcg_CreateApReqAuthenticatorReq_SubKey
;
142 static int hf_rcg_CreateApReqAuthenticatorResp_Authenticator
;
143 static int hf_rcg_CreateApReqAuthenticatorResp_AuthenticatorTime
;
144 static int hf_rcg_CreateApReqAuthenticatorResp_KerbProtocolError
;
145 static int hf_rcg_CreateDHKeyAgreementReq_Ignored
;
146 static int hf_rcg_CreateDHKeyAgreementResp_FactorQ
;
147 static int hf_rcg_CreateDHKeyAgreementResp_GeneratorG
;
148 static int hf_rcg_CreateDHKeyAgreementResp_KerbErr
;
149 static int hf_rcg_CreateDHKeyAgreementResp_KeyAgreementHandle
;
150 static int hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKey
;
151 static int hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen
;
152 static int hf_rcg_CreateDHKeyAgreementResp_ModulusP
;
153 static int hf_rcg_CreateECDHKeyAgreementReq_KeyBitLen
;
154 static int hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKey
;
155 static int hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKeyLen
;
156 static int hf_rcg_CreateECDHKeyAgreementResp_KerbErr
;
157 static int hf_rcg_CreateECDHKeyAgreementResp_KeyAgreementHandle
;
158 static int hf_rcg_DecryptApReplyReq_EncryptedReply
;
159 static int hf_rcg_DecryptApReplyReq_Key
;
160 static int hf_rcg_DecryptApReplyResp_ApReply
;
161 static int hf_rcg_DecryptPacCredentialsReq_Data
;
162 static int hf_rcg_DecryptPacCredentialsReq_DataSize
;
163 static int hf_rcg_DecryptPacCredentialsReq_EncryptionType
;
164 static int hf_rcg_DecryptPacCredentialsReq_Key
;
165 static int hf_rcg_DecryptPacCredentialsReq_Version
;
166 static int hf_rcg_DecryptPacCredentialsResp_Credentials
;
167 static int hf_rcg_DestroyKeyAgreementReq_KeyAgreementHandle
;
168 static int hf_rcg_DestroyKeyAgreementResp_Ignored
;
169 static int hf_rcg_FinalizeKeyAgreementReq_KerbEType
;
170 static int hf_rcg_FinalizeKeyAgreementReq_KeyAgreementHandle
;
171 static int hf_rcg_FinalizeKeyAgreementReq_RemoteNonce
;
172 static int hf_rcg_FinalizeKeyAgreementReq_RemoteNonceLen
;
173 static int hf_rcg_FinalizeKeyAgreementReq_X509PublicKey
;
174 static int hf_rcg_FinalizeKeyAgreementReq_X509PublicKeyLen
;
175 static int hf_rcg_FinalizeKeyAgreementResp_SharedKey
;
176 static int hf_rcg_HashS4UPreauthReq_ChecksumType
;
177 static int hf_rcg_HashS4UPreauthReq_Key
;
178 static int hf_rcg_HashS4UPreauthReq_S4UPreauth
;
179 static int hf_rcg_HashS4UPreauthResp_ChecksumSize
;
180 static int hf_rcg_HashS4UPreauthResp_ChecksumValue
;
181 static int hf_rcg_KERB_ASN1_DATA_Asn1Buffer
;
182 static int hf_rcg_KERB_ASN1_DATA_CHECKSUM_Length
;
183 static int hf_rcg_KERB_ASN1_DATA_CHECKSUM_Pdu
;
184 static int hf_rcg_KERB_ASN1_DATA_CHECKSUM_checksum
;
185 static int hf_rcg_KERB_ASN1_DATA_Length
;
186 static int hf_rcg_KERB_ASN1_DATA_Pdu
;
187 static int hf_rcg_KERB_RPC_CRYPTO_API_BLOB_cbData
;
188 static int hf_rcg_KERB_RPC_CRYPTO_API_BLOB_pbData
;
189 static int hf_rcg_KERB_RPC_ENCRYPTION_KEY_reserved3
;
190 static int hf_rcg_KERB_RPC_INTERNAL_NAME_NameCount
;
191 static int hf_rcg_KERB_RPC_INTERNAL_NAME_NameType
;
192 static int hf_rcg_KERB_RPC_INTERNAL_NAME_Names
;
193 static int hf_rcg_KERB_RPC_OCTET_STRING_length
;
194 static int hf_rcg_KERB_RPC_OCTET_STRING_value
;
195 static int hf_rcg_KERB_RPC_PA_DATA_preauth_data
;
196 static int hf_rcg_KERB_RPC_PA_DATA_preauth_data_type
;
197 static int hf_rcg_KerbCredIsoRemoteInput_CallId
;
198 static int hf_rcg_KerbCredIsoRemoteInput_callUnion
;
199 static int hf_rcg_KerbCredIsoRemoteOutput_CallId
;
200 static int hf_rcg_KerbCredIsoRemoteOutput_Status
;
201 static int hf_rcg_KerbCredIsoRemoteOutput_callUnion
;
202 static int hf_rcg_KerbInputUnion_buildAsReqAuthenticator
;
203 static int hf_rcg_KerbInputUnion_buildEncryptedAuthData
;
204 static int hf_rcg_KerbInputUnion_computeTgsChecksum
;
205 static int hf_rcg_KerbInputUnion_createApReqAuthenticator
;
206 static int hf_rcg_KerbInputUnion_createDHKeyAgreement
;
207 static int hf_rcg_KerbInputUnion_createECDHKeyAgreement
;
208 static int hf_rcg_KerbInputUnion_decryptApReply
;
209 static int hf_rcg_KerbInputUnion_decryptPacCredentials
;
210 static int hf_rcg_KerbInputUnion_destroyKeyAgreement
;
211 static int hf_rcg_KerbInputUnion_finalizeKeyAgreement
;
212 static int hf_rcg_KerbInputUnion_hashS4UPreauth
;
213 static int hf_rcg_KerbInputUnion_keyAgreementGenerateNonce
;
214 static int hf_rcg_KerbInputUnion_negociateVersion
;
215 static int hf_rcg_KerbInputUnion_packApReply
;
216 static int hf_rcg_KerbInputUnion_signS4UPreauthData
;
217 static int hf_rcg_KerbInputUnion_unpackKdcReplyBody
;
218 static int hf_rcg_KerbInputUnion_verifyChecksum
;
219 static int hf_rcg_KerbInputUnion_verifyServiceTicket
;
220 static int hf_rcg_KerbOutputUnion_buildAsReqAuthenticator
;
221 static int hf_rcg_KerbOutputUnion_buildEncryptedAuthData
;
222 static int hf_rcg_KerbOutputUnion_computeTgsChecksum
;
223 static int hf_rcg_KerbOutputUnion_createApReqAuthenticator
;
224 static int hf_rcg_KerbOutputUnion_createDHKeyAgreement
;
225 static int hf_rcg_KerbOutputUnion_createECDHKeyAgreement
;
226 static int hf_rcg_KerbOutputUnion_decryptApReply
;
227 static int hf_rcg_KerbOutputUnion_decryptPacCredentials
;
228 static int hf_rcg_KerbOutputUnion_destroyKeyAgreement
;
229 static int hf_rcg_KerbOutputUnion_finalizeKeyAgreement
;
230 static int hf_rcg_KerbOutputUnion_hashS4UPreauth
;
231 static int hf_rcg_KerbOutputUnion_keyAgreementGenerateNonce
;
232 static int hf_rcg_KerbOutputUnion_negociateVersion
;
233 static int hf_rcg_KerbOutputUnion_packApReply
;
234 static int hf_rcg_KerbOutputUnion_signS4UPreauthData
;
235 static int hf_rcg_KerbOutputUnion_unpackKdcReplyBody
;
236 static int hf_rcg_KerbOutputUnion_verifyChecksum
;
237 static int hf_rcg_KerbOutputUnion_verifyServiceTicket
;
238 static int hf_rcg_KeyAgreementGenerateNonceReq_KeyAgreementHandle
;
239 static int hf_rcg_KeyAgreementGenerateNonceResp_Nonce
;
240 static int hf_rcg_KeyAgreementGenerateNonceResp_NonceLen
;
241 static int hf_rcg_LARGE_INTEGER_QuadPart
;
242 static int hf_rcg_Lm20GetNtlm3ChallengeResponseReq_Credential
;
243 static int hf_rcg_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName
;
244 static int hf_rcg_Lm20GetNtlm3ChallengeResponseReq_ServerName
;
245 static int hf_rcg_Lm20GetNtlm3ChallengeResponseReq_UserName
;
246 static int hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Lm3Response
;
247 static int hf_rcg_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey
;
248 static int hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response
;
249 static int hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength
;
250 static int hf_rcg_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey
;
251 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1
;
252 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2
;
253 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3
;
254 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4
;
255 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5
;
256 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6
;
257 static int hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize
;
258 static int hf_rcg_NegotiateVersion_MaxSupportedVersion
;
259 static int hf_rcg_NtlmCredInput_calculateNtResponse
;
260 static int hf_rcg_NtlmCredInput_calculateUserSessionKeyNt
;
261 static int hf_rcg_NtlmCredInput_compareCredentials
;
262 static int hf_rcg_NtlmCredInput_lm20GetNtlm3ChallengeResponse
;
263 static int hf_rcg_NtlmCredInput_negotiateVersion
;
264 static int hf_rcg_NtlmCredIsoRemoteInput_CallId
;
265 static int hf_rcg_NtlmCredIsoRemoteInput_callUnion
;
266 static int hf_rcg_NtlmCredIsoRemoteOutput_CallId
;
267 static int hf_rcg_NtlmCredIsoRemoteOutput_Status
;
268 static int hf_rcg_NtlmCredIsoRemoteOutput_callUnion
;
269 static int hf_rcg_NtlmCredOutput_calculateNtResponse
;
270 static int hf_rcg_NtlmCredOutput_calculateUserSessionKeyNt
;
271 static int hf_rcg_NtlmCredOutput_compareCredentials
;
272 static int hf_rcg_NtlmCredOutput_lm20GetNtlm3ChallengeResponse
;
273 static int hf_rcg_NtlmCredOutput_negotiateVersion
;
274 static int hf_rcg_PackApReplyReq_Reply
;
275 static int hf_rcg_PackApReplyReq_ReplyBody
;
276 static int hf_rcg_PackApReplyReq_SessionKey
;
277 static int hf_rcg_PackApReplyResp_PackedReply
;
278 static int hf_rcg_PackApReplyResp_PackedReplySize
;
279 static int hf_rcg_RPC_UNICODE_STRING_Buffer
;
280 static int hf_rcg_RPC_UNICODE_STRING_Length
;
281 static int hf_rcg_RPC_UNICODE_STRING_MaximumLength
;
282 static int hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount
;
283 static int hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials
;
284 static int hf_rcg_SECPKG_SUPPLEMENTAL_CRED_CredentialSize
;
285 static int hf_rcg_SECPKG_SUPPLEMENTAL_CRED_Credentials
;
286 static int hf_rcg_SECPKG_SUPPLEMENTAL_CRED_PackageName
;
287 static int hf_rcg_SignS4UPreauthDataReq_ChecksumType
;
288 static int hf_rcg_SignS4UPreauthDataReq_IsRequest
;
289 static int hf_rcg_SignS4UPreauthDataReq_Key
;
290 static int hf_rcg_SignS4UPreauthDataReq_UserId
;
291 static int hf_rcg_SignS4UPreauthDataResp_ChecksumSize
;
292 static int hf_rcg_SignS4UPreauthDataResp_ChecksumType
;
293 static int hf_rcg_SignS4UPreauthDataResp_ChecksumValue
;
294 static int hf_rcg_UnpackKdcReplyBodyReq_EncryptedData
;
295 static int hf_rcg_UnpackKdcReplyBodyReq_Key
;
296 static int hf_rcg_UnpackKdcReplyBodyReq_KeyUsage
;
297 static int hf_rcg_UnpackKdcReplyBodyReq_Pdu
;
298 static int hf_rcg_UnpackKdcReplyBodyReq_StrengthenKey
;
299 static int hf_rcg_UnpackKdcReplyBodyResp_KerbProtocolError
;
300 static int hf_rcg_UnpackKdcReplyBodyResp_ReplyBody
;
301 static int hf_rcg_VerifyChecksumReq_ChecksumType
;
302 static int hf_rcg_VerifyChecksumReq_DataToCheck
;
303 static int hf_rcg_VerifyChecksumReq_DataToCheckSize
;
304 static int hf_rcg_VerifyChecksumReq_ExpectedChecksum
;
305 static int hf_rcg_VerifyChecksumReq_ExpectedChecksumSize
;
306 static int hf_rcg_VerifyChecksumReq_Key
;
307 static int hf_rcg_VerifyChecksumResp_IsValid
;
308 static int hf_rcg_VerifyServiceTicketReq_PackedTicket
;
309 static int hf_rcg_VerifyServiceTicketReq_ServiceKey
;
310 static int hf_rcg_VerifyServiceTicketReq_TimeSkew
;
311 static int hf_rcg_VerifyServiceTicketResp_DecryptedTicket
;
312 static int hf_rcg_VerifyServiceTicketResp_KerbProtocolError
;
313 static int hf_rcg_opnum
;
315 static int proto_dcerpc_rcg
;
316 /* Version information */
319 static e_guid_t uuid_dcerpc_rcg
= {
320 0x00000000, 0x0000, 0x0000,
321 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
323 static uint16_t ver_dcerpc_rcg
= 0;
325 static int rcg_dissect_element_KERB_ASN1_DATA_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
326 static int rcg_dissect_element_KERB_ASN1_DATA_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
327 static int rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
328 static int rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
329 static int rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
330 static int rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
331 static int rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
332 static int rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
333 static int rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
334 static int rcg_dissect_element_KERB_RPC_OCTET_STRING_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
335 static int rcg_dissect_element_KERB_RPC_OCTET_STRING_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
336 static int rcg_dissect_element_KERB_RPC_OCTET_STRING_value_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
337 static int rcg_dissect_element_KERB_RPC_OCTET_STRING_value__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
338 static int rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
339 static int rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
340 static int rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
341 static int rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
342 static int rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved3(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
343 static int rcg_dissect_element_RPC_UNICODE_STRING_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
344 static int rcg_dissect_element_RPC_UNICODE_STRING_MaximumLength(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
345 static int rcg_dissect_element_RPC_UNICODE_STRING_Buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
346 static int rcg_dissect_element_RPC_UNICODE_STRING_Buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
347 static int rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
348 static int rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameCount(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
349 static int rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
350 static int rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
351 static int rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
352 const value_string rcg_RemoteGuardCallId_vals
[] = {
353 { RemoteCallKerbNegotiateVersion
, "RemoteCallKerbNegotiateVersion" },
354 { RemoteCallKerbBuildAsReqAuthenticator
, "RemoteCallKerbBuildAsReqAuthenticator" },
355 { RemoteCallKerbVerifyServiceTicket
, "RemoteCallKerbVerifyServiceTicket" },
356 { RemoteCallKerbCreateApReqAuthenticator
, "RemoteCallKerbCreateApReqAuthenticator" },
357 { RemoteCallKerbDecryptApReply
, "RemoteCallKerbDecryptApReply" },
358 { RemoteCallKerbUnpackKdcReplyBody
, "RemoteCallKerbUnpackKdcReplyBody" },
359 { RemoteCallKerbComputeTgsChecksum
, "RemoteCallKerbComputeTgsChecksum" },
360 { RemoteCallKerbBuildEncryptedAuthData
, "RemoteCallKerbBuildEncryptedAuthData" },
361 { RemoteCallKerbPackApReply
, "RemoteCallKerbPackApReply" },
362 { RemoteCallKerbHashS4UPreauth
, "RemoteCallKerbHashS4UPreauth" },
363 { RemoteCallKerbSignS4UPreauthData
, "RemoteCallKerbSignS4UPreauthData" },
364 { RemoteCallKerbVerifyChecksum
, "RemoteCallKerbVerifyChecksum" },
365 { RemoteCallKerbDecryptPacCredentials
, "RemoteCallKerbDecryptPacCredentials" },
366 { RemoteCallKerbCreateECDHKeyAgreement
, "RemoteCallKerbCreateECDHKeyAgreement" },
367 { RemoteCallKerbCreateDHKeyAgreement
, "RemoteCallKerbCreateDHKeyAgreement" },
368 { RemoteCallKerbDestroyKeyAgreement
, "RemoteCallKerbDestroyKeyAgreement" },
369 { RemoteCallKerbKeyAgreementGenerateNonce
, "RemoteCallKerbKeyAgreementGenerateNonce" },
370 { RemoteCallKerbFinalizeKeyAgreement
, "RemoteCallKerbFinalizeKeyAgreement" },
371 { RemoteCallNtlmNegotiateVersion
, "RemoteCallNtlmNegotiateVersion" },
372 { RemoteCallNtlmLm20GetNtlm3ChallengeResponse
, "RemoteCallNtlmLm20GetNtlm3ChallengeResponse" },
373 { RemoteCallNtlmCalculateNtResponse
, "RemoteCallNtlmCalculateNtResponse" },
374 { RemoteCallNtlmCalculateUserSessionKeyNt
, "RemoteCallNtlmCalculateUserSessionKeyNt" },
375 { RemoteCallNtlmCompareCredentials
, "RemoteCallNtlmCompareCredentials" },
378 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_PackageName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
379 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_CredentialSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
380 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
381 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
382 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
383 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
384 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, struct ndr_generic_array
*nga
);
385 static int rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
386 static int rcg_dissect_conformant_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, struct ndr_generic_array
*nga
);
387 static int rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_cbData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
388 static int rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
389 static int rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
390 static int rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
391 static int rcg_dissect_element_NegotiateVersion_MaxSupportedVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
392 static int rcg_dissect_element_LARGE_INTEGER_QuadPart(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
393 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
394 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
395 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
396 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
397 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
398 static int rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
399 static int rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthDataType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
400 static int rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
401 static int rcg_dissect_element_VerifyServiceTicketReq_PackedTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
402 static int rcg_dissect_element_VerifyServiceTicketReq_PackedTicket_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
403 static int rcg_dissect_element_VerifyServiceTicketReq_ServiceKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
404 static int rcg_dissect_element_VerifyServiceTicketReq_ServiceKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
405 static int rcg_dissect_element_VerifyServiceTicketReq_TimeSkew(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
406 static int rcg_dissect_element_VerifyServiceTicketReq_TimeSkew_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
407 static int rcg_dissect_element_VerifyServiceTicketResp_DecryptedTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
408 static int rcg_dissect_element_VerifyServiceTicketResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
409 static int rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
410 static int rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
411 static int rcg_dissect_element_CreateApReqAuthenticatorReq_SequenceNumber(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
412 static int rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
413 static int rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
414 static int rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
415 static int rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
416 static int rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
417 static int rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
418 static int rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
419 static int rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
420 static int rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
421 static int rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
422 static int rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
423 static int rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
424 static int rcg_dissect_element_CreateApReqAuthenticatorReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
425 static int rcg_dissect_element_CreateApReqAuthenticatorResp_AuthenticatorTime(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
426 static int rcg_dissect_element_CreateApReqAuthenticatorResp_Authenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
427 static int rcg_dissect_element_CreateApReqAuthenticatorResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
428 static int rcg_dissect_element_DecryptApReplyReq_EncryptedReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
429 static int rcg_dissect_element_DecryptApReplyReq_EncryptedReply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
430 static int rcg_dissect_element_DecryptApReplyReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
431 static int rcg_dissect_element_DecryptApReplyReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
432 static int rcg_dissect_element_DecryptApReplyResp_ApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
433 static int rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
434 static int rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
435 static int rcg_dissect_element_UnpackKdcReplyBodyReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
436 static int rcg_dissect_element_UnpackKdcReplyBodyReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
437 static int rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
438 static int rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
439 static int rcg_dissect_element_UnpackKdcReplyBodyReq_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
440 static int rcg_dissect_element_UnpackKdcReplyBodyReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
441 static int rcg_dissect_element_UnpackKdcReplyBodyResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
442 static int rcg_dissect_element_UnpackKdcReplyBodyResp_ReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
443 static int rcg_dissect_element_ComputeTgsChecksumReq_RequestBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
444 static int rcg_dissect_element_ComputeTgsChecksumReq_RequestBody_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
445 static int rcg_dissect_element_ComputeTgsChecksumReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
446 static int rcg_dissect_element_ComputeTgsChecksumReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
447 static int rcg_dissect_element_ComputeTgsChecksumReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
448 static int rcg_dissect_element_ComputeTgsChecksumResp_Checksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
449 static int rcg_dissect_element_BuildEncryptedAuthDataReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
450 static int rcg_dissect_element_BuildEncryptedAuthDataReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
451 static int rcg_dissect_element_BuildEncryptedAuthDataReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
452 static int rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
453 static int rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
454 static int rcg_dissect_element_BuildEncryptedAuthDataResp_EncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
455 static int rcg_dissect_element_PackApReplyReq_Reply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
456 static int rcg_dissect_element_PackApReplyReq_Reply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
457 static int rcg_dissect_element_PackApReplyReq_ReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
458 static int rcg_dissect_element_PackApReplyReq_ReplyBody_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
459 static int rcg_dissect_element_PackApReplyReq_SessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
460 static int rcg_dissect_element_PackApReplyReq_SessionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
461 static int rcg_dissect_element_PackApReplyResp_PackedReplySize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
462 static int rcg_dissect_element_PackApReplyResp_PackedReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
463 static int rcg_dissect_element_PackApReplyResp_PackedReply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
464 static int rcg_dissect_element_PackApReplyResp_PackedReply__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
465 static int rcg_dissect_element_HashS4UPreauthReq_S4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
466 static int rcg_dissect_element_HashS4UPreauthReq_S4UPreauth_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
467 static int rcg_dissect_element_HashS4UPreauthReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
468 static int rcg_dissect_element_HashS4UPreauthReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
469 static int rcg_dissect_element_HashS4UPreauthReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
470 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
471 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumSize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
472 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumValue(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
473 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumValue_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
474 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumValue__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
475 static int rcg_dissect_element_HashS4UPreauthResp_ChecksumValue___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
476 static int rcg_dissect_element_SignS4UPreauthDataReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
477 static int rcg_dissect_element_SignS4UPreauthDataReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
478 static int rcg_dissect_element_SignS4UPreauthDataReq_IsRequest(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
479 static int rcg_dissect_element_SignS4UPreauthDataReq_UserId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
480 static int rcg_dissect_element_SignS4UPreauthDataReq_UserId_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
481 static int rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
482 static int rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
483 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
484 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
485 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
486 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
487 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
488 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
489 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
490 static int rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
491 static int rcg_dissect_element_VerifyChecksumReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
492 static int rcg_dissect_element_VerifyChecksumReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
493 static int rcg_dissect_element_VerifyChecksumReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
494 static int rcg_dissect_element_VerifyChecksumReq_ExpectedChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
495 static int rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
496 static int rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
497 static int rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
498 static int rcg_dissect_element_VerifyChecksumReq_DataToCheckSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
499 static int rcg_dissect_element_VerifyChecksumReq_DataToCheck(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
500 static int rcg_dissect_element_VerifyChecksumReq_DataToCheck_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
501 static int rcg_dissect_element_VerifyChecksumReq_DataToCheck__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
502 static int rcg_dissect_element_VerifyChecksumResp_IsValid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
503 static int rcg_dissect_element_DecryptPacCredentialsReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
504 static int rcg_dissect_element_DecryptPacCredentialsReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
505 static int rcg_dissect_element_DecryptPacCredentialsReq_Version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
506 static int rcg_dissect_element_DecryptPacCredentialsReq_EncryptionType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
507 static int rcg_dissect_element_DecryptPacCredentialsReq_DataSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
508 static int rcg_dissect_element_DecryptPacCredentialsReq_Data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
509 static int rcg_dissect_element_DecryptPacCredentialsReq_Data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
510 static int rcg_dissect_element_DecryptPacCredentialsReq_Data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
511 static int rcg_dissect_element_DecryptPacCredentialsResp_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
512 static int rcg_dissect_element_CreateECDHKeyAgreementReq_KeyBitLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
513 static int rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
514 static int rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
515 static int rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
516 static int rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
517 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
518 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
519 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
520 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
521 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
522 static int rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
523 static int rcg_dissect_element_CreateDHKeyAgreementReq_Ignored(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
524 static int rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
525 static int rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
526 static int rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
527 static int rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
528 static int rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
529 static int rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
530 static int rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
531 static int rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
532 static int rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
533 static int rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
534 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
535 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
536 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
537 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
538 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
539 static int rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
540 static int rcg_dissect_element_DestroyKeyAgreementReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
541 static int rcg_dissect_element_DestroyKeyAgreementResp_Ignored(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
542 static int rcg_dissect_element_KeyAgreementGenerateNonceReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
543 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
544 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
545 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
546 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
547 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
548 static int rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
549 static int rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
550 static int rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
551 static int rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
552 static int rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
553 static int rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonceLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
554 static int rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
555 static int rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
556 static int rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
557 static int rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
558 static int rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
559 static int rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
560 static int rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
561 static int rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
562 static int rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
563 static int rcg_dissect_element_KerbInputUnion_negociateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
564 static int rcg_dissect_element_KerbInputUnion_buildAsReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
565 static int rcg_dissect_element_KerbInputUnion_verifyServiceTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
566 static int rcg_dissect_element_KerbInputUnion_createApReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
567 static int rcg_dissect_element_KerbInputUnion_decryptApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
568 static int rcg_dissect_element_KerbInputUnion_unpackKdcReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
569 static int rcg_dissect_element_KerbInputUnion_computeTgsChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
570 static int rcg_dissect_element_KerbInputUnion_buildEncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
571 static int rcg_dissect_element_KerbInputUnion_packApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
572 static int rcg_dissect_element_KerbInputUnion_hashS4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
573 static int rcg_dissect_element_KerbInputUnion_signS4UPreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
574 static int rcg_dissect_element_KerbInputUnion_verifyChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
575 static int rcg_dissect_element_KerbInputUnion_decryptPacCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
576 static int rcg_dissect_element_KerbInputUnion_createECDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
577 static int rcg_dissect_element_KerbInputUnion_createDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
578 static int rcg_dissect_element_KerbInputUnion_destroyKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
579 static int rcg_dissect_element_KerbInputUnion_keyAgreementGenerateNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
580 static int rcg_dissect_element_KerbInputUnion_finalizeKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
581 static int rcg_dissect_element_KerbCredIsoRemoteInput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
);
582 static int rcg_dissect_element_KerbCredIsoRemoteInput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
);
583 static int rcg_dissect_element_KerbOutputUnion_negociateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
584 static int rcg_dissect_element_KerbOutputUnion_buildAsReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
585 static int rcg_dissect_element_KerbOutputUnion_verifyServiceTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
586 static int rcg_dissect_element_KerbOutputUnion_createApReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
587 static int rcg_dissect_element_KerbOutputUnion_decryptApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
588 static int rcg_dissect_element_KerbOutputUnion_unpackKdcReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
589 static int rcg_dissect_element_KerbOutputUnion_computeTgsChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
590 static int rcg_dissect_element_KerbOutputUnion_buildEncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
591 static int rcg_dissect_element_KerbOutputUnion_packApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
592 static int rcg_dissect_element_KerbOutputUnion_hashS4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
593 static int rcg_dissect_element_KerbOutputUnion_signS4UPreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
594 static int rcg_dissect_element_KerbOutputUnion_verifyChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
595 static int rcg_dissect_element_KerbOutputUnion_decryptPacCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
596 static int rcg_dissect_element_KerbOutputUnion_createECDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
597 static int rcg_dissect_element_KerbOutputUnion_createDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
598 static int rcg_dissect_element_KerbOutputUnion_destroyKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
599 static int rcg_dissect_element_KerbOutputUnion_keyAgreementGenerateNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
600 static int rcg_dissect_element_KerbOutputUnion_finalizeKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
601 static int rcg_dissect_element_KerbCredIsoRemoteOutput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
);
602 static int rcg_dissect_element_KerbCredIsoRemoteOutput_Status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
603 static int rcg_dissect_element_KerbCredIsoRemoteOutput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
);
604 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
605 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
606 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
607 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
608 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
609 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
610 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
611 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
612 static int rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
613 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
614 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_UserName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
615 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
616 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_ServerName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
617 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
618 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
619 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
620 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
621 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Lm3Response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
622 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
623 static int rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
624 static int rcg_dissect_element_CalculateNtResponseReq_NtChallenge(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
625 static int rcg_dissect_element_CalculateNtResponseReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
626 static int rcg_dissect_element_CalculateNtResponseResp_NtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
627 static int rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
628 static int rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
629 static int rcg_dissect_element_CalculateUserSessionKeyNtReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
630 static int rcg_dissect_element_CalculateUserSessionKeyNtResp_UserSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
631 static int rcg_dissect_element_CompareCredentialsReq_LhsCredential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
632 static int rcg_dissect_element_CompareCredentialsReq_RhsCredential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
633 static int rcg_dissect_element_CompareCredentialsResp_AreNtOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
634 static int rcg_dissect_element_CompareCredentialsResp_AreLmOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
635 static int rcg_dissect_element_CompareCredentialsResp_AreShaOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
636 static int rcg_dissect_element_NtlmCredInput_negotiateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
637 static int rcg_dissect_element_NtlmCredInput_lm20GetNtlm3ChallengeResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
638 static int rcg_dissect_element_NtlmCredInput_calculateNtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
639 static int rcg_dissect_element_NtlmCredInput_calculateUserSessionKeyNt(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
640 static int rcg_dissect_element_NtlmCredInput_compareCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
641 static int rcg_dissect_element_NtlmCredIsoRemoteInput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
);
642 static int rcg_dissect_element_NtlmCredIsoRemoteInput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
);
643 static int rcg_dissect_element_NtlmCredOutput_negotiateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
644 static int rcg_dissect_element_NtlmCredOutput_lm20GetNtlm3ChallengeResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
645 static int rcg_dissect_element_NtlmCredOutput_calculateNtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
646 static int rcg_dissect_element_NtlmCredOutput_calculateUserSessionKeyNt(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
647 static int rcg_dissect_element_NtlmCredOutput_compareCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
648 static int rcg_dissect_element_NtlmCredIsoRemoteOutput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
);
649 static int rcg_dissect_element_NtlmCredIsoRemoteOutput_Status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
650 static int rcg_dissect_element_NtlmCredIsoRemoteOutput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
);
651 #include <epan/asn1.h>
652 #include "packet-kerberos.h"
654 rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum_(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, dcerpc_info
* di _U_
, guint8
*drep _U_
)
656 if (di
->conformant_run
)
660 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
661 asn1_ctx
.private_data
= /*&rcg*/NULL
;
662 offset
= dissect_krb5_Checksum(tree
, tvb
, offset
+ 4, &asn1_ctx
);
666 rcg_dissect_struct_KerbCredIsoRemoteOutput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, guint8
*drep _U_
, int hf_index _U_
, guint32 param _U_
)
669 proto_item
*item
= NULL
;
670 proto_tree
*tree
= NULL
;
675 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
676 tree
= proto_item_add_subtree(item
, ett_rcg_KerbCredIsoRemoteOutput
);
678 offset
= rcg_dissect_element_KerbCredIsoRemoteOutput_CallId(tvb
, offset
, pinfo
, tree
, di
, drep
, &CallId
);
679 col_set_str(pinfo
->cinfo
, COL_INFO
, val_to_str(CallId
, rcg_RemoteGuardCallId_vals
, "unknown operation (%u)"));
680 offset
= rcg_dissect_element_KerbCredIsoRemoteOutput_Status(tvb
, offset
, pinfo
, tree
, di
, drep
);
681 offset
= rcg_dissect_element_KerbCredIsoRemoteOutput_callUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, CallId
);
682 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
683 proto_item_set_len(item
, offset
-old_offset
);
684 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
690 rcg_dissect_struct_KerbCredIsoRemoteInput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, guint8
*drep _U_
, int hf_index _U_
, guint32 param _U_
)
693 proto_item
*item
= NULL
;
694 proto_tree
*tree
= NULL
;
699 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
700 tree
= proto_item_add_subtree(item
, ett_rcg_KerbCredIsoRemoteInput
);
702 offset
= rcg_dissect_element_KerbCredIsoRemoteInput_CallId(tvb
, offset
, pinfo
, tree
, di
, drep
, &CallId
);
703 col_set_str(pinfo
->cinfo
, COL_INFO
, val_to_str(CallId
, rcg_RemoteGuardCallId_vals
, "unknown operation (%u)"));
704 offset
= rcg_dissect_element_KerbCredIsoRemoteInput_callUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, CallId
);
705 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
706 proto_item_set_len(item
, offset
-old_offset
);
707 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
713 rcg_dissect_struct_NtlmCredIsoRemoteOutput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
716 proto_item
*item
= NULL
;
717 proto_tree
*tree
= NULL
;
719 if (di
->conformant_run
) return offset
;
723 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
724 tree
= proto_item_add_subtree(item
, ett_rcg_NtlmCredIsoRemoteOutput
);
726 offset
= rcg_dissect_element_NtlmCredIsoRemoteOutput_CallId(tvb
, offset
, pinfo
, tree
, di
, drep
, &CallId
);
727 col_set_str(pinfo
->cinfo
, COL_INFO
, val_to_str(CallId
, rcg_RemoteGuardCallId_vals
, "unknown operation (%u)"));
728 offset
= rcg_dissect_element_NtlmCredIsoRemoteOutput_Status(tvb
, offset
, pinfo
, tree
, di
, drep
);
729 offset
= rcg_dissect_element_NtlmCredIsoRemoteOutput_callUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, CallId
);
730 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
731 proto_item_set_len(item
, offset
-old_offset
);
732 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
738 rcg_dissect_struct_NtlmCredIsoRemoteInput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
741 proto_item
*item
= NULL
;
742 proto_tree
*tree
= NULL
;
744 if (di
->conformant_run
) return offset
;
748 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
749 tree
= proto_item_add_subtree(item
, ett_rcg_NtlmCredIsoRemoteInput
);
751 offset
= rcg_dissect_element_NtlmCredIsoRemoteInput_CallId(tvb
, offset
, pinfo
, tree
, di
, drep
, &CallId
);
752 col_set_str(pinfo
->cinfo
, COL_INFO
, val_to_str(CallId
, rcg_RemoteGuardCallId_vals
, "unknown operation (%u)"));
753 offset
= rcg_dissect_element_NtlmCredIsoRemoteInput_callUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, CallId
);
754 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
755 proto_item_set_len(item
, offset
-old_offset
);
756 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
764 /* IDL: uint32 Pdu; */
765 /* IDL: uint32 Length; */
766 /* IDL: [ref] [size_is(Length)] uint8 *Asn1Buffer; */
770 rcg_dissect_element_KERB_ASN1_DATA_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
772 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_ASN1_DATA_Pdu
, 0);
778 rcg_dissect_element_KERB_ASN1_DATA_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
780 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_ASN1_DATA_Length
, 0);
786 rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
788 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer_
, NDR_POINTER_REF
, "Pointer to Asn1Buffer (uint8)",hf_rcg_KERB_ASN1_DATA_Asn1Buffer
);
794 rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
796 struct ndr_generic_array nga
= { .is_conformant
= false, };
798 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
800 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer__
);
806 rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
808 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_ASN1_DATA_Asn1Buffer
, 0);
814 rcg_dissect_struct_KERB_ASN1_DATA(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
816 proto_item
*item
= NULL
;
817 proto_tree
*tree
= NULL
;
825 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
826 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_ASN1_DATA
);
829 offset
= rcg_dissect_element_KERB_ASN1_DATA_Pdu(tvb
, offset
, pinfo
, tree
, di
, drep
);
831 offset
= rcg_dissect_element_KERB_ASN1_DATA_Length(tvb
, offset
, pinfo
, tree
, di
, drep
);
833 offset
= rcg_dissect_element_KERB_ASN1_DATA_Asn1Buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
836 proto_item_set_len(item
, offset
-old_offset
);
839 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
848 /* IDL: uint32 Pdu; */
849 /* IDL: uint32 Length; */
850 /* IDL: [ref] [size_is(Length)] uint8 *checksum; */
854 rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
856 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_ASN1_DATA_CHECKSUM_Pdu
, 0);
862 rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
864 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_ASN1_DATA_CHECKSUM_Length
, 0);
870 rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
872 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum_
, NDR_POINTER_REF
, "Pointer to Checksum (uint8)",hf_rcg_KERB_ASN1_DATA_CHECKSUM_checksum
);
878 rcg_dissect_struct_KERB_ASN1_DATA_CHECKSUM(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
880 proto_item
*item
= NULL
;
881 proto_tree
*tree
= NULL
;
889 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
890 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_ASN1_DATA_CHECKSUM
);
893 offset
= rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Pdu(tvb
, offset
, pinfo
, tree
, di
, drep
);
895 offset
= rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_Length(tvb
, offset
, pinfo
, tree
, di
, drep
);
897 offset
= rcg_dissect_element_KERB_ASN1_DATA_CHECKSUM_checksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
900 proto_item_set_len(item
, offset
-old_offset
);
903 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
912 /* IDL: uint32 length; */
913 /* IDL: [ref] [size_is(length)] uint8 *value; */
917 rcg_dissect_element_KERB_RPC_OCTET_STRING_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
919 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_OCTET_STRING_length
, 0);
925 rcg_dissect_element_KERB_RPC_OCTET_STRING_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
927 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KERB_RPC_OCTET_STRING_value_
, NDR_POINTER_REF
, "Pointer to Value (uint8)",hf_rcg_KERB_RPC_OCTET_STRING_value
);
933 rcg_dissect_element_KERB_RPC_OCTET_STRING_value_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
935 struct ndr_generic_array nga
= { .is_conformant
= false, };
937 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
939 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_KERB_RPC_OCTET_STRING_value__
);
945 rcg_dissect_element_KERB_RPC_OCTET_STRING_value__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
947 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_OCTET_STRING_value
, 0);
953 rcg_dissect_struct_KERB_RPC_OCTET_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
955 proto_item
*item
= NULL
;
956 proto_tree
*tree
= NULL
;
964 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
965 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_RPC_OCTET_STRING
);
968 offset
= rcg_dissect_element_KERB_RPC_OCTET_STRING_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
970 offset
= rcg_dissect_element_KERB_RPC_OCTET_STRING_value(tvb
, offset
, pinfo
, tree
, di
, drep
);
973 proto_item_set_len(item
, offset
-old_offset
);
976 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
985 /* IDL: int32 preauth_data_type; */
986 /* IDL: KERB_RPC_OCTET_STRING preauth_data; */
990 rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
992 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_PA_DATA_preauth_data_type
, 0);
998 rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1000 offset
= rcg_dissect_struct_KERB_RPC_OCTET_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KERB_RPC_PA_DATA_preauth_data
,0);
1006 rcg_dissect_struct_KERB_RPC_PA_DATA(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1008 proto_item
*item
= NULL
;
1009 proto_tree
*tree
= NULL
;
1014 old_offset
= offset
;
1017 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1018 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_RPC_PA_DATA
);
1021 offset
= rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1023 offset
= rcg_dissect_element_KERB_RPC_PA_DATA_preauth_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
1026 proto_item_set_len(item
, offset
-old_offset
);
1029 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1038 /* IDL: uint32 reserved1; */
1039 /* IDL: uint32 reserved2; */
1040 /* IDL: KERB_RPC_OCTET_STRING reserved3; */
1044 rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1046 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_KERB_RPC_ENCRYPTION_KEY_reserved1
, 0);
1052 rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1054 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_KERB_RPC_ENCRYPTION_KEY_reserved2
, 0);
1060 rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved3(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1062 offset
= rcg_dissect_struct_KERB_RPC_OCTET_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KERB_RPC_ENCRYPTION_KEY_reserved3
,0);
1068 rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1070 proto_item
*item
= NULL
;
1071 proto_tree
*tree
= NULL
;
1076 old_offset
= offset
;
1079 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1080 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_RPC_ENCRYPTION_KEY
);
1083 offset
= rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved1(tvb
, offset
, pinfo
, tree
, di
, drep
);
1085 offset
= rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved2(tvb
, offset
, pinfo
, tree
, di
, drep
);
1087 offset
= rcg_dissect_element_KERB_RPC_ENCRYPTION_KEY_reserved3(tvb
, offset
, pinfo
, tree
, di
, drep
);
1090 proto_item_set_len(item
, offset
-old_offset
);
1093 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1102 /* IDL: uint16 Length; */
1103 /* IDL: uint16 MaximumLength; */
1104 /* IDL: [charset(UTF16)] [length_is(Length/2)] [ref] [size_is(MaximumLength/2)] uint16 *Buffer; */
1108 rcg_dissect_element_RPC_UNICODE_STRING_Length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1110 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_RPC_UNICODE_STRING_Length
, 0);
1116 rcg_dissect_element_RPC_UNICODE_STRING_MaximumLength(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1118 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_RPC_UNICODE_STRING_MaximumLength
, 0);
1124 rcg_dissect_element_RPC_UNICODE_STRING_Buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1126 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_RPC_UNICODE_STRING_Buffer_
, NDR_POINTER_REF
, "Pointer to Buffer (uint16)",hf_rcg_RPC_UNICODE_STRING_Buffer
);
1132 rcg_dissect_element_RPC_UNICODE_STRING_Buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1135 struct ndr_generic_array nga
= { .is_conformant
= false, };
1137 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1139 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1140 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_rcg_RPC_UNICODE_STRING_Buffer
, false, &nga
, &data
);
1141 proto_item_append_text(tree
, ": %s", data
);
1147 rcg_dissect_struct_RPC_UNICODE_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1149 proto_item
*item
= NULL
;
1150 proto_tree
*tree
= NULL
;
1155 old_offset
= offset
;
1158 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1159 tree
= proto_item_add_subtree(item
, ett_rcg_RPC_UNICODE_STRING
);
1162 offset
= rcg_dissect_element_RPC_UNICODE_STRING_Length(tvb
, offset
, pinfo
, tree
, di
, drep
);
1164 offset
= rcg_dissect_element_RPC_UNICODE_STRING_MaximumLength(tvb
, offset
, pinfo
, tree
, di
, drep
);
1166 offset
= rcg_dissect_element_RPC_UNICODE_STRING_Buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
1169 proto_item_set_len(item
, offset
-old_offset
);
1172 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1181 /* IDL: int16 NameType; */
1182 /* IDL: uint16 NameCount; */
1183 /* IDL: [ref] [size_is(NameCount)] RPC_UNICODE_STRING *Names; */
1187 rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1189 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_INTERNAL_NAME_NameType
, 0);
1195 rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameCount(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1197 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_INTERNAL_NAME_NameCount
, 0);
1203 rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1205 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names_
, NDR_POINTER_REF
, "Pointer to Names (RPC_UNICODE_STRING)",hf_rcg_KERB_RPC_INTERNAL_NAME_Names
);
1211 rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1213 struct ndr_generic_array nga
= { .is_conformant
= false, };
1215 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1217 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names__
);
1223 rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1225 offset
= rcg_dissect_struct_RPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KERB_RPC_INTERNAL_NAME_Names
,0);
1231 rcg_dissect_struct_KERB_RPC_INTERNAL_NAME(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1233 proto_item
*item
= NULL
;
1234 proto_tree
*tree
= NULL
;
1239 old_offset
= offset
;
1242 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1243 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_RPC_INTERNAL_NAME
);
1246 offset
= rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameType(tvb
, offset
, pinfo
, tree
, di
, drep
);
1248 offset
= rcg_dissect_element_KERB_RPC_INTERNAL_NAME_NameCount(tvb
, offset
, pinfo
, tree
, di
, drep
);
1250 offset
= rcg_dissect_element_KERB_RPC_INTERNAL_NAME_Names(tvb
, offset
, pinfo
, tree
, di
, drep
);
1253 proto_item_set_len(item
, offset
-old_offset
);
1256 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1265 /* IDL: RemoteCallKerbNegotiateVersion=0x100, */
1266 /* IDL: RemoteCallKerbBuildAsReqAuthenticator=0x101, */
1267 /* IDL: RemoteCallKerbVerifyServiceTicket=0x102, */
1268 /* IDL: RemoteCallKerbCreateApReqAuthenticator=0x103, */
1269 /* IDL: RemoteCallKerbDecryptApReply=0x104, */
1270 /* IDL: RemoteCallKerbUnpackKdcReplyBody=0x105, */
1271 /* IDL: RemoteCallKerbComputeTgsChecksum=0x106, */
1272 /* IDL: RemoteCallKerbBuildEncryptedAuthData=0x107, */
1273 /* IDL: RemoteCallKerbPackApReply=0x108, */
1274 /* IDL: RemoteCallKerbHashS4UPreauth=0x109, */
1275 /* IDL: RemoteCallKerbSignS4UPreauthData=0x10a, */
1276 /* IDL: RemoteCallKerbVerifyChecksum=0x10b, */
1277 /* IDL: RemoteCallKerbDecryptPacCredentials=0x113, */
1278 /* IDL: RemoteCallKerbCreateECDHKeyAgreement=0x114, */
1279 /* IDL: RemoteCallKerbCreateDHKeyAgreement=0x115, */
1280 /* IDL: RemoteCallKerbDestroyKeyAgreement=0x116, */
1281 /* IDL: RemoteCallKerbKeyAgreementGenerateNonce=0x117, */
1282 /* IDL: RemoteCallKerbFinalizeKeyAgreement=0x118, */
1283 /* IDL: RemoteCallNtlmNegotiateVersion=0x200, */
1284 /* IDL: RemoteCallNtlmLm20GetNtlm3ChallengeResponse=0x201, */
1285 /* IDL: RemoteCallNtlmCalculateNtResponse=0x202, */
1286 /* IDL: RemoteCallNtlmCalculateUserSessionKeyNt=0x203, */
1287 /* IDL: RemoteCallNtlmCompareCredentials=0x204, */
1291 rcg_dissect_enum_RemoteGuardCallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint16_t *param _U_
)
1293 uint16_t parameter
=0;
1297 offset
= dissect_ndr_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1305 /* IDL: struct _SECPKG_SUPPLEMENTAL_CRED { */
1306 /* IDL: RPC_UNICODE_STRING PackageName; */
1307 /* IDL: uint32 CredentialSize; */
1308 /* IDL: [ref] [size_is(CredentialSize)] uint8 *Credentials; */
1312 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_PackageName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1314 offset
= rcg_dissect_struct_RPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_SECPKG_SUPPLEMENTAL_CRED_PackageName
,0);
1320 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_CredentialSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1322 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SECPKG_SUPPLEMENTAL_CRED_CredentialSize
, 0);
1328 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1330 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials_
, NDR_POINTER_REF
, "Pointer to Credentials (uint8)",hf_rcg_SECPKG_SUPPLEMENTAL_CRED_Credentials
);
1336 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1338 struct ndr_generic_array nga
= { .is_conformant
= false, };
1340 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1342 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials__
);
1348 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1350 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SECPKG_SUPPLEMENTAL_CRED_Credentials
, 0);
1356 rcg_dissect_struct_SECPKG_SUPPLEMENTAL_CRED(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1358 proto_item
*item
= NULL
;
1359 proto_tree
*tree
= NULL
;
1364 old_offset
= offset
;
1367 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1368 tree
= proto_item_add_subtree(item
, ett_rcg_SECPKG_SUPPLEMENTAL_CRED
);
1371 offset
= rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_PackageName(tvb
, offset
, pinfo
, tree
, di
, drep
);
1373 offset
= rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_CredentialSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
1375 offset
= rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_Credentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
1378 proto_item_set_len(item
, offset
-old_offset
);
1381 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1390 /* IDL: uint32 CredentialCount; */
1391 /* IDL: [size_is(CredentialCount)] SECPKG_SUPPLEMENTAL_CRED Credentials[*]; */
1395 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1397 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount
, 0);
1403 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, struct ndr_generic_array
*nga
)
1406 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, nga
, rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials_
);
1412 rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1414 offset
= rcg_dissect_struct_SECPKG_SUPPLEMENTAL_CRED(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials
,0);
1420 rcg_dissect_conformant_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, struct ndr_generic_array
*nga
)
1422 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, nga
);
1428 rcg_dissect_struct_SECPKG_SUPPLEMENTAL_CRED_ARRAY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1430 struct ndr_generic_array nga_Credentials
= { .is_conformant
= false, };
1431 proto_item
*item
= NULL
;
1432 proto_tree
*tree
= NULL
;
1435 offset
= rcg_dissect_conformant_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, &nga_Credentials
);
1439 old_offset
= offset
;
1442 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1443 tree
= proto_item_add_subtree(item
, ett_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY
);
1446 offset
= rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount(tvb
, offset
, pinfo
, tree
, di
, drep
);
1448 offset
= rcg_dissect_element_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga_Credentials
);
1451 proto_item_set_len(item
, offset
-old_offset
);
1458 /* IDL: struct SECPKG_SUPPLEMENTAL_CRED_ARRAY { */
1462 rcg_dissect_struct_PSECPKG_SUPPLEMENTAL_CRED_ARRAY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1464 proto_item
*item
= NULL
;
1469 old_offset
= offset
;
1472 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1476 proto_item_set_len(item
, offset
-old_offset
);
1479 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1488 /* IDL: uint32 cbData; */
1489 /* IDL: [ref] [size_is(cbData)] uint8 *pbData; */
1493 rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_cbData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1495 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_CRYPTO_API_BLOB_cbData
, 0);
1501 rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1503 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData_
, NDR_POINTER_REF
, "Pointer to PbData (uint8)",hf_rcg_KERB_RPC_CRYPTO_API_BLOB_pbData
);
1509 rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1511 struct ndr_generic_array nga
= { .is_conformant
= false, };
1513 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1515 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData__
);
1521 rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1523 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KERB_RPC_CRYPTO_API_BLOB_pbData
, 0);
1529 rcg_dissect_struct_KERB_RPC_CRYPTO_API_BLOB(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1531 proto_item
*item
= NULL
;
1532 proto_tree
*tree
= NULL
;
1537 old_offset
= offset
;
1540 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1541 tree
= proto_item_add_subtree(item
, ett_rcg_KERB_RPC_CRYPTO_API_BLOB
);
1544 offset
= rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_cbData(tvb
, offset
, pinfo
, tree
, di
, drep
);
1546 offset
= rcg_dissect_element_KERB_RPC_CRYPTO_API_BLOB_pbData(tvb
, offset
, pinfo
, tree
, di
, drep
);
1549 proto_item_set_len(item
, offset
-old_offset
);
1552 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1561 /* IDL: uint32 MaxSupportedVersion; */
1565 rcg_dissect_element_NegotiateVersion_MaxSupportedVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1567 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NegotiateVersion_MaxSupportedVersion
, 0);
1573 rcg_dissect_struct_NegotiateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1575 proto_item
*item
= NULL
;
1576 proto_tree
*tree
= NULL
;
1581 old_offset
= offset
;
1584 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1585 tree
= proto_item_add_subtree(item
, ett_rcg_NegotiateVersion
);
1588 offset
= rcg_dissect_element_NegotiateVersion_MaxSupportedVersion(tvb
, offset
, pinfo
, tree
, di
, drep
);
1591 proto_item_set_len(item
, offset
-old_offset
);
1594 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1603 /* IDL: int64 QuadPart; */
1607 rcg_dissect_element_LARGE_INTEGER_QuadPart(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1609 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_LARGE_INTEGER_QuadPart
, 0);
1615 rcg_dissect_struct_LARGE_INTEGER(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1617 proto_item
*item
= NULL
;
1618 proto_tree
*tree
= NULL
;
1623 old_offset
= offset
;
1626 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1627 tree
= proto_item_add_subtree(item
, ett_rcg_LARGE_INTEGER
);
1630 offset
= rcg_dissect_element_LARGE_INTEGER_QuadPart(tvb
, offset
, pinfo
, tree
, di
, drep
);
1633 proto_item_set_len(item
, offset
-old_offset
);
1636 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1644 /* IDL: struct LARGE_INTEGER { */
1648 rcg_dissect_struct_PLARGE_INTEGER(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1650 proto_item
*item
= NULL
;
1655 old_offset
= offset
;
1658 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1662 proto_item_set_len(item
, offset
-old_offset
);
1665 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1674 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *EncryptionKey; */
1675 /* IDL: [ptr(1)] KERB_RPC_ENCRYPTION_KEY *ArmorKey; */
1676 /* IDL: [ref] LARGE_INTEGER *TimeSkew; */
1680 rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1682 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey_
, NDR_POINTER_REF
, "Pointer to EncryptionKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_BuildAsReqAuthenticatorReq_EncryptionKey
);
1688 rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1690 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildAsReqAuthenticatorReq_EncryptionKey
,0);
1696 rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1698 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey_
, NDR_POINTER_PTR
, "Pointer to ArmorKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_BuildAsReqAuthenticatorReq_ArmorKey
);
1704 rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1706 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildAsReqAuthenticatorReq_ArmorKey
,0);
1712 rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1714 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew_
, NDR_POINTER_REF
, "Pointer to TimeSkew (LARGE_INTEGER)",hf_rcg_BuildAsReqAuthenticatorReq_TimeSkew
);
1720 rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1722 offset
= rcg_dissect_struct_LARGE_INTEGER(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildAsReqAuthenticatorReq_TimeSkew
,0);
1728 rcg_dissect_struct_BuildAsReqAuthenticatorReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1730 proto_item
*item
= NULL
;
1731 proto_tree
*tree
= NULL
;
1736 old_offset
= offset
;
1739 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1740 tree
= proto_item_add_subtree(item
, ett_rcg_BuildAsReqAuthenticatorReq
);
1743 offset
= rcg_dissect_element_BuildAsReqAuthenticatorReq_EncryptionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
1745 offset
= rcg_dissect_element_BuildAsReqAuthenticatorReq_ArmorKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
1747 offset
= rcg_dissect_element_BuildAsReqAuthenticatorReq_TimeSkew(tvb
, offset
, pinfo
, tree
, di
, drep
);
1750 proto_item_set_len(item
, offset
-old_offset
);
1753 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1762 /* IDL: int32 PreauthDataType; */
1763 /* IDL: KERB_RPC_OCTET_STRING PreauthData; */
1767 rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthDataType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1769 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_BuildAsReqAuthenticatorResp_PreauthDataType
, 0);
1775 rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1777 offset
= rcg_dissect_struct_KERB_RPC_OCTET_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildAsReqAuthenticatorResp_PreauthData
,0);
1783 rcg_dissect_struct_BuildAsReqAuthenticatorResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1785 proto_item
*item
= NULL
;
1786 proto_tree
*tree
= NULL
;
1791 old_offset
= offset
;
1794 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1795 tree
= proto_item_add_subtree(item
, ett_rcg_BuildAsReqAuthenticatorResp
);
1798 offset
= rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthDataType(tvb
, offset
, pinfo
, tree
, di
, drep
);
1800 offset
= rcg_dissect_element_BuildAsReqAuthenticatorResp_PreauthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
1803 proto_item_set_len(item
, offset
-old_offset
);
1806 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1815 /* IDL: [ref] KERB_ASN1_DATA *PackedTicket; */
1816 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *ServiceKey; */
1817 /* IDL: [ptr(1)] LARGE_INTEGER *TimeSkew; */
1821 rcg_dissect_element_VerifyServiceTicketReq_PackedTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1823 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyServiceTicketReq_PackedTicket_
, NDR_POINTER_REF
, "Pointer to PackedTicket (KERB_ASN1_DATA)",hf_rcg_VerifyServiceTicketReq_PackedTicket
);
1829 rcg_dissect_element_VerifyServiceTicketReq_PackedTicket_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1831 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_VerifyServiceTicketReq_PackedTicket
,0);
1837 rcg_dissect_element_VerifyServiceTicketReq_ServiceKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1839 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyServiceTicketReq_ServiceKey_
, NDR_POINTER_REF
, "Pointer to ServiceKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_VerifyServiceTicketReq_ServiceKey
);
1845 rcg_dissect_element_VerifyServiceTicketReq_ServiceKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1847 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_VerifyServiceTicketReq_ServiceKey
,0);
1853 rcg_dissect_element_VerifyServiceTicketReq_TimeSkew(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1855 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyServiceTicketReq_TimeSkew_
, NDR_POINTER_PTR
, "Pointer to TimeSkew (LARGE_INTEGER)",hf_rcg_VerifyServiceTicketReq_TimeSkew
);
1861 rcg_dissect_element_VerifyServiceTicketReq_TimeSkew_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1863 offset
= rcg_dissect_struct_LARGE_INTEGER(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_VerifyServiceTicketReq_TimeSkew
,0);
1869 rcg_dissect_struct_VerifyServiceTicketReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1871 proto_item
*item
= NULL
;
1872 proto_tree
*tree
= NULL
;
1877 old_offset
= offset
;
1880 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1881 tree
= proto_item_add_subtree(item
, ett_rcg_VerifyServiceTicketReq
);
1884 offset
= rcg_dissect_element_VerifyServiceTicketReq_PackedTicket(tvb
, offset
, pinfo
, tree
, di
, drep
);
1886 offset
= rcg_dissect_element_VerifyServiceTicketReq_ServiceKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
1888 offset
= rcg_dissect_element_VerifyServiceTicketReq_TimeSkew(tvb
, offset
, pinfo
, tree
, di
, drep
);
1891 proto_item_set_len(item
, offset
-old_offset
);
1894 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1903 /* IDL: KERB_ASN1_DATA DecryptedTicket; */
1904 /* IDL: int32 KerbProtocolError; */
1908 rcg_dissect_element_VerifyServiceTicketResp_DecryptedTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1910 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_VerifyServiceTicketResp_DecryptedTicket
,0);
1916 rcg_dissect_element_VerifyServiceTicketResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1918 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyServiceTicketResp_KerbProtocolError
, 0);
1924 rcg_dissect_struct_VerifyServiceTicketResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1926 proto_item
*item
= NULL
;
1927 proto_tree
*tree
= NULL
;
1932 old_offset
= offset
;
1935 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1936 tree
= proto_item_add_subtree(item
, ett_rcg_VerifyServiceTicketResp
);
1939 offset
= rcg_dissect_element_VerifyServiceTicketResp_DecryptedTicket(tvb
, offset
, pinfo
, tree
, di
, drep
);
1941 offset
= rcg_dissect_element_VerifyServiceTicketResp_KerbProtocolError(tvb
, offset
, pinfo
, tree
, di
, drep
);
1944 proto_item_set_len(item
, offset
-old_offset
);
1947 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1955 /* IDL: struct RPC_UNICODE_STRING { */
1959 rcg_dissect_struct_PRPC_UNICODE_STRING(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1961 proto_item
*item
= NULL
;
1966 old_offset
= offset
;
1969 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1973 proto_item_set_len(item
, offset
-old_offset
);
1976 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1985 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *EncryptionKey; */
1986 /* IDL: uint32 SequenceNumber; */
1987 /* IDL: [ref] KERB_RPC_INTERNAL_NAME *ClientName; */
1988 /* IDL: [ref] RPC_UNICODE_STRING *ClientRealm; */
1989 /* IDL: [ref] LARGE_INTEGER *SkewTime; */
1990 /* IDL: [ptr(1)] KERB_RPC_ENCRYPTION_KEY *SubKey; */
1991 /* IDL: [ptr(1)] KERB_ASN1_DATA *AuthData; */
1992 /* IDL: [ptr(1)] KERB_ASN1_DATA_CHECKSUM *GssChecksum; */
1993 /* IDL: uint32 KeyUsage; */
1997 rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1999 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey_
, NDR_POINTER_REF
, "Pointer to EncryptionKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_CreateApReqAuthenticatorReq_EncryptionKey
);
2005 rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2007 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_EncryptionKey
,0);
2013 rcg_dissect_element_CreateApReqAuthenticatorReq_SequenceNumber(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2015 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateApReqAuthenticatorReq_SequenceNumber
, 0);
2021 rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2023 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName_
, NDR_POINTER_REF
, "Pointer to ClientName (KERB_RPC_INTERNAL_NAME)",hf_rcg_CreateApReqAuthenticatorReq_ClientName
);
2029 rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2031 offset
= rcg_dissect_struct_KERB_RPC_INTERNAL_NAME(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_ClientName
,0);
2037 rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2039 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm_
, NDR_POINTER_REF
, "Pointer to ClientRealm (RPC_UNICODE_STRING)",hf_rcg_CreateApReqAuthenticatorReq_ClientRealm
);
2045 rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2047 offset
= rcg_dissect_struct_RPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_ClientRealm
,0);
2053 rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2055 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime_
, NDR_POINTER_REF
, "Pointer to SkewTime (LARGE_INTEGER)",hf_rcg_CreateApReqAuthenticatorReq_SkewTime
);
2061 rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2063 offset
= rcg_dissect_struct_LARGE_INTEGER(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_SkewTime
,0);
2069 rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2071 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey_
, NDR_POINTER_PTR
, "Pointer to SubKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_CreateApReqAuthenticatorReq_SubKey
);
2077 rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2079 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_SubKey
,0);
2085 rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2087 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData_
, NDR_POINTER_PTR
, "Pointer to AuthData (KERB_ASN1_DATA)",hf_rcg_CreateApReqAuthenticatorReq_AuthData
);
2093 rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2095 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_AuthData
,0);
2101 rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2103 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum_
, NDR_POINTER_PTR
, "Pointer to GssChecksum (KERB_ASN1_DATA_CHECKSUM)",hf_rcg_CreateApReqAuthenticatorReq_GssChecksum
);
2109 rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2111 offset
= rcg_dissect_struct_KERB_ASN1_DATA_CHECKSUM(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorReq_GssChecksum
,0);
2117 rcg_dissect_element_CreateApReqAuthenticatorReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2119 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateApReqAuthenticatorReq_KeyUsage
, 0);
2125 rcg_dissect_struct_CreateApReqAuthenticatorReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2127 proto_item
*item
= NULL
;
2128 proto_tree
*tree
= NULL
;
2133 old_offset
= offset
;
2136 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2137 tree
= proto_item_add_subtree(item
, ett_rcg_CreateApReqAuthenticatorReq
);
2140 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_EncryptionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
2142 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_SequenceNumber(tvb
, offset
, pinfo
, tree
, di
, drep
);
2144 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_ClientName(tvb
, offset
, pinfo
, tree
, di
, drep
);
2146 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_ClientRealm(tvb
, offset
, pinfo
, tree
, di
, drep
);
2148 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_SkewTime(tvb
, offset
, pinfo
, tree
, di
, drep
);
2150 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_SubKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
2152 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_AuthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
2154 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_GssChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
2156 offset
= rcg_dissect_element_CreateApReqAuthenticatorReq_KeyUsage(tvb
, offset
, pinfo
, tree
, di
, drep
);
2159 proto_item_set_len(item
, offset
-old_offset
);
2162 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2171 /* IDL: LARGE_INTEGER AuthenticatorTime; */
2172 /* IDL: KERB_ASN1_DATA Authenticator; */
2173 /* IDL: int32 KerbProtocolError; */
2177 rcg_dissect_element_CreateApReqAuthenticatorResp_AuthenticatorTime(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2179 offset
= rcg_dissect_struct_LARGE_INTEGER(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorResp_AuthenticatorTime
,0);
2185 rcg_dissect_element_CreateApReqAuthenticatorResp_Authenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2187 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateApReqAuthenticatorResp_Authenticator
,0);
2193 rcg_dissect_element_CreateApReqAuthenticatorResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2195 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateApReqAuthenticatorResp_KerbProtocolError
, 0);
2201 rcg_dissect_struct_CreateApReqAuthenticatorResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2203 proto_item
*item
= NULL
;
2204 proto_tree
*tree
= NULL
;
2209 old_offset
= offset
;
2212 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2213 tree
= proto_item_add_subtree(item
, ett_rcg_CreateApReqAuthenticatorResp
);
2216 offset
= rcg_dissect_element_CreateApReqAuthenticatorResp_AuthenticatorTime(tvb
, offset
, pinfo
, tree
, di
, drep
);
2218 offset
= rcg_dissect_element_CreateApReqAuthenticatorResp_Authenticator(tvb
, offset
, pinfo
, tree
, di
, drep
);
2220 offset
= rcg_dissect_element_CreateApReqAuthenticatorResp_KerbProtocolError(tvb
, offset
, pinfo
, tree
, di
, drep
);
2223 proto_item_set_len(item
, offset
-old_offset
);
2226 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2235 /* IDL: [ref] KERB_ASN1_DATA *EncryptedReply; */
2236 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
2240 rcg_dissect_element_DecryptApReplyReq_EncryptedReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2242 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_DecryptApReplyReq_EncryptedReply_
, NDR_POINTER_REF
, "Pointer to EncryptedReply (KERB_ASN1_DATA)",hf_rcg_DecryptApReplyReq_EncryptedReply
);
2248 rcg_dissect_element_DecryptApReplyReq_EncryptedReply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2250 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_DecryptApReplyReq_EncryptedReply
,0);
2256 rcg_dissect_element_DecryptApReplyReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2258 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_DecryptApReplyReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_DecryptApReplyReq_Key
);
2264 rcg_dissect_element_DecryptApReplyReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2266 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_DecryptApReplyReq_Key
,0);
2272 rcg_dissect_struct_DecryptApReplyReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2274 proto_item
*item
= NULL
;
2275 proto_tree
*tree
= NULL
;
2280 old_offset
= offset
;
2283 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2284 tree
= proto_item_add_subtree(item
, ett_rcg_DecryptApReplyReq
);
2287 offset
= rcg_dissect_element_DecryptApReplyReq_EncryptedReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
2289 offset
= rcg_dissect_element_DecryptApReplyReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
2292 proto_item_set_len(item
, offset
-old_offset
);
2295 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2304 /* IDL: KERB_ASN1_DATA ApReply; */
2308 rcg_dissect_element_DecryptApReplyResp_ApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2310 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_DecryptApReplyResp_ApReply
,0);
2316 rcg_dissect_struct_DecryptApReplyResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2318 proto_item
*item
= NULL
;
2319 proto_tree
*tree
= NULL
;
2324 old_offset
= offset
;
2327 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2328 tree
= proto_item_add_subtree(item
, ett_rcg_DecryptApReplyResp
);
2331 offset
= rcg_dissect_element_DecryptApReplyResp_ApReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
2334 proto_item_set_len(item
, offset
-old_offset
);
2337 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2346 /* IDL: [ref] KERB_ASN1_DATA *EncryptedData; */
2347 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
2348 /* IDL: [ptr(1)] KERB_RPC_ENCRYPTION_KEY *StrengthenKey; */
2349 /* IDL: uint32 Pdu; */
2350 /* IDL: uint32 KeyUsage; */
2354 rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2356 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData_
, NDR_POINTER_REF
, "Pointer to EncryptedData (KERB_ASN1_DATA)",hf_rcg_UnpackKdcReplyBodyReq_EncryptedData
);
2362 rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2364 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_UnpackKdcReplyBodyReq_EncryptedData
,0);
2370 rcg_dissect_element_UnpackKdcReplyBodyReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2372 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_UnpackKdcReplyBodyReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_UnpackKdcReplyBodyReq_Key
);
2378 rcg_dissect_element_UnpackKdcReplyBodyReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2380 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_UnpackKdcReplyBodyReq_Key
,0);
2386 rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2388 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey_
, NDR_POINTER_PTR
, "Pointer to StrengthenKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_UnpackKdcReplyBodyReq_StrengthenKey
);
2394 rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2396 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_UnpackKdcReplyBodyReq_StrengthenKey
,0);
2402 rcg_dissect_element_UnpackKdcReplyBodyReq_Pdu(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2404 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_UnpackKdcReplyBodyReq_Pdu
, 0);
2410 rcg_dissect_element_UnpackKdcReplyBodyReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2412 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_UnpackKdcReplyBodyReq_KeyUsage
, 0);
2418 rcg_dissect_struct_UnpackKdcReplyBodyReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2420 proto_item
*item
= NULL
;
2421 proto_tree
*tree
= NULL
;
2426 old_offset
= offset
;
2429 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2430 tree
= proto_item_add_subtree(item
, ett_rcg_UnpackKdcReplyBodyReq
);
2433 offset
= rcg_dissect_element_UnpackKdcReplyBodyReq_EncryptedData(tvb
, offset
, pinfo
, tree
, di
, drep
);
2435 offset
= rcg_dissect_element_UnpackKdcReplyBodyReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
2437 offset
= rcg_dissect_element_UnpackKdcReplyBodyReq_StrengthenKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
2439 offset
= rcg_dissect_element_UnpackKdcReplyBodyReq_Pdu(tvb
, offset
, pinfo
, tree
, di
, drep
);
2441 offset
= rcg_dissect_element_UnpackKdcReplyBodyReq_KeyUsage(tvb
, offset
, pinfo
, tree
, di
, drep
);
2444 proto_item_set_len(item
, offset
-old_offset
);
2447 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2456 /* IDL: int32 KerbProtocolError; */
2457 /* IDL: KERB_ASN1_DATA ReplyBody; */
2461 rcg_dissect_element_UnpackKdcReplyBodyResp_KerbProtocolError(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2463 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_UnpackKdcReplyBodyResp_KerbProtocolError
, 0);
2469 rcg_dissect_element_UnpackKdcReplyBodyResp_ReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2471 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_UnpackKdcReplyBodyResp_ReplyBody
,0);
2477 rcg_dissect_struct_UnpackKdcReplyBodyResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2479 proto_item
*item
= NULL
;
2480 proto_tree
*tree
= NULL
;
2485 old_offset
= offset
;
2488 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2489 tree
= proto_item_add_subtree(item
, ett_rcg_UnpackKdcReplyBodyResp
);
2492 offset
= rcg_dissect_element_UnpackKdcReplyBodyResp_KerbProtocolError(tvb
, offset
, pinfo
, tree
, di
, drep
);
2494 offset
= rcg_dissect_element_UnpackKdcReplyBodyResp_ReplyBody(tvb
, offset
, pinfo
, tree
, di
, drep
);
2497 proto_item_set_len(item
, offset
-old_offset
);
2500 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2509 /* IDL: [ref] KERB_ASN1_DATA *RequestBody; */
2510 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
2511 /* IDL: uint32 ChecksumType; */
2515 rcg_dissect_element_ComputeTgsChecksumReq_RequestBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2517 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_ComputeTgsChecksumReq_RequestBody_
, NDR_POINTER_REF
, "Pointer to RequestBody (KERB_ASN1_DATA)",hf_rcg_ComputeTgsChecksumReq_RequestBody
);
2523 rcg_dissect_element_ComputeTgsChecksumReq_RequestBody_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2525 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_ComputeTgsChecksumReq_RequestBody
,0);
2531 rcg_dissect_element_ComputeTgsChecksumReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2533 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_ComputeTgsChecksumReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_ComputeTgsChecksumReq_Key
);
2539 rcg_dissect_element_ComputeTgsChecksumReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2541 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_ComputeTgsChecksumReq_Key
,0);
2547 rcg_dissect_element_ComputeTgsChecksumReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2549 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_ComputeTgsChecksumReq_ChecksumType
, 0);
2555 rcg_dissect_struct_ComputeTgsChecksumReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2557 proto_item
*item
= NULL
;
2558 proto_tree
*tree
= NULL
;
2563 old_offset
= offset
;
2566 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2567 tree
= proto_item_add_subtree(item
, ett_rcg_ComputeTgsChecksumReq
);
2570 offset
= rcg_dissect_element_ComputeTgsChecksumReq_RequestBody(tvb
, offset
, pinfo
, tree
, di
, drep
);
2572 offset
= rcg_dissect_element_ComputeTgsChecksumReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
2574 offset
= rcg_dissect_element_ComputeTgsChecksumReq_ChecksumType(tvb
, offset
, pinfo
, tree
, di
, drep
);
2577 proto_item_set_len(item
, offset
-old_offset
);
2580 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2589 /* IDL: KERB_ASN1_DATA_CHECKSUM Checksum; */
2593 rcg_dissect_element_ComputeTgsChecksumResp_Checksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2595 offset
= rcg_dissect_struct_KERB_ASN1_DATA_CHECKSUM(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_ComputeTgsChecksumResp_Checksum
,0);
2601 rcg_dissect_struct_ComputeTgsChecksumResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2603 proto_item
*item
= NULL
;
2604 proto_tree
*tree
= NULL
;
2609 old_offset
= offset
;
2612 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2613 tree
= proto_item_add_subtree(item
, ett_rcg_ComputeTgsChecksumResp
);
2616 offset
= rcg_dissect_element_ComputeTgsChecksumResp_Checksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
2619 proto_item_set_len(item
, offset
-old_offset
);
2622 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2631 /* IDL: uint32 KeyUsage; */
2632 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
2633 /* IDL: [ref] KERB_ASN1_DATA *PlainAuthData; */
2637 rcg_dissect_element_BuildEncryptedAuthDataReq_KeyUsage(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2639 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_BuildEncryptedAuthDataReq_KeyUsage
, 0);
2645 rcg_dissect_element_BuildEncryptedAuthDataReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2647 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_BuildEncryptedAuthDataReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_BuildEncryptedAuthDataReq_Key
);
2653 rcg_dissect_element_BuildEncryptedAuthDataReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2655 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildEncryptedAuthDataReq_Key
,0);
2661 rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2663 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData_
, NDR_POINTER_REF
, "Pointer to PlainAuthData (KERB_ASN1_DATA)",hf_rcg_BuildEncryptedAuthDataReq_PlainAuthData
);
2669 rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2671 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildEncryptedAuthDataReq_PlainAuthData
,0);
2677 rcg_dissect_struct_BuildEncryptedAuthDataReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2679 proto_item
*item
= NULL
;
2680 proto_tree
*tree
= NULL
;
2685 old_offset
= offset
;
2688 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2689 tree
= proto_item_add_subtree(item
, ett_rcg_BuildEncryptedAuthDataReq
);
2692 offset
= rcg_dissect_element_BuildEncryptedAuthDataReq_KeyUsage(tvb
, offset
, pinfo
, tree
, di
, drep
);
2694 offset
= rcg_dissect_element_BuildEncryptedAuthDataReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
2696 offset
= rcg_dissect_element_BuildEncryptedAuthDataReq_PlainAuthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
2699 proto_item_set_len(item
, offset
-old_offset
);
2702 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2711 /* IDL: KERB_ASN1_DATA EncryptedAuthData; */
2715 rcg_dissect_element_BuildEncryptedAuthDataResp_EncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2717 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_BuildEncryptedAuthDataResp_EncryptedAuthData
,0);
2723 rcg_dissect_struct_BuildEncryptedAuthDataResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2725 proto_item
*item
= NULL
;
2726 proto_tree
*tree
= NULL
;
2731 old_offset
= offset
;
2734 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2735 tree
= proto_item_add_subtree(item
, ett_rcg_BuildEncryptedAuthDataResp
);
2738 offset
= rcg_dissect_element_BuildEncryptedAuthDataResp_EncryptedAuthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
2741 proto_item_set_len(item
, offset
-old_offset
);
2744 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2753 /* IDL: [ref] KERB_ASN1_DATA *Reply; */
2754 /* IDL: [ref] KERB_ASN1_DATA *ReplyBody; */
2755 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *SessionKey; */
2759 rcg_dissect_element_PackApReplyReq_Reply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2761 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_PackApReplyReq_Reply_
, NDR_POINTER_REF
, "Pointer to Reply (KERB_ASN1_DATA)",hf_rcg_PackApReplyReq_Reply
);
2767 rcg_dissect_element_PackApReplyReq_Reply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2769 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_PackApReplyReq_Reply
,0);
2775 rcg_dissect_element_PackApReplyReq_ReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2777 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_PackApReplyReq_ReplyBody_
, NDR_POINTER_REF
, "Pointer to ReplyBody (KERB_ASN1_DATA)",hf_rcg_PackApReplyReq_ReplyBody
);
2783 rcg_dissect_element_PackApReplyReq_ReplyBody_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2785 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_PackApReplyReq_ReplyBody
,0);
2791 rcg_dissect_element_PackApReplyReq_SessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2793 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_PackApReplyReq_SessionKey_
, NDR_POINTER_REF
, "Pointer to SessionKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_PackApReplyReq_SessionKey
);
2799 rcg_dissect_element_PackApReplyReq_SessionKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2801 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_PackApReplyReq_SessionKey
,0);
2807 rcg_dissect_struct_PackApReplyReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2809 proto_item
*item
= NULL
;
2810 proto_tree
*tree
= NULL
;
2815 old_offset
= offset
;
2818 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2819 tree
= proto_item_add_subtree(item
, ett_rcg_PackApReplyReq
);
2822 offset
= rcg_dissect_element_PackApReplyReq_Reply(tvb
, offset
, pinfo
, tree
, di
, drep
);
2824 offset
= rcg_dissect_element_PackApReplyReq_ReplyBody(tvb
, offset
, pinfo
, tree
, di
, drep
);
2826 offset
= rcg_dissect_element_PackApReplyReq_SessionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
2829 proto_item_set_len(item
, offset
-old_offset
);
2832 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2841 /* IDL: uint32 PackedReplySize; */
2842 /* IDL: [ref] [size_is(PackedReplySize)] uint8 *PackedReply; */
2846 rcg_dissect_element_PackApReplyResp_PackedReplySize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2848 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_PackApReplyResp_PackedReplySize
, 0);
2854 rcg_dissect_element_PackApReplyResp_PackedReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2856 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_PackApReplyResp_PackedReply_
, NDR_POINTER_REF
, "Pointer to PackedReply (uint8)",hf_rcg_PackApReplyResp_PackedReply
);
2862 rcg_dissect_element_PackApReplyResp_PackedReply_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2864 struct ndr_generic_array nga
= { .is_conformant
= false, };
2866 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2868 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_PackApReplyResp_PackedReply__
);
2874 rcg_dissect_element_PackApReplyResp_PackedReply__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2876 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_PackApReplyResp_PackedReply
, 0);
2882 rcg_dissect_struct_PackApReplyResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2884 proto_item
*item
= NULL
;
2885 proto_tree
*tree
= NULL
;
2890 old_offset
= offset
;
2893 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2894 tree
= proto_item_add_subtree(item
, ett_rcg_PackApReplyResp
);
2897 offset
= rcg_dissect_element_PackApReplyResp_PackedReplySize(tvb
, offset
, pinfo
, tree
, di
, drep
);
2899 offset
= rcg_dissect_element_PackApReplyResp_PackedReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
2902 proto_item_set_len(item
, offset
-old_offset
);
2905 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2914 /* IDL: [ref] KERB_ASN1_DATA *S4UPreauth; */
2915 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
2916 /* IDL: int32 ChecksumType; */
2920 rcg_dissect_element_HashS4UPreauthReq_S4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2922 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_HashS4UPreauthReq_S4UPreauth_
, NDR_POINTER_REF
, "Pointer to S4UPreauth (KERB_ASN1_DATA)",hf_rcg_HashS4UPreauthReq_S4UPreauth
);
2928 rcg_dissect_element_HashS4UPreauthReq_S4UPreauth_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2930 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_HashS4UPreauthReq_S4UPreauth
,0);
2936 rcg_dissect_element_HashS4UPreauthReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2938 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_HashS4UPreauthReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_HashS4UPreauthReq_Key
);
2944 rcg_dissect_element_HashS4UPreauthReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2946 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_HashS4UPreauthReq_Key
,0);
2952 rcg_dissect_element_HashS4UPreauthReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2954 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_HashS4UPreauthReq_ChecksumType
, 0);
2960 rcg_dissect_struct_HashS4UPreauthReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2962 proto_item
*item
= NULL
;
2963 proto_tree
*tree
= NULL
;
2968 old_offset
= offset
;
2971 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2972 tree
= proto_item_add_subtree(item
, ett_rcg_HashS4UPreauthReq
);
2975 offset
= rcg_dissect_element_HashS4UPreauthReq_S4UPreauth(tvb
, offset
, pinfo
, tree
, di
, drep
);
2977 offset
= rcg_dissect_element_HashS4UPreauthReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
2979 offset
= rcg_dissect_element_HashS4UPreauthReq_ChecksumType(tvb
, offset
, pinfo
, tree
, di
, drep
);
2982 proto_item_set_len(item
, offset
-old_offset
);
2985 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2994 /* IDL: [ref] uint32 *ChecksumSize; */
2995 /* IDL: [ref] [size_is(,*ChecksumSize)] uint8 **ChecksumValue; */
2999 rcg_dissect_element_HashS4UPreauthResp_ChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3001 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_HashS4UPreauthResp_ChecksumSize_
, NDR_POINTER_REF
, "Pointer to ChecksumSize (uint32)",hf_rcg_HashS4UPreauthResp_ChecksumSize
);
3007 rcg_dissect_element_HashS4UPreauthResp_ChecksumSize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3009 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_HashS4UPreauthResp_ChecksumSize
, 0);
3015 rcg_dissect_element_HashS4UPreauthResp_ChecksumValue(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3017 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_HashS4UPreauthResp_ChecksumValue_
, NDR_POINTER_REF
, "Pointer to ChecksumValue (uint8)",hf_rcg_HashS4UPreauthResp_ChecksumValue
);
3023 rcg_dissect_element_HashS4UPreauthResp_ChecksumValue_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3025 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_HashS4UPreauthResp_ChecksumValue__
, NDR_POINTER_REF
, "Pointer to ChecksumValue (uint8)",hf_rcg_HashS4UPreauthResp_ChecksumValue
);
3031 rcg_dissect_element_HashS4UPreauthResp_ChecksumValue__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3033 struct ndr_generic_array nga
= { .is_conformant
= false, };
3035 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3037 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_HashS4UPreauthResp_ChecksumValue___
);
3043 rcg_dissect_element_HashS4UPreauthResp_ChecksumValue___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3045 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_HashS4UPreauthResp_ChecksumValue
, 0);
3051 rcg_dissect_struct_HashS4UPreauthResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3053 proto_item
*item
= NULL
;
3054 proto_tree
*tree
= NULL
;
3059 old_offset
= offset
;
3062 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3063 tree
= proto_item_add_subtree(item
, ett_rcg_HashS4UPreauthResp
);
3066 offset
= rcg_dissect_element_HashS4UPreauthResp_ChecksumSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3068 offset
= rcg_dissect_element_HashS4UPreauthResp_ChecksumValue(tvb
, offset
, pinfo
, tree
, di
, drep
);
3071 proto_item_set_len(item
, offset
-old_offset
);
3074 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3083 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
3084 /* IDL: uint32 IsRequest; */
3085 /* IDL: [ref] KERB_ASN1_DATA *UserId; */
3086 /* IDL: [ref] int32 *ChecksumType; */
3090 rcg_dissect_element_SignS4UPreauthDataReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3092 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_SignS4UPreauthDataReq_Key
);
3098 rcg_dissect_element_SignS4UPreauthDataReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3100 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_SignS4UPreauthDataReq_Key
,0);
3106 rcg_dissect_element_SignS4UPreauthDataReq_IsRequest(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3108 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SignS4UPreauthDataReq_IsRequest
, 0);
3114 rcg_dissect_element_SignS4UPreauthDataReq_UserId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3116 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataReq_UserId_
, NDR_POINTER_REF
, "Pointer to UserId (KERB_ASN1_DATA)",hf_rcg_SignS4UPreauthDataReq_UserId
);
3122 rcg_dissect_element_SignS4UPreauthDataReq_UserId_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3124 offset
= rcg_dissect_struct_KERB_ASN1_DATA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_SignS4UPreauthDataReq_UserId
,0);
3130 rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3132 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType_
, NDR_POINTER_REF
, "Pointer to ChecksumType (int32)",hf_rcg_SignS4UPreauthDataReq_ChecksumType
);
3138 rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3140 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SignS4UPreauthDataReq_ChecksumType
, 0);
3146 rcg_dissect_struct_SignS4UPreauthDataReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3148 proto_item
*item
= NULL
;
3149 proto_tree
*tree
= NULL
;
3154 old_offset
= offset
;
3157 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3158 tree
= proto_item_add_subtree(item
, ett_rcg_SignS4UPreauthDataReq
);
3161 offset
= rcg_dissect_element_SignS4UPreauthDataReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
3163 offset
= rcg_dissect_element_SignS4UPreauthDataReq_IsRequest(tvb
, offset
, pinfo
, tree
, di
, drep
);
3165 offset
= rcg_dissect_element_SignS4UPreauthDataReq_UserId(tvb
, offset
, pinfo
, tree
, di
, drep
);
3167 offset
= rcg_dissect_element_SignS4UPreauthDataReq_ChecksumType(tvb
, offset
, pinfo
, tree
, di
, drep
);
3170 proto_item_set_len(item
, offset
-old_offset
);
3173 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3182 /* IDL: [ref] int32 *ChecksumType; */
3183 /* IDL: [ref] uint32 *ChecksumSize; */
3184 /* IDL: [ref] [size_is(,*ChecksumSize)] uint8 **ChecksumValue; */
3188 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3190 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType_
, NDR_POINTER_REF
, "Pointer to ChecksumType (int32)",hf_rcg_SignS4UPreauthDataResp_ChecksumType
);
3196 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3198 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SignS4UPreauthDataResp_ChecksumType
, 0);
3204 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3206 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize_
, NDR_POINTER_REF
, "Pointer to ChecksumSize (uint32)",hf_rcg_SignS4UPreauthDataResp_ChecksumSize
);
3212 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3214 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SignS4UPreauthDataResp_ChecksumSize
, 0);
3220 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3222 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue_
, NDR_POINTER_REF
, "Pointer to ChecksumValue (uint8)",hf_rcg_SignS4UPreauthDataResp_ChecksumValue
);
3228 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3230 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue__
, NDR_POINTER_REF
, "Pointer to ChecksumValue (uint8)",hf_rcg_SignS4UPreauthDataResp_ChecksumValue
);
3236 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3238 struct ndr_generic_array nga
= { .is_conformant
= false, };
3240 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3242 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue___
);
3248 rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3250 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_SignS4UPreauthDataResp_ChecksumValue
, 0);
3256 rcg_dissect_struct_SignS4UPreauthDataResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3258 proto_item
*item
= NULL
;
3259 proto_tree
*tree
= NULL
;
3264 old_offset
= offset
;
3267 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3268 tree
= proto_item_add_subtree(item
, ett_rcg_SignS4UPreauthDataResp
);
3271 offset
= rcg_dissect_element_SignS4UPreauthDataResp_ChecksumType(tvb
, offset
, pinfo
, tree
, di
, drep
);
3273 offset
= rcg_dissect_element_SignS4UPreauthDataResp_ChecksumSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3275 offset
= rcg_dissect_element_SignS4UPreauthDataResp_ChecksumValue(tvb
, offset
, pinfo
, tree
, di
, drep
);
3278 proto_item_set_len(item
, offset
-old_offset
);
3281 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3290 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
3291 /* IDL: uint32 ChecksumType; */
3292 /* IDL: uint32 ExpectedChecksumSize; */
3293 /* IDL: [ref] [size_is(ExpectedChecksumSize)] uint8 *ExpectedChecksum; */
3294 /* IDL: uint32 DataToCheckSize; */
3295 /* IDL: [ref] [size_is(DataToCheckSize)] uint8 *DataToCheck; */
3299 rcg_dissect_element_VerifyChecksumReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3301 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyChecksumReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_VerifyChecksumReq_Key
);
3307 rcg_dissect_element_VerifyChecksumReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3309 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_VerifyChecksumReq_Key
,0);
3315 rcg_dissect_element_VerifyChecksumReq_ChecksumType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3317 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumReq_ChecksumType
, 0);
3323 rcg_dissect_element_VerifyChecksumReq_ExpectedChecksumSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3325 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumReq_ExpectedChecksumSize
, 0);
3331 rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3333 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum_
, NDR_POINTER_REF
, "Pointer to ExpectedChecksum (uint8)",hf_rcg_VerifyChecksumReq_ExpectedChecksum
);
3339 rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3341 struct ndr_generic_array nga
= { .is_conformant
= false, };
3343 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3345 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum__
);
3351 rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3353 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumReq_ExpectedChecksum
, 0);
3359 rcg_dissect_element_VerifyChecksumReq_DataToCheckSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3361 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumReq_DataToCheckSize
, 0);
3367 rcg_dissect_element_VerifyChecksumReq_DataToCheck(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3369 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_VerifyChecksumReq_DataToCheck_
, NDR_POINTER_REF
, "Pointer to DataToCheck (uint8)",hf_rcg_VerifyChecksumReq_DataToCheck
);
3375 rcg_dissect_element_VerifyChecksumReq_DataToCheck_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3377 struct ndr_generic_array nga
= { .is_conformant
= false, };
3379 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3381 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_VerifyChecksumReq_DataToCheck__
);
3387 rcg_dissect_element_VerifyChecksumReq_DataToCheck__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3389 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumReq_DataToCheck
, 0);
3395 rcg_dissect_struct_VerifyChecksumReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3397 proto_item
*item
= NULL
;
3398 proto_tree
*tree
= NULL
;
3403 old_offset
= offset
;
3406 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3407 tree
= proto_item_add_subtree(item
, ett_rcg_VerifyChecksumReq
);
3410 offset
= rcg_dissect_element_VerifyChecksumReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
3412 offset
= rcg_dissect_element_VerifyChecksumReq_ChecksumType(tvb
, offset
, pinfo
, tree
, di
, drep
);
3414 offset
= rcg_dissect_element_VerifyChecksumReq_ExpectedChecksumSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3416 offset
= rcg_dissect_element_VerifyChecksumReq_ExpectedChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
3418 offset
= rcg_dissect_element_VerifyChecksumReq_DataToCheckSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3420 offset
= rcg_dissect_element_VerifyChecksumReq_DataToCheck(tvb
, offset
, pinfo
, tree
, di
, drep
);
3423 proto_item_set_len(item
, offset
-old_offset
);
3426 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3435 /* IDL: uint32 IsValid; */
3439 rcg_dissect_element_VerifyChecksumResp_IsValid(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3441 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_VerifyChecksumResp_IsValid
, 0);
3447 rcg_dissect_struct_VerifyChecksumResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3449 proto_item
*item
= NULL
;
3450 proto_tree
*tree
= NULL
;
3455 old_offset
= offset
;
3458 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3459 tree
= proto_item_add_subtree(item
, ett_rcg_VerifyChecksumResp
);
3462 offset
= rcg_dissect_element_VerifyChecksumResp_IsValid(tvb
, offset
, pinfo
, tree
, di
, drep
);
3465 proto_item_set_len(item
, offset
-old_offset
);
3468 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3477 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *Key; */
3478 /* IDL: uint32 Version; */
3479 /* IDL: uint32 EncryptionType; */
3480 /* IDL: uint32 DataSize; */
3481 /* IDL: [ref] [size_is(DataSize)] uint8 *Data; */
3485 rcg_dissect_element_DecryptPacCredentialsReq_Key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3487 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_DecryptPacCredentialsReq_Key_
, NDR_POINTER_REF
, "Pointer to Key (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_DecryptPacCredentialsReq_Key
);
3493 rcg_dissect_element_DecryptPacCredentialsReq_Key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3495 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_DecryptPacCredentialsReq_Key
,0);
3501 rcg_dissect_element_DecryptPacCredentialsReq_Version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3503 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DecryptPacCredentialsReq_Version
, 0);
3509 rcg_dissect_element_DecryptPacCredentialsReq_EncryptionType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3511 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DecryptPacCredentialsReq_EncryptionType
, 0);
3517 rcg_dissect_element_DecryptPacCredentialsReq_DataSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3519 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DecryptPacCredentialsReq_DataSize
, 0);
3525 rcg_dissect_element_DecryptPacCredentialsReq_Data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3527 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_DecryptPacCredentialsReq_Data_
, NDR_POINTER_REF
, "Pointer to Data (uint8)",hf_rcg_DecryptPacCredentialsReq_Data
);
3533 rcg_dissect_element_DecryptPacCredentialsReq_Data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3535 struct ndr_generic_array nga
= { .is_conformant
= false, };
3537 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3539 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_DecryptPacCredentialsReq_Data__
);
3545 rcg_dissect_element_DecryptPacCredentialsReq_Data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3547 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DecryptPacCredentialsReq_Data
, 0);
3553 rcg_dissect_struct_DecryptPacCredentialsReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3555 proto_item
*item
= NULL
;
3556 proto_tree
*tree
= NULL
;
3561 old_offset
= offset
;
3564 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3565 tree
= proto_item_add_subtree(item
, ett_rcg_DecryptPacCredentialsReq
);
3568 offset
= rcg_dissect_element_DecryptPacCredentialsReq_Key(tvb
, offset
, pinfo
, tree
, di
, drep
);
3570 offset
= rcg_dissect_element_DecryptPacCredentialsReq_Version(tvb
, offset
, pinfo
, tree
, di
, drep
);
3572 offset
= rcg_dissect_element_DecryptPacCredentialsReq_EncryptionType(tvb
, offset
, pinfo
, tree
, di
, drep
);
3574 offset
= rcg_dissect_element_DecryptPacCredentialsReq_DataSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3576 offset
= rcg_dissect_element_DecryptPacCredentialsReq_Data(tvb
, offset
, pinfo
, tree
, di
, drep
);
3579 proto_item_set_len(item
, offset
-old_offset
);
3582 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3591 /* IDL: PSECPKG_SUPPLEMENTAL_CRED_ARRAY Credentials; */
3595 rcg_dissect_element_DecryptPacCredentialsResp_Credentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3597 offset
= rcg_dissect_struct_PSECPKG_SUPPLEMENTAL_CRED_ARRAY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_DecryptPacCredentialsResp_Credentials
,0);
3603 rcg_dissect_struct_DecryptPacCredentialsResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3605 proto_item
*item
= NULL
;
3606 proto_tree
*tree
= NULL
;
3611 old_offset
= offset
;
3614 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3615 tree
= proto_item_add_subtree(item
, ett_rcg_DecryptPacCredentialsResp
);
3618 offset
= rcg_dissect_element_DecryptPacCredentialsResp_Credentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
3621 proto_item_set_len(item
, offset
-old_offset
);
3624 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3633 /* IDL: uint32 KeyBitLen; */
3637 rcg_dissect_element_CreateECDHKeyAgreementReq_KeyBitLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3639 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateECDHKeyAgreementReq_KeyBitLen
, 0);
3645 rcg_dissect_struct_CreateECDHKeyAgreementReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3647 proto_item
*item
= NULL
;
3648 proto_tree
*tree
= NULL
;
3653 old_offset
= offset
;
3656 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3657 tree
= proto_item_add_subtree(item
, ett_rcg_CreateECDHKeyAgreementReq
);
3660 offset
= rcg_dissect_element_CreateECDHKeyAgreementReq_KeyBitLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
3663 proto_item_set_len(item
, offset
-old_offset
);
3666 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3675 /* IDL: [ref] int64 *KeyAgreementHandle; */
3676 /* IDL: [ref] int32 *KerbErr; */
3677 /* IDL: [ref] uint32 *EncodedPubKeyLen; */
3678 /* IDL: [ref] [size_is(,*EncodedPubKeyLen)] uint8 **EncodedPubKey; */
3682 rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3684 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle_
, NDR_POINTER_REF
, "Pointer to KeyAgreementHandle (int64)",hf_rcg_CreateECDHKeyAgreementResp_KeyAgreementHandle
);
3690 rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3692 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateECDHKeyAgreementResp_KeyAgreementHandle
, 0);
3698 rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3700 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr_
, NDR_POINTER_REF
, "Pointer to KerbErr (int32)",hf_rcg_CreateECDHKeyAgreementResp_KerbErr
);
3706 rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3708 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateECDHKeyAgreementResp_KerbErr
, 0);
3714 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3716 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen_
, NDR_POINTER_REF
, "Pointer to EncodedPubKeyLen (uint32)",hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKeyLen
);
3722 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3724 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKeyLen
, 0);
3730 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3732 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey_
, NDR_POINTER_REF
, "Pointer to EncodedPubKey (uint8)",hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKey
);
3738 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3740 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey__
, NDR_POINTER_REF
, "Pointer to EncodedPubKey (uint8)",hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKey
);
3746 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3748 struct ndr_generic_array nga
= { .is_conformant
= false, };
3750 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3752 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey___
);
3758 rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3760 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKey
, 0);
3766 rcg_dissect_struct_CreateECDHKeyAgreementResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3768 proto_item
*item
= NULL
;
3769 proto_tree
*tree
= NULL
;
3774 old_offset
= offset
;
3777 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3778 tree
= proto_item_add_subtree(item
, ett_rcg_CreateECDHKeyAgreementResp
);
3781 offset
= rcg_dissect_element_CreateECDHKeyAgreementResp_KeyAgreementHandle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3783 offset
= rcg_dissect_element_CreateECDHKeyAgreementResp_KerbErr(tvb
, offset
, pinfo
, tree
, di
, drep
);
3785 offset
= rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKeyLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
3787 offset
= rcg_dissect_element_CreateECDHKeyAgreementResp_EncodedPubKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
3790 proto_item_set_len(item
, offset
-old_offset
);
3793 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
3802 /* IDL: uint8 Ignored; */
3806 rcg_dissect_element_CreateDHKeyAgreementReq_Ignored(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3808 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateDHKeyAgreementReq_Ignored
, 0);
3814 rcg_dissect_struct_CreateDHKeyAgreementReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3816 proto_item
*item
= NULL
;
3817 proto_tree
*tree
= NULL
;
3820 old_offset
= offset
;
3823 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3824 tree
= proto_item_add_subtree(item
, ett_rcg_CreateDHKeyAgreementReq
);
3827 offset
= rcg_dissect_element_CreateDHKeyAgreementReq_Ignored(tvb
, offset
, pinfo
, tree
, di
, drep
);
3830 proto_item_set_len(item
, offset
-old_offset
);
3838 /* IDL: [ref] KERB_RPC_CRYPTO_API_BLOB *ModulusP; */
3839 /* IDL: [ref] KERB_RPC_CRYPTO_API_BLOB *GeneratorG; */
3840 /* IDL: [ref] KERB_RPC_CRYPTO_API_BLOB *FactorQ; */
3841 /* IDL: [ref] int64 *KeyAgreementHandle; */
3842 /* IDL: [ref] int32 *KerbErr; */
3843 /* IDL: [ref] uint32 *LittleEndianPublicKeyLen; */
3844 /* IDL: [ref] [size_is(,*LittleEndianPublicKeyLen)] uint8 **LittleEndianPublicKey; */
3848 rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3850 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP_
, NDR_POINTER_REF
, "Pointer to ModulusP (KERB_RPC_CRYPTO_API_BLOB)",hf_rcg_CreateDHKeyAgreementResp_ModulusP
);
3856 rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3858 offset
= rcg_dissect_struct_KERB_RPC_CRYPTO_API_BLOB(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateDHKeyAgreementResp_ModulusP
,0);
3864 rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3866 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG_
, NDR_POINTER_REF
, "Pointer to GeneratorG (KERB_RPC_CRYPTO_API_BLOB)",hf_rcg_CreateDHKeyAgreementResp_GeneratorG
);
3872 rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3874 offset
= rcg_dissect_struct_KERB_RPC_CRYPTO_API_BLOB(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateDHKeyAgreementResp_GeneratorG
,0);
3880 rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3882 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ_
, NDR_POINTER_REF
, "Pointer to FactorQ (KERB_RPC_CRYPTO_API_BLOB)",hf_rcg_CreateDHKeyAgreementResp_FactorQ
);
3888 rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3890 offset
= rcg_dissect_struct_KERB_RPC_CRYPTO_API_BLOB(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CreateDHKeyAgreementResp_FactorQ
,0);
3896 rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3898 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle_
, NDR_POINTER_REF
, "Pointer to KeyAgreementHandle (int64)",hf_rcg_CreateDHKeyAgreementResp_KeyAgreementHandle
);
3904 rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3906 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateDHKeyAgreementResp_KeyAgreementHandle
, 0);
3912 rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3914 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr_
, NDR_POINTER_REF
, "Pointer to KerbErr (int32)",hf_rcg_CreateDHKeyAgreementResp_KerbErr
);
3920 rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3922 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateDHKeyAgreementResp_KerbErr
, 0);
3928 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3930 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen_
, NDR_POINTER_REF
, "Pointer to LittleEndianPublicKeyLen (uint32)",hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen
);
3936 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3938 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen
, 0);
3944 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3946 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey_
, NDR_POINTER_REF
, "Pointer to LittleEndianPublicKey (uint8)",hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKey
);
3952 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3954 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey__
, NDR_POINTER_REF
, "Pointer to LittleEndianPublicKey (uint8)",hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKey
);
3960 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3962 struct ndr_generic_array nga
= { .is_conformant
= false, };
3964 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3966 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey___
);
3972 rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3974 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKey
, 0);
3980 rcg_dissect_struct_CreateDHKeyAgreementResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
3982 proto_item
*item
= NULL
;
3983 proto_tree
*tree
= NULL
;
3988 old_offset
= offset
;
3991 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
3992 tree
= proto_item_add_subtree(item
, ett_rcg_CreateDHKeyAgreementResp
);
3995 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_ModulusP(tvb
, offset
, pinfo
, tree
, di
, drep
);
3997 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_GeneratorG(tvb
, offset
, pinfo
, tree
, di
, drep
);
3999 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_FactorQ(tvb
, offset
, pinfo
, tree
, di
, drep
);
4001 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_KeyAgreementHandle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4003 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_KerbErr(tvb
, offset
, pinfo
, tree
, di
, drep
);
4005 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
4007 offset
= rcg_dissect_element_CreateDHKeyAgreementResp_LittleEndianPublicKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
4010 proto_item_set_len(item
, offset
-old_offset
);
4013 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4022 /* IDL: int64 KeyAgreementHandle; */
4026 rcg_dissect_element_DestroyKeyAgreementReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4028 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DestroyKeyAgreementReq_KeyAgreementHandle
, 0);
4034 rcg_dissect_struct_DestroyKeyAgreementReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4036 proto_item
*item
= NULL
;
4037 proto_tree
*tree
= NULL
;
4042 old_offset
= offset
;
4045 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4046 tree
= proto_item_add_subtree(item
, ett_rcg_DestroyKeyAgreementReq
);
4049 offset
= rcg_dissect_element_DestroyKeyAgreementReq_KeyAgreementHandle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4052 proto_item_set_len(item
, offset
-old_offset
);
4055 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4064 /* IDL: uint8 Ignored; */
4068 rcg_dissect_element_DestroyKeyAgreementResp_Ignored(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4070 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_DestroyKeyAgreementResp_Ignored
, 0);
4076 rcg_dissect_struct_DestroyKeyAgreementResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4078 proto_item
*item
= NULL
;
4079 proto_tree
*tree
= NULL
;
4082 old_offset
= offset
;
4085 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4086 tree
= proto_item_add_subtree(item
, ett_rcg_DestroyKeyAgreementResp
);
4089 offset
= rcg_dissect_element_DestroyKeyAgreementResp_Ignored(tvb
, offset
, pinfo
, tree
, di
, drep
);
4092 proto_item_set_len(item
, offset
-old_offset
);
4100 /* IDL: int64 KeyAgreementHandle; */
4104 rcg_dissect_element_KeyAgreementGenerateNonceReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4106 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KeyAgreementGenerateNonceReq_KeyAgreementHandle
, 0);
4112 rcg_dissect_struct_KeyAgreementGenerateNonceReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4114 proto_item
*item
= NULL
;
4115 proto_tree
*tree
= NULL
;
4120 old_offset
= offset
;
4123 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4124 tree
= proto_item_add_subtree(item
, ett_rcg_KeyAgreementGenerateNonceReq
);
4127 offset
= rcg_dissect_element_KeyAgreementGenerateNonceReq_KeyAgreementHandle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4130 proto_item_set_len(item
, offset
-old_offset
);
4133 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4142 /* IDL: [ref] uint32 *NonceLen; */
4143 /* IDL: [ref] [size_is(,*NonceLen)] uint8 **Nonce; */
4147 rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4149 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen_
, NDR_POINTER_REF
, "Pointer to NonceLen (uint32)",hf_rcg_KeyAgreementGenerateNonceResp_NonceLen
);
4155 rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4157 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KeyAgreementGenerateNonceResp_NonceLen
, 0);
4163 rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4165 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce_
, NDR_POINTER_REF
, "Pointer to Nonce (uint8)",hf_rcg_KeyAgreementGenerateNonceResp_Nonce
);
4171 rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4173 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce__
, NDR_POINTER_REF
, "Pointer to Nonce (uint8)",hf_rcg_KeyAgreementGenerateNonceResp_Nonce
);
4179 rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4181 struct ndr_generic_array nga
= { .is_conformant
= false, };
4183 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4185 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce___
);
4191 rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce___(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4193 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KeyAgreementGenerateNonceResp_Nonce
, 0);
4199 rcg_dissect_struct_KeyAgreementGenerateNonceResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4201 proto_item
*item
= NULL
;
4202 proto_tree
*tree
= NULL
;
4207 old_offset
= offset
;
4210 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4211 tree
= proto_item_add_subtree(item
, ett_rcg_KeyAgreementGenerateNonceResp
);
4214 offset
= rcg_dissect_element_KeyAgreementGenerateNonceResp_NonceLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
4216 offset
= rcg_dissect_element_KeyAgreementGenerateNonceResp_Nonce(tvb
, offset
, pinfo
, tree
, di
, drep
);
4219 proto_item_set_len(item
, offset
-old_offset
);
4222 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4231 /* IDL: [ref] int64 *KeyAgreementHandle; */
4232 /* IDL: [ref] uint32 *KerbEType; */
4233 /* IDL: uint32 RemoteNonceLen; */
4234 /* IDL: [ref] [size_is(RemoteNonceLen)] uint8 *RemoteNonce; */
4235 /* IDL: uint32 X509PublicKeyLen; */
4236 /* IDL: [ref] [size_is(X509PublicKeyLen)] uint8 *X509PublicKey; */
4240 rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4242 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle_
, NDR_POINTER_REF
, "Pointer to KeyAgreementHandle (int64)",hf_rcg_FinalizeKeyAgreementReq_KeyAgreementHandle
);
4248 rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4250 offset
= PIDL_dissect_uint64(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_KeyAgreementHandle
, 0);
4256 rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4258 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType_
, NDR_POINTER_REF
, "Pointer to KerbEType (uint32)",hf_rcg_FinalizeKeyAgreementReq_KerbEType
);
4264 rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4266 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_KerbEType
, 0);
4272 rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonceLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4274 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_RemoteNonceLen
, 0);
4280 rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4282 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce_
, NDR_POINTER_REF
, "Pointer to RemoteNonce (uint8)",hf_rcg_FinalizeKeyAgreementReq_RemoteNonce
);
4288 rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4290 struct ndr_generic_array nga
= { .is_conformant
= false, };
4292 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4294 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce__
);
4300 rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4302 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_RemoteNonce
, 0);
4308 rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKeyLen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4310 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_X509PublicKeyLen
, 0);
4316 rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4318 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey_
, NDR_POINTER_REF
, "Pointer to X509PublicKey (uint8)",hf_rcg_FinalizeKeyAgreementReq_X509PublicKey
);
4324 rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4326 struct ndr_generic_array nga
= { .is_conformant
= false, };
4328 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4330 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey__
);
4336 rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4338 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_FinalizeKeyAgreementReq_X509PublicKey
, 0);
4344 rcg_dissect_struct_FinalizeKeyAgreementReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4346 proto_item
*item
= NULL
;
4347 proto_tree
*tree
= NULL
;
4352 old_offset
= offset
;
4355 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4356 tree
= proto_item_add_subtree(item
, ett_rcg_FinalizeKeyAgreementReq
);
4359 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_KeyAgreementHandle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4361 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_KerbEType(tvb
, offset
, pinfo
, tree
, di
, drep
);
4363 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonceLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
4365 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_RemoteNonce(tvb
, offset
, pinfo
, tree
, di
, drep
);
4367 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKeyLen(tvb
, offset
, pinfo
, tree
, di
, drep
);
4369 offset
= rcg_dissect_element_FinalizeKeyAgreementReq_X509PublicKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
4372 proto_item_set_len(item
, offset
-old_offset
);
4375 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4384 /* IDL: [ref] KERB_RPC_ENCRYPTION_KEY *SharedKey; */
4388 rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4390 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey_
, NDR_POINTER_REF
, "Pointer to SharedKey (KERB_RPC_ENCRYPTION_KEY)",hf_rcg_FinalizeKeyAgreementResp_SharedKey
);
4396 rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4398 offset
= rcg_dissect_struct_KERB_RPC_ENCRYPTION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_FinalizeKeyAgreementResp_SharedKey
,0);
4404 rcg_dissect_struct_FinalizeKeyAgreementResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4406 proto_item
*item
= NULL
;
4407 proto_tree
*tree
= NULL
;
4412 old_offset
= offset
;
4415 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
4416 tree
= proto_item_add_subtree(item
, ett_rcg_FinalizeKeyAgreementResp
);
4419 offset
= rcg_dissect_element_FinalizeKeyAgreementResp_SharedKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
4422 proto_item_set_len(item
, offset
-old_offset
);
4425 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
4433 /* IDL: [flag(LIBNDR_FLAG_ALIGN4)] [switch_type(uint16)] union { */
4434 /* IDL: [case(RemoteCallKerbNegotiateVersion)] [case(RemoteCallKerbNegotiateVersion)] NegotiateVersion negociateVersion; */
4435 /* IDL: [case(RemoteCallKerbBuildAsReqAuthenticator)] [case(RemoteCallKerbBuildAsReqAuthenticator)] BuildAsReqAuthenticatorReq buildAsReqAuthenticator; */
4436 /* IDL: [case(RemoteCallKerbVerifyServiceTicket)] [case(RemoteCallKerbVerifyServiceTicket)] VerifyServiceTicketReq verifyServiceTicket; */
4437 /* IDL: [case(RemoteCallKerbCreateApReqAuthenticator)] [case(RemoteCallKerbCreateApReqAuthenticator)] CreateApReqAuthenticatorReq createApReqAuthenticator; */
4438 /* IDL: [case(RemoteCallKerbDecryptApReply)] [case(RemoteCallKerbDecryptApReply)] DecryptApReplyReq decryptApReply; */
4439 /* IDL: [case(RemoteCallKerbUnpackKdcReplyBody)] [case(RemoteCallKerbUnpackKdcReplyBody)] UnpackKdcReplyBodyReq unpackKdcReplyBody; */
4440 /* IDL: [case(RemoteCallKerbComputeTgsChecksum)] [case(RemoteCallKerbComputeTgsChecksum)] ComputeTgsChecksumReq computeTgsChecksum; */
4441 /* IDL: [case(RemoteCallKerbBuildEncryptedAuthData)] [case(RemoteCallKerbBuildEncryptedAuthData)] BuildEncryptedAuthDataReq buildEncryptedAuthData; */
4442 /* IDL: [case(RemoteCallKerbPackApReply)] [case(RemoteCallKerbPackApReply)] PackApReplyReq packApReply; */
4443 /* IDL: [case(RemoteCallKerbHashS4UPreauth)] [case(RemoteCallKerbHashS4UPreauth)] HashS4UPreauthReq hashS4UPreauth; */
4444 /* IDL: [case(RemoteCallKerbSignS4UPreauthData)] [case(RemoteCallKerbSignS4UPreauthData)] SignS4UPreauthDataReq signS4UPreauthData; */
4445 /* IDL: [case(RemoteCallKerbVerifyChecksum)] [case(RemoteCallKerbVerifyChecksum)] VerifyChecksumReq verifyChecksum; */
4446 /* IDL: [case(RemoteCallKerbDecryptPacCredentials)] [case(RemoteCallKerbDecryptPacCredentials)] DecryptPacCredentialsReq decryptPacCredentials; */
4447 /* IDL: [case(RemoteCallKerbCreateECDHKeyAgreement)] [case(RemoteCallKerbCreateECDHKeyAgreement)] CreateECDHKeyAgreementReq createECDHKeyAgreement; */
4448 /* IDL: [case(RemoteCallKerbCreateDHKeyAgreement)] [case(RemoteCallKerbCreateDHKeyAgreement)] CreateDHKeyAgreementReq createDHKeyAgreement; */
4449 /* IDL: [case(RemoteCallKerbDestroyKeyAgreement)] [case(RemoteCallKerbDestroyKeyAgreement)] DestroyKeyAgreementReq destroyKeyAgreement; */
4450 /* IDL: [case(RemoteCallKerbKeyAgreementGenerateNonce)] [case(RemoteCallKerbKeyAgreementGenerateNonce)] KeyAgreementGenerateNonceReq keyAgreementGenerateNonce; */
4451 /* IDL: [case(RemoteCallKerbFinalizeKeyAgreement)] [case(RemoteCallKerbFinalizeKeyAgreement)] FinalizeKeyAgreementReq finalizeKeyAgreement; */
4455 rcg_dissect_element_KerbInputUnion_negociateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4457 offset
= rcg_dissect_struct_NegotiateVersion(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_negociateVersion
,0);
4463 rcg_dissect_element_KerbInputUnion_buildAsReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4465 offset
= rcg_dissect_struct_BuildAsReqAuthenticatorReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_buildAsReqAuthenticator
,0);
4471 rcg_dissect_element_KerbInputUnion_verifyServiceTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4473 offset
= rcg_dissect_struct_VerifyServiceTicketReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_verifyServiceTicket
,0);
4479 rcg_dissect_element_KerbInputUnion_createApReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4481 offset
= rcg_dissect_struct_CreateApReqAuthenticatorReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_createApReqAuthenticator
,0);
4487 rcg_dissect_element_KerbInputUnion_decryptApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4489 offset
= rcg_dissect_struct_DecryptApReplyReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_decryptApReply
,0);
4495 rcg_dissect_element_KerbInputUnion_unpackKdcReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4497 offset
= rcg_dissect_struct_UnpackKdcReplyBodyReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_unpackKdcReplyBody
,0);
4503 rcg_dissect_element_KerbInputUnion_computeTgsChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4505 offset
= rcg_dissect_struct_ComputeTgsChecksumReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_computeTgsChecksum
,0);
4511 rcg_dissect_element_KerbInputUnion_buildEncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4513 offset
= rcg_dissect_struct_BuildEncryptedAuthDataReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_buildEncryptedAuthData
,0);
4519 rcg_dissect_element_KerbInputUnion_packApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4521 offset
= rcg_dissect_struct_PackApReplyReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_packApReply
,0);
4527 rcg_dissect_element_KerbInputUnion_hashS4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4529 offset
= rcg_dissect_struct_HashS4UPreauthReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_hashS4UPreauth
,0);
4535 rcg_dissect_element_KerbInputUnion_signS4UPreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4537 offset
= rcg_dissect_struct_SignS4UPreauthDataReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_signS4UPreauthData
,0);
4543 rcg_dissect_element_KerbInputUnion_verifyChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4545 offset
= rcg_dissect_struct_VerifyChecksumReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_verifyChecksum
,0);
4551 rcg_dissect_element_KerbInputUnion_decryptPacCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4553 offset
= rcg_dissect_struct_DecryptPacCredentialsReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_decryptPacCredentials
,0);
4559 rcg_dissect_element_KerbInputUnion_createECDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4561 offset
= rcg_dissect_struct_CreateECDHKeyAgreementReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_createECDHKeyAgreement
,0);
4567 rcg_dissect_element_KerbInputUnion_createDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4569 offset
= rcg_dissect_struct_CreateDHKeyAgreementReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_createDHKeyAgreement
,0);
4575 rcg_dissect_element_KerbInputUnion_destroyKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4577 offset
= rcg_dissect_struct_DestroyKeyAgreementReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_destroyKeyAgreement
,0);
4583 rcg_dissect_element_KerbInputUnion_keyAgreementGenerateNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4585 offset
= rcg_dissect_struct_KeyAgreementGenerateNonceReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_keyAgreementGenerateNonce
,0);
4591 rcg_dissect_element_KerbInputUnion_finalizeKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4593 offset
= rcg_dissect_struct_FinalizeKeyAgreementReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbInputUnion_finalizeKeyAgreement
,0);
4599 rcg_dissect_KerbInputUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4601 proto_item
*item
= NULL
;
4602 proto_tree
*tree
= NULL
;
4606 old_offset
= offset
;
4608 tree
= proto_tree_add_subtree(parent_tree
, tvb
, offset
, -1, ett_rcg_KerbInputUnion
, &item
, "KerbInputUnion");
4611 UNION_ALIGN_TO_4_BYTES
;
4612 offset
= dissect_ndr_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, &level
);
4613 UNION_ALIGN_TO_4_BYTES
;
4616 case RemoteCallKerbNegotiateVersion
:
4617 offset
= rcg_dissect_element_KerbInputUnion_negociateVersion(tvb
, offset
, pinfo
, tree
, di
, drep
);
4620 case RemoteCallKerbBuildAsReqAuthenticator
:
4621 offset
= rcg_dissect_element_KerbInputUnion_buildAsReqAuthenticator(tvb
, offset
, pinfo
, tree
, di
, drep
);
4624 case RemoteCallKerbVerifyServiceTicket
:
4625 offset
= rcg_dissect_element_KerbInputUnion_verifyServiceTicket(tvb
, offset
, pinfo
, tree
, di
, drep
);
4628 case RemoteCallKerbCreateApReqAuthenticator
:
4629 offset
= rcg_dissect_element_KerbInputUnion_createApReqAuthenticator(tvb
, offset
, pinfo
, tree
, di
, drep
);
4632 case RemoteCallKerbDecryptApReply
:
4633 offset
= rcg_dissect_element_KerbInputUnion_decryptApReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
4636 case RemoteCallKerbUnpackKdcReplyBody
:
4637 offset
= rcg_dissect_element_KerbInputUnion_unpackKdcReplyBody(tvb
, offset
, pinfo
, tree
, di
, drep
);
4640 case RemoteCallKerbComputeTgsChecksum
:
4641 offset
= rcg_dissect_element_KerbInputUnion_computeTgsChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
4644 case RemoteCallKerbBuildEncryptedAuthData
:
4645 offset
= rcg_dissect_element_KerbInputUnion_buildEncryptedAuthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
4648 case RemoteCallKerbPackApReply
:
4649 offset
= rcg_dissect_element_KerbInputUnion_packApReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
4652 case RemoteCallKerbHashS4UPreauth
:
4653 offset
= rcg_dissect_element_KerbInputUnion_hashS4UPreauth(tvb
, offset
, pinfo
, tree
, di
, drep
);
4656 case RemoteCallKerbSignS4UPreauthData
:
4657 offset
= rcg_dissect_element_KerbInputUnion_signS4UPreauthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
4660 case RemoteCallKerbVerifyChecksum
:
4661 offset
= rcg_dissect_element_KerbInputUnion_verifyChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
4664 case RemoteCallKerbDecryptPacCredentials
:
4665 offset
= rcg_dissect_element_KerbInputUnion_decryptPacCredentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
4668 case RemoteCallKerbCreateECDHKeyAgreement
:
4669 offset
= rcg_dissect_element_KerbInputUnion_createECDHKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4672 case RemoteCallKerbCreateDHKeyAgreement
:
4673 offset
= rcg_dissect_element_KerbInputUnion_createDHKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4676 case RemoteCallKerbDestroyKeyAgreement
:
4677 offset
= rcg_dissect_element_KerbInputUnion_destroyKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4680 case RemoteCallKerbKeyAgreementGenerateNonce
:
4681 offset
= rcg_dissect_element_KerbInputUnion_keyAgreementGenerateNonce(tvb
, offset
, pinfo
, tree
, di
, drep
);
4684 case RemoteCallKerbFinalizeKeyAgreement
:
4685 offset
= rcg_dissect_element_KerbInputUnion_finalizeKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4688 proto_item_set_len(item
, offset
-old_offset
);
4695 /* IDL: RemoteGuardCallId CallId; */
4696 /* IDL: [switch_is(CallId)] [switch_type(uint16)] KerbInputUnion callUnion; */
4700 rcg_dissect_element_KerbCredIsoRemoteInput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
)
4702 offset
= rcg_dissect_enum_RemoteGuardCallId(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KerbCredIsoRemoteInput_CallId
, CallId
);
4708 rcg_dissect_element_KerbCredIsoRemoteInput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
)
4710 offset
= rcg_dissect_KerbInputUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KerbCredIsoRemoteInput_callUnion
, CallId
);
4716 /* IDL: [flag(LIBNDR_FLAG_ALIGN4)] [switch_type(uint16)] union { */
4717 /* IDL: [case(RemoteCallKerbNegotiateVersion)] [case(RemoteCallKerbNegotiateVersion)] NegotiateVersion negociateVersion; */
4718 /* IDL: [case(RemoteCallKerbBuildAsReqAuthenticator)] [case(RemoteCallKerbBuildAsReqAuthenticator)] BuildAsReqAuthenticatorResp buildAsReqAuthenticator; */
4719 /* IDL: [case(RemoteCallKerbVerifyServiceTicket)] [case(RemoteCallKerbVerifyServiceTicket)] VerifyServiceTicketResp verifyServiceTicket; */
4720 /* IDL: [case(RemoteCallKerbCreateApReqAuthenticator)] [case(RemoteCallKerbCreateApReqAuthenticator)] CreateApReqAuthenticatorResp createApReqAuthenticator; */
4721 /* IDL: [case(RemoteCallKerbDecryptApReply)] [case(RemoteCallKerbDecryptApReply)] DecryptApReplyResp decryptApReply; */
4722 /* IDL: [case(RemoteCallKerbUnpackKdcReplyBody)] [case(RemoteCallKerbUnpackKdcReplyBody)] UnpackKdcReplyBodyResp unpackKdcReplyBody; */
4723 /* IDL: [case(RemoteCallKerbComputeTgsChecksum)] [case(RemoteCallKerbComputeTgsChecksum)] ComputeTgsChecksumResp computeTgsChecksum; */
4724 /* IDL: [case(RemoteCallKerbBuildEncryptedAuthData)] [case(RemoteCallKerbBuildEncryptedAuthData)] BuildEncryptedAuthDataResp buildEncryptedAuthData; */
4725 /* IDL: [case(RemoteCallKerbPackApReply)] [case(RemoteCallKerbPackApReply)] PackApReplyResp packApReply; */
4726 /* IDL: [case(RemoteCallKerbHashS4UPreauth)] [case(RemoteCallKerbHashS4UPreauth)] HashS4UPreauthResp hashS4UPreauth; */
4727 /* IDL: [case(RemoteCallKerbSignS4UPreauthData)] [case(RemoteCallKerbSignS4UPreauthData)] SignS4UPreauthDataResp signS4UPreauthData; */
4728 /* IDL: [case(RemoteCallKerbVerifyChecksum)] [case(RemoteCallKerbVerifyChecksum)] VerifyChecksumResp verifyChecksum; */
4729 /* IDL: [case(RemoteCallKerbDecryptPacCredentials)] [case(RemoteCallKerbDecryptPacCredentials)] DecryptPacCredentialsResp decryptPacCredentials; */
4730 /* IDL: [case(RemoteCallKerbCreateECDHKeyAgreement)] [case(RemoteCallKerbCreateECDHKeyAgreement)] CreateECDHKeyAgreementResp createECDHKeyAgreement; */
4731 /* IDL: [case(RemoteCallKerbCreateDHKeyAgreement)] [case(RemoteCallKerbCreateDHKeyAgreement)] CreateDHKeyAgreementResp createDHKeyAgreement; */
4732 /* IDL: [case(RemoteCallKerbDestroyKeyAgreement)] [case(RemoteCallKerbDestroyKeyAgreement)] DestroyKeyAgreementResp destroyKeyAgreement; */
4733 /* IDL: [case(RemoteCallKerbKeyAgreementGenerateNonce)] [case(RemoteCallKerbKeyAgreementGenerateNonce)] KeyAgreementGenerateNonceResp keyAgreementGenerateNonce; */
4734 /* IDL: [case(RemoteCallKerbFinalizeKeyAgreement)] [case(RemoteCallKerbFinalizeKeyAgreement)] FinalizeKeyAgreementResp finalizeKeyAgreement; */
4738 rcg_dissect_element_KerbOutputUnion_negociateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4740 offset
= rcg_dissect_struct_NegotiateVersion(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_negociateVersion
,0);
4746 rcg_dissect_element_KerbOutputUnion_buildAsReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4748 offset
= rcg_dissect_struct_BuildAsReqAuthenticatorResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_buildAsReqAuthenticator
,0);
4754 rcg_dissect_element_KerbOutputUnion_verifyServiceTicket(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4756 offset
= rcg_dissect_struct_VerifyServiceTicketResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_verifyServiceTicket
,0);
4762 rcg_dissect_element_KerbOutputUnion_createApReqAuthenticator(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4764 offset
= rcg_dissect_struct_CreateApReqAuthenticatorResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_createApReqAuthenticator
,0);
4770 rcg_dissect_element_KerbOutputUnion_decryptApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4772 offset
= rcg_dissect_struct_DecryptApReplyResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_decryptApReply
,0);
4778 rcg_dissect_element_KerbOutputUnion_unpackKdcReplyBody(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4780 offset
= rcg_dissect_struct_UnpackKdcReplyBodyResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_unpackKdcReplyBody
,0);
4786 rcg_dissect_element_KerbOutputUnion_computeTgsChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4788 offset
= rcg_dissect_struct_ComputeTgsChecksumResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_computeTgsChecksum
,0);
4794 rcg_dissect_element_KerbOutputUnion_buildEncryptedAuthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4796 offset
= rcg_dissect_struct_BuildEncryptedAuthDataResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_buildEncryptedAuthData
,0);
4802 rcg_dissect_element_KerbOutputUnion_packApReply(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4804 offset
= rcg_dissect_struct_PackApReplyResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_packApReply
,0);
4810 rcg_dissect_element_KerbOutputUnion_hashS4UPreauth(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4812 offset
= rcg_dissect_struct_HashS4UPreauthResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_hashS4UPreauth
,0);
4818 rcg_dissect_element_KerbOutputUnion_signS4UPreauthData(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4820 offset
= rcg_dissect_struct_SignS4UPreauthDataResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_signS4UPreauthData
,0);
4826 rcg_dissect_element_KerbOutputUnion_verifyChecksum(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4828 offset
= rcg_dissect_struct_VerifyChecksumResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_verifyChecksum
,0);
4834 rcg_dissect_element_KerbOutputUnion_decryptPacCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4836 offset
= rcg_dissect_struct_DecryptPacCredentialsResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_decryptPacCredentials
,0);
4842 rcg_dissect_element_KerbOutputUnion_createECDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4844 offset
= rcg_dissect_struct_CreateECDHKeyAgreementResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_createECDHKeyAgreement
,0);
4850 rcg_dissect_element_KerbOutputUnion_createDHKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4852 offset
= rcg_dissect_struct_CreateDHKeyAgreementResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_createDHKeyAgreement
,0);
4858 rcg_dissect_element_KerbOutputUnion_destroyKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4860 offset
= rcg_dissect_struct_DestroyKeyAgreementResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_destroyKeyAgreement
,0);
4866 rcg_dissect_element_KerbOutputUnion_keyAgreementGenerateNonce(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4868 offset
= rcg_dissect_struct_KeyAgreementGenerateNonceResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_keyAgreementGenerateNonce
,0);
4874 rcg_dissect_element_KerbOutputUnion_finalizeKeyAgreement(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4876 offset
= rcg_dissect_struct_FinalizeKeyAgreementResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_KerbOutputUnion_finalizeKeyAgreement
,0);
4882 rcg_dissect_KerbOutputUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
4884 proto_item
*item
= NULL
;
4885 proto_tree
*tree
= NULL
;
4889 old_offset
= offset
;
4891 tree
= proto_tree_add_subtree(parent_tree
, tvb
, offset
, -1, ett_rcg_KerbOutputUnion
, &item
, "KerbOutputUnion");
4894 UNION_ALIGN_TO_4_BYTES
;
4895 offset
= dissect_ndr_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, &level
);
4896 UNION_ALIGN_TO_4_BYTES
;
4899 case RemoteCallKerbNegotiateVersion
:
4900 offset
= rcg_dissect_element_KerbOutputUnion_negociateVersion(tvb
, offset
, pinfo
, tree
, di
, drep
);
4903 case RemoteCallKerbBuildAsReqAuthenticator
:
4904 offset
= rcg_dissect_element_KerbOutputUnion_buildAsReqAuthenticator(tvb
, offset
, pinfo
, tree
, di
, drep
);
4907 case RemoteCallKerbVerifyServiceTicket
:
4908 offset
= rcg_dissect_element_KerbOutputUnion_verifyServiceTicket(tvb
, offset
, pinfo
, tree
, di
, drep
);
4911 case RemoteCallKerbCreateApReqAuthenticator
:
4912 offset
= rcg_dissect_element_KerbOutputUnion_createApReqAuthenticator(tvb
, offset
, pinfo
, tree
, di
, drep
);
4915 case RemoteCallKerbDecryptApReply
:
4916 offset
= rcg_dissect_element_KerbOutputUnion_decryptApReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
4919 case RemoteCallKerbUnpackKdcReplyBody
:
4920 offset
= rcg_dissect_element_KerbOutputUnion_unpackKdcReplyBody(tvb
, offset
, pinfo
, tree
, di
, drep
);
4923 case RemoteCallKerbComputeTgsChecksum
:
4924 offset
= rcg_dissect_element_KerbOutputUnion_computeTgsChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
4927 case RemoteCallKerbBuildEncryptedAuthData
:
4928 offset
= rcg_dissect_element_KerbOutputUnion_buildEncryptedAuthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
4931 case RemoteCallKerbPackApReply
:
4932 offset
= rcg_dissect_element_KerbOutputUnion_packApReply(tvb
, offset
, pinfo
, tree
, di
, drep
);
4935 case RemoteCallKerbHashS4UPreauth
:
4936 offset
= rcg_dissect_element_KerbOutputUnion_hashS4UPreauth(tvb
, offset
, pinfo
, tree
, di
, drep
);
4939 case RemoteCallKerbSignS4UPreauthData
:
4940 offset
= rcg_dissect_element_KerbOutputUnion_signS4UPreauthData(tvb
, offset
, pinfo
, tree
, di
, drep
);
4943 case RemoteCallKerbVerifyChecksum
:
4944 offset
= rcg_dissect_element_KerbOutputUnion_verifyChecksum(tvb
, offset
, pinfo
, tree
, di
, drep
);
4947 case RemoteCallKerbDecryptPacCredentials
:
4948 offset
= rcg_dissect_element_KerbOutputUnion_decryptPacCredentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
4951 case RemoteCallKerbCreateECDHKeyAgreement
:
4952 offset
= rcg_dissect_element_KerbOutputUnion_createECDHKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4955 case RemoteCallKerbCreateDHKeyAgreement
:
4956 offset
= rcg_dissect_element_KerbOutputUnion_createDHKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4959 case RemoteCallKerbDestroyKeyAgreement
:
4960 offset
= rcg_dissect_element_KerbOutputUnion_destroyKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4963 case RemoteCallKerbKeyAgreementGenerateNonce
:
4964 offset
= rcg_dissect_element_KerbOutputUnion_keyAgreementGenerateNonce(tvb
, offset
, pinfo
, tree
, di
, drep
);
4967 case RemoteCallKerbFinalizeKeyAgreement
:
4968 offset
= rcg_dissect_element_KerbOutputUnion_finalizeKeyAgreement(tvb
, offset
, pinfo
, tree
, di
, drep
);
4971 proto_item_set_len(item
, offset
-old_offset
);
4978 /* IDL: RemoteGuardCallId CallId; */
4979 /* IDL: NTSTATUS Status; */
4980 /* IDL: [switch_is(CallId)] [switch_type(RemoteGuardCallId)] KerbOutputUnion callUnion; */
4984 rcg_dissect_element_KerbCredIsoRemoteOutput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
)
4986 offset
= rcg_dissect_enum_RemoteGuardCallId(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KerbCredIsoRemoteOutput_CallId
, CallId
);
4992 rcg_dissect_element_KerbCredIsoRemoteOutput_Status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4994 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KerbCredIsoRemoteOutput_Status
, 0);
5000 rcg_dissect_element_KerbCredIsoRemoteOutput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
)
5002 offset
= rcg_dissect_KerbOutputUnion(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_KerbCredIsoRemoteOutput_callUnion
, CallId
);
5012 rcg_dissect_struct_NT_RESPONSE(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5014 proto_item
*item
= NULL
;
5017 old_offset
= offset
;
5020 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5024 proto_item_set_len(item
, offset
-old_offset
);
5031 /* IDL: struct _NT_CHALLENGE { */
5035 rcg_dissect_struct_NT_CHALLENGE(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5037 proto_item
*item
= NULL
;
5042 old_offset
= offset
;
5045 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5049 proto_item_set_len(item
, offset
-old_offset
);
5052 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5060 /* IDL: struct NT_CHALLENGE { */
5064 rcg_dissect_struct_PNT_CHALLENGE(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5066 proto_item
*item
= NULL
;
5071 old_offset
= offset
;
5074 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5078 proto_item_set_len(item
, offset
-old_offset
);
5081 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5092 rcg_dissect_struct_LM_SESSION_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5094 proto_item
*item
= NULL
;
5097 old_offset
= offset
;
5100 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5104 proto_item_set_len(item
, offset
-old_offset
);
5115 rcg_dissect_struct_MSV1_0_LM3_RESPONSE(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5117 proto_item
*item
= NULL
;
5120 old_offset
= offset
;
5123 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5127 proto_item_set_len(item
, offset
-old_offset
);
5134 /* IDL: struct MSV1_0_LM3_RESPONSE { */
5138 rcg_dissect_struct_PMSV1_0_LM3_RESPONSE(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5140 proto_item
*item
= NULL
;
5145 old_offset
= offset
;
5148 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5152 proto_item_set_len(item
, offset
-old_offset
);
5155 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5167 rcg_dissect_struct_USER_SESSION_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5169 proto_item
*item
= NULL
;
5172 old_offset
= offset
;
5175 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5179 proto_item_set_len(item
, offset
-old_offset
);
5186 /* IDL: struct PUSER_SESSION_KEY { */
5190 rcg_dissect_struct_PUSER_SESSION_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5192 proto_item
*item
= NULL
;
5197 old_offset
= offset
;
5200 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5204 proto_item_set_len(item
, offset
-old_offset
);
5207 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5219 rcg_dissect_struct_MSV1_0_CREDENTIAL_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5221 proto_item
*item
= NULL
;
5224 old_offset
= offset
;
5227 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5231 proto_item_set_len(item
, offset
-old_offset
);
5238 /* IDL: struct MSV1_0_CREDENTIAL_KEY { */
5242 rcg_dissect_struct_PMSV1_0_CREDENTIAL_KEY(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5244 proto_item
*item
= NULL
;
5249 old_offset
= offset
;
5252 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5256 proto_item_set_len(item
, offset
-old_offset
);
5259 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5267 /* IDL: struct _MSV1_0_REMOTE_ENCRYPTED_SECRETS { */
5268 /* IDL: uint32 reserved1; */
5269 /* IDL: uint32 reserved2; */
5270 /* IDL: uint32 reserved3; */
5271 /* IDL: MSV1_0_CREDENTIAL_KEY reserved4; */
5272 /* IDL: MSV1_0_CREDENTIAL_KEY reserved5; */
5273 /* IDL: uint32 reservedSize; */
5274 /* IDL: [ref] [size_is(reservedSize)] uint8 *reserved6; */
5278 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5280 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1
, 0);
5286 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5288 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2
, 0);
5294 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5296 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3
, 0);
5302 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5304 offset
= rcg_dissect_struct_MSV1_0_CREDENTIAL_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4
,0);
5310 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5312 offset
= rcg_dissect_struct_MSV1_0_CREDENTIAL_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5
,0);
5318 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5320 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize
, 0);
5326 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5328 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6_
, NDR_POINTER_REF
, "Pointer to Reserved6 (uint8)",hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6
);
5334 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5336 struct ndr_generic_array nga
= { .is_conformant
= false, };
5338 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5340 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6__
);
5346 rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5348 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6
, 0);
5354 rcg_dissect_struct_MSV1_0_REMOTE_ENCRYPTED_SECRETS(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5356 proto_item
*item
= NULL
;
5357 proto_tree
*tree
= NULL
;
5362 old_offset
= offset
;
5365 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5366 tree
= proto_item_add_subtree(item
, ett_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS
);
5369 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1(tvb
, offset
, pinfo
, tree
, di
, drep
);
5371 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2(tvb
, offset
, pinfo
, tree
, di
, drep
);
5373 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3(tvb
, offset
, pinfo
, tree
, di
, drep
);
5375 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4(tvb
, offset
, pinfo
, tree
, di
, drep
);
5377 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5(tvb
, offset
, pinfo
, tree
, di
, drep
);
5379 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
5381 offset
= rcg_dissect_element_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6(tvb
, offset
, pinfo
, tree
, di
, drep
);
5384 proto_item_set_len(item
, offset
-old_offset
);
5387 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5395 /* IDL: struct MSV1_0_REMOTE_ENCRYPTED_SECRETS { */
5399 rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5401 proto_item
*item
= NULL
;
5406 old_offset
= offset
;
5409 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5413 proto_item_set_len(item
, offset
-old_offset
);
5416 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5425 /* IDL: PMSV1_0_REMOTE_ENCRYPTED_SECRETS Credential; */
5426 /* IDL: PRPC_UNICODE_STRING UserName; */
5427 /* IDL: PRPC_UNICODE_STRING LogonDomainName; */
5428 /* IDL: PRPC_UNICODE_STRING ServerName; */
5432 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5434 offset
= rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseReq_Credential
,0);
5440 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_UserName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5442 offset
= rcg_dissect_struct_PRPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseReq_UserName
,0);
5448 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5450 offset
= rcg_dissect_struct_PRPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName
,0);
5456 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_ServerName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5458 offset
= rcg_dissect_struct_PRPC_UNICODE_STRING(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseReq_ServerName
,0);
5464 rcg_dissect_struct_Lm20GetNtlm3ChallengeResponseReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5466 proto_item
*item
= NULL
;
5467 proto_tree
*tree
= NULL
;
5472 old_offset
= offset
;
5475 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5476 tree
= proto_item_add_subtree(item
, ett_rcg_Lm20GetNtlm3ChallengeResponseReq
);
5479 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_Credential(tvb
, offset
, pinfo
, tree
, di
, drep
);
5481 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_UserName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5483 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5485 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseReq_ServerName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5488 proto_item_set_len(item
, offset
-old_offset
);
5491 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5500 /* IDL: uint16 Ntlm3ResponseLength; */
5501 /* IDL: [ref] [size_is(Ntlm3ResponseLength)] uint8 *Ntlm3Response; */
5502 /* IDL: MSV1_0_LM3_RESPONSE Lm3Response; */
5503 /* IDL: USER_SESSION_KEY UserSessionKey; */
5504 /* IDL: LM_SESSION_KEY LmSessionKey; */
5508 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5510 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength
, 0);
5516 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5518 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response_
, NDR_POINTER_REF
, "Pointer to Ntlm3Response (uint8)",hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response
);
5524 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5526 struct ndr_generic_array nga
= { .is_conformant
= false, };
5528 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5530 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response__
);
5536 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5538 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response
, 0);
5544 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Lm3Response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5546 offset
= rcg_dissect_struct_MSV1_0_LM3_RESPONSE(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Lm3Response
,0);
5552 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5554 offset
= rcg_dissect_struct_USER_SESSION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey
,0);
5560 rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5562 offset
= rcg_dissect_struct_LM_SESSION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey
,0);
5568 rcg_dissect_struct_Lm20GetNtlm3ChallengeResponseResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5570 proto_item
*item
= NULL
;
5571 proto_tree
*tree
= NULL
;
5576 old_offset
= offset
;
5579 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5580 tree
= proto_item_add_subtree(item
, ett_rcg_Lm20GetNtlm3ChallengeResponseResp
);
5583 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength(tvb
, offset
, pinfo
, tree
, di
, drep
);
5585 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response(tvb
, offset
, pinfo
, tree
, di
, drep
);
5587 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_Lm3Response(tvb
, offset
, pinfo
, tree
, di
, drep
);
5589 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
5591 offset
= rcg_dissect_element_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
5594 proto_item_set_len(item
, offset
-old_offset
);
5597 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5606 /* IDL: PNT_CHALLENGE NtChallenge; */
5607 /* IDL: PMSV1_0_REMOTE_ENCRYPTED_SECRETS Credential; */
5611 rcg_dissect_element_CalculateNtResponseReq_NtChallenge(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5613 offset
= rcg_dissect_struct_PNT_CHALLENGE(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateNtResponseReq_NtChallenge
,0);
5619 rcg_dissect_element_CalculateNtResponseReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5621 offset
= rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateNtResponseReq_Credential
,0);
5627 rcg_dissect_struct_CalculateNtResponseReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5629 proto_item
*item
= NULL
;
5630 proto_tree
*tree
= NULL
;
5635 old_offset
= offset
;
5638 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5639 tree
= proto_item_add_subtree(item
, ett_rcg_CalculateNtResponseReq
);
5642 offset
= rcg_dissect_element_CalculateNtResponseReq_NtChallenge(tvb
, offset
, pinfo
, tree
, di
, drep
);
5644 offset
= rcg_dissect_element_CalculateNtResponseReq_Credential(tvb
, offset
, pinfo
, tree
, di
, drep
);
5647 proto_item_set_len(item
, offset
-old_offset
);
5650 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5659 /* IDL: NT_RESPONSE NtResponse; */
5663 rcg_dissect_element_CalculateNtResponseResp_NtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5665 offset
= rcg_dissect_struct_NT_RESPONSE(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateNtResponseResp_NtResponse
,0);
5671 rcg_dissect_struct_CalculateNtResponseResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5673 proto_item
*item
= NULL
;
5674 proto_tree
*tree
= NULL
;
5677 old_offset
= offset
;
5680 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5681 tree
= proto_item_add_subtree(item
, ett_rcg_CalculateNtResponseResp
);
5684 offset
= rcg_dissect_element_CalculateNtResponseResp_NtResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
5687 proto_item_set_len(item
, offset
-old_offset
);
5695 /* IDL: [ref] NT_RESPONSE *NtResponse; */
5696 /* IDL: PMSV1_0_REMOTE_ENCRYPTED_SECRETS Credential; */
5700 rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5702 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse_
, NDR_POINTER_REF
, "Pointer to NtResponse (NT_RESPONSE)",hf_rcg_CalculateUserSessionKeyNtReq_NtResponse
);
5708 rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5710 offset
= rcg_dissect_struct_NT_RESPONSE(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateUserSessionKeyNtReq_NtResponse
,0);
5716 rcg_dissect_element_CalculateUserSessionKeyNtReq_Credential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5718 offset
= rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateUserSessionKeyNtReq_Credential
,0);
5724 rcg_dissect_struct_CalculateUserSessionKeyNtReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5726 proto_item
*item
= NULL
;
5727 proto_tree
*tree
= NULL
;
5732 old_offset
= offset
;
5735 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5736 tree
= proto_item_add_subtree(item
, ett_rcg_CalculateUserSessionKeyNtReq
);
5739 offset
= rcg_dissect_element_CalculateUserSessionKeyNtReq_NtResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
5741 offset
= rcg_dissect_element_CalculateUserSessionKeyNtReq_Credential(tvb
, offset
, pinfo
, tree
, di
, drep
);
5744 proto_item_set_len(item
, offset
-old_offset
);
5747 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5756 /* IDL: USER_SESSION_KEY UserSessionKey; */
5760 rcg_dissect_element_CalculateUserSessionKeyNtResp_UserSessionKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5762 offset
= rcg_dissect_struct_USER_SESSION_KEY(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CalculateUserSessionKeyNtResp_UserSessionKey
,0);
5768 rcg_dissect_struct_CalculateUserSessionKeyNtResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5770 proto_item
*item
= NULL
;
5771 proto_tree
*tree
= NULL
;
5774 old_offset
= offset
;
5777 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5778 tree
= proto_item_add_subtree(item
, ett_rcg_CalculateUserSessionKeyNtResp
);
5781 offset
= rcg_dissect_element_CalculateUserSessionKeyNtResp_UserSessionKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
5784 proto_item_set_len(item
, offset
-old_offset
);
5792 /* IDL: PMSV1_0_REMOTE_ENCRYPTED_SECRETS LhsCredential; */
5793 /* IDL: PMSV1_0_REMOTE_ENCRYPTED_SECRETS RhsCredential; */
5797 rcg_dissect_element_CompareCredentialsReq_LhsCredential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5799 offset
= rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CompareCredentialsReq_LhsCredential
,0);
5805 rcg_dissect_element_CompareCredentialsReq_RhsCredential(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5807 offset
= rcg_dissect_struct_PMSV1_0_REMOTE_ENCRYPTED_SECRETS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_CompareCredentialsReq_RhsCredential
,0);
5813 rcg_dissect_struct_CompareCredentialsReq(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5815 proto_item
*item
= NULL
;
5816 proto_tree
*tree
= NULL
;
5821 old_offset
= offset
;
5824 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5825 tree
= proto_item_add_subtree(item
, ett_rcg_CompareCredentialsReq
);
5828 offset
= rcg_dissect_element_CompareCredentialsReq_LhsCredential(tvb
, offset
, pinfo
, tree
, di
, drep
);
5830 offset
= rcg_dissect_element_CompareCredentialsReq_RhsCredential(tvb
, offset
, pinfo
, tree
, di
, drep
);
5833 proto_item_set_len(item
, offset
-old_offset
);
5836 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5845 /* IDL: uint32 AreNtOwfsEqual; */
5846 /* IDL: uint32 AreLmOwfsEqual; */
5847 /* IDL: uint32 AreShaOwfsEqual; */
5851 rcg_dissect_element_CompareCredentialsResp_AreNtOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5853 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CompareCredentialsResp_AreNtOwfsEqual
, 0);
5859 rcg_dissect_element_CompareCredentialsResp_AreLmOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5861 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CompareCredentialsResp_AreLmOwfsEqual
, 0);
5867 rcg_dissect_element_CompareCredentialsResp_AreShaOwfsEqual(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5869 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_CompareCredentialsResp_AreShaOwfsEqual
, 0);
5875 rcg_dissect_struct_CompareCredentialsResp(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5877 proto_item
*item
= NULL
;
5878 proto_tree
*tree
= NULL
;
5883 old_offset
= offset
;
5886 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
5887 tree
= proto_item_add_subtree(item
, ett_rcg_CompareCredentialsResp
);
5890 offset
= rcg_dissect_element_CompareCredentialsResp_AreNtOwfsEqual(tvb
, offset
, pinfo
, tree
, di
, drep
);
5892 offset
= rcg_dissect_element_CompareCredentialsResp_AreLmOwfsEqual(tvb
, offset
, pinfo
, tree
, di
, drep
);
5894 offset
= rcg_dissect_element_CompareCredentialsResp_AreShaOwfsEqual(tvb
, offset
, pinfo
, tree
, di
, drep
);
5897 proto_item_set_len(item
, offset
-old_offset
);
5900 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
5908 /* IDL: [flag(LIBNDR_FLAG_ALIGN4)] [switch_type(uint16)] union { */
5909 /* IDL: [case(RemoteCallNtlmNegotiateVersion)] [case(RemoteCallNtlmNegotiateVersion)] NegotiateVersion negotiateVersion; */
5910 /* IDL: [case(RemoteCallNtlmLm20GetNtlm3ChallengeResponse)] [case(RemoteCallNtlmLm20GetNtlm3ChallengeResponse)] Lm20GetNtlm3ChallengeResponseReq lm20GetNtlm3ChallengeResponse; */
5911 /* IDL: [case(RemoteCallNtlmCalculateNtResponse)] [case(RemoteCallNtlmCalculateNtResponse)] CalculateNtResponseReq calculateNtResponse; */
5912 /* IDL: [case(RemoteCallNtlmCalculateUserSessionKeyNt)] [case(RemoteCallNtlmCalculateUserSessionKeyNt)] CalculateUserSessionKeyNtReq calculateUserSessionKeyNt; */
5913 /* IDL: [case(RemoteCallNtlmCompareCredentials)] [case(RemoteCallNtlmCompareCredentials)] CompareCredentialsReq compareCredentials; */
5917 rcg_dissect_element_NtlmCredInput_negotiateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5919 offset
= rcg_dissect_struct_NegotiateVersion(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredInput_negotiateVersion
,0);
5925 rcg_dissect_element_NtlmCredInput_lm20GetNtlm3ChallengeResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5927 offset
= rcg_dissect_struct_Lm20GetNtlm3ChallengeResponseReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredInput_lm20GetNtlm3ChallengeResponse
,0);
5933 rcg_dissect_element_NtlmCredInput_calculateNtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5935 offset
= rcg_dissect_struct_CalculateNtResponseReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredInput_calculateNtResponse
,0);
5941 rcg_dissect_element_NtlmCredInput_calculateUserSessionKeyNt(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5943 offset
= rcg_dissect_struct_CalculateUserSessionKeyNtReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredInput_calculateUserSessionKeyNt
,0);
5949 rcg_dissect_element_NtlmCredInput_compareCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5951 offset
= rcg_dissect_struct_CompareCredentialsReq(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredInput_compareCredentials
,0);
5957 rcg_dissect_NtlmCredInput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
5959 proto_item
*item
= NULL
;
5960 proto_tree
*tree
= NULL
;
5964 old_offset
= offset
;
5966 tree
= proto_tree_add_subtree(parent_tree
, tvb
, offset
, -1, ett_rcg_NtlmCredInput
, &item
, "NtlmCredInput");
5969 UNION_ALIGN_TO_4_BYTES
;
5970 offset
= dissect_ndr_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, &level
);
5971 UNION_ALIGN_TO_4_BYTES
;
5974 case RemoteCallNtlmNegotiateVersion
:
5975 offset
= rcg_dissect_element_NtlmCredInput_negotiateVersion(tvb
, offset
, pinfo
, tree
, di
, drep
);
5978 case RemoteCallNtlmLm20GetNtlm3ChallengeResponse
:
5979 offset
= rcg_dissect_element_NtlmCredInput_lm20GetNtlm3ChallengeResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
5982 case RemoteCallNtlmCalculateNtResponse
:
5983 offset
= rcg_dissect_element_NtlmCredInput_calculateNtResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
5986 case RemoteCallNtlmCalculateUserSessionKeyNt
:
5987 offset
= rcg_dissect_element_NtlmCredInput_calculateUserSessionKeyNt(tvb
, offset
, pinfo
, tree
, di
, drep
);
5990 case RemoteCallNtlmCompareCredentials
:
5991 offset
= rcg_dissect_element_NtlmCredInput_compareCredentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
5994 proto_item_set_len(item
, offset
-old_offset
);
6001 /* IDL: RemoteGuardCallId CallId; */
6002 /* IDL: [switch_is(CallId)] [switch_type(RemoteGuardCallId)] NtlmCredInput callUnion; */
6006 rcg_dissect_element_NtlmCredIsoRemoteInput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
)
6008 offset
= rcg_dissect_enum_RemoteGuardCallId(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NtlmCredIsoRemoteInput_CallId
, CallId
);
6014 rcg_dissect_element_NtlmCredIsoRemoteInput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
)
6016 offset
= rcg_dissect_NtlmCredInput(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NtlmCredIsoRemoteInput_callUnion
, CallId
);
6022 /* IDL: [flag(LIBNDR_FLAG_ALIGN4)] [switch_type(uint16)] union { */
6023 /* IDL: [case(RemoteCallNtlmNegotiateVersion)] [case(RemoteCallNtlmNegotiateVersion)] NegotiateVersion negotiateVersion; */
6024 /* IDL: [case(RemoteCallNtlmLm20GetNtlm3ChallengeResponse)] [case(RemoteCallNtlmLm20GetNtlm3ChallengeResponse)] Lm20GetNtlm3ChallengeResponseResp lm20GetNtlm3ChallengeResponse; */
6025 /* IDL: [case(RemoteCallNtlmCalculateNtResponse)] [case(RemoteCallNtlmCalculateNtResponse)] CalculateNtResponseResp calculateNtResponse; */
6026 /* IDL: [case(RemoteCallNtlmCalculateUserSessionKeyNt)] [case(RemoteCallNtlmCalculateUserSessionKeyNt)] CalculateUserSessionKeyNtResp calculateUserSessionKeyNt; */
6027 /* IDL: [case(RemoteCallNtlmCompareCredentials)] [case(RemoteCallNtlmCompareCredentials)] CompareCredentialsResp compareCredentials; */
6031 rcg_dissect_element_NtlmCredOutput_negotiateVersion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6033 offset
= rcg_dissect_struct_NegotiateVersion(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredOutput_negotiateVersion
,0);
6039 rcg_dissect_element_NtlmCredOutput_lm20GetNtlm3ChallengeResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6041 offset
= rcg_dissect_struct_Lm20GetNtlm3ChallengeResponseResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredOutput_lm20GetNtlm3ChallengeResponse
,0);
6047 rcg_dissect_element_NtlmCredOutput_calculateNtResponse(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6049 offset
= rcg_dissect_struct_CalculateNtResponseResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredOutput_calculateNtResponse
,0);
6055 rcg_dissect_element_NtlmCredOutput_calculateUserSessionKeyNt(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6057 offset
= rcg_dissect_struct_CalculateUserSessionKeyNtResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredOutput_calculateUserSessionKeyNt
,0);
6063 rcg_dissect_element_NtlmCredOutput_compareCredentials(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6065 offset
= rcg_dissect_struct_CompareCredentialsResp(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_rcg_NtlmCredOutput_compareCredentials
,0);
6071 rcg_dissect_NtlmCredOutput(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
6073 proto_item
*item
= NULL
;
6074 proto_tree
*tree
= NULL
;
6078 old_offset
= offset
;
6080 tree
= proto_tree_add_subtree(parent_tree
, tvb
, offset
, -1, ett_rcg_NtlmCredOutput
, &item
, "NtlmCredOutput");
6083 UNION_ALIGN_TO_4_BYTES
;
6084 offset
= dissect_ndr_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, &level
);
6085 UNION_ALIGN_TO_4_BYTES
;
6088 case RemoteCallNtlmNegotiateVersion
:
6089 offset
= rcg_dissect_element_NtlmCredOutput_negotiateVersion(tvb
, offset
, pinfo
, tree
, di
, drep
);
6092 case RemoteCallNtlmLm20GetNtlm3ChallengeResponse
:
6093 offset
= rcg_dissect_element_NtlmCredOutput_lm20GetNtlm3ChallengeResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
6096 case RemoteCallNtlmCalculateNtResponse
:
6097 offset
= rcg_dissect_element_NtlmCredOutput_calculateNtResponse(tvb
, offset
, pinfo
, tree
, di
, drep
);
6100 case RemoteCallNtlmCalculateUserSessionKeyNt
:
6101 offset
= rcg_dissect_element_NtlmCredOutput_calculateUserSessionKeyNt(tvb
, offset
, pinfo
, tree
, di
, drep
);
6104 case RemoteCallNtlmCompareCredentials
:
6105 offset
= rcg_dissect_element_NtlmCredOutput_compareCredentials(tvb
, offset
, pinfo
, tree
, di
, drep
);
6108 proto_item_set_len(item
, offset
-old_offset
);
6115 /* IDL: RemoteGuardCallId CallId; */
6116 /* IDL: NTSTATUS Status; */
6117 /* IDL: [switch_is(CallId)] [switch_type(RemoteGuardCallId)] NtlmCredOutput callUnion; */
6121 rcg_dissect_element_NtlmCredIsoRemoteOutput_CallId(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t *CallId
)
6123 offset
= rcg_dissect_enum_RemoteGuardCallId(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NtlmCredIsoRemoteOutput_CallId
, CallId
);
6129 rcg_dissect_element_NtlmCredIsoRemoteOutput_Status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6131 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NtlmCredIsoRemoteOutput_Status
, 0);
6137 rcg_dissect_element_NtlmCredIsoRemoteOutput_callUnion(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, uint16_t CallId
)
6139 offset
= rcg_dissect_NtlmCredOutput(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_rcg_NtlmCredIsoRemoteOutput_callUnion
, CallId
);
6145 static const dcerpc_sub_dissector rcg_dissectors
[] = {
6146 { 0, NULL
, NULL
, NULL
}
6149 void proto_register_dcerpc_rcg(void)
6151 static hf_register_info hf
[] = {
6152 { &hf_KERB_RPC_ENCRYPTION_KEY_reserved1
,
6153 { "Reserved1", "rcg.KERB_RPC_ENCRYPTION_KEY.reserved1", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
6154 { &hf_KERB_RPC_ENCRYPTION_KEY_reserved2
,
6155 { "Encoding type", "rcg.KERB_RPC_ENCRYPTION_KEY.reserved2", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
6156 { &hf_rcg_BuildAsReqAuthenticatorReq_ArmorKey
,
6157 { "ArmorKey", "rcg.BuildAsReqAuthenticatorReq.ArmorKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6158 { &hf_rcg_BuildAsReqAuthenticatorReq_EncryptionKey
,
6159 { "EncryptionKey", "rcg.BuildAsReqAuthenticatorReq.EncryptionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6160 { &hf_rcg_BuildAsReqAuthenticatorReq_TimeSkew
,
6161 { "TimeSkew", "rcg.BuildAsReqAuthenticatorReq.TimeSkew", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6162 { &hf_rcg_BuildAsReqAuthenticatorResp_PreauthData
,
6163 { "PreauthData", "rcg.BuildAsReqAuthenticatorResp.PreauthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6164 { &hf_rcg_BuildAsReqAuthenticatorResp_PreauthDataType
,
6165 { "PreauthDataType", "rcg.BuildAsReqAuthenticatorResp.PreauthDataType", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6166 { &hf_rcg_BuildEncryptedAuthDataReq_Key
,
6167 { "Key", "rcg.BuildEncryptedAuthDataReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6168 { &hf_rcg_BuildEncryptedAuthDataReq_KeyUsage
,
6169 { "KeyUsage", "rcg.BuildEncryptedAuthDataReq.KeyUsage", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6170 { &hf_rcg_BuildEncryptedAuthDataReq_PlainAuthData
,
6171 { "PlainAuthData", "rcg.BuildEncryptedAuthDataReq.PlainAuthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6172 { &hf_rcg_BuildEncryptedAuthDataResp_EncryptedAuthData
,
6173 { "EncryptedAuthData", "rcg.BuildEncryptedAuthDataResp.EncryptedAuthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6174 { &hf_rcg_CalculateNtResponseReq_Credential
,
6175 { "Credential", "rcg.CalculateNtResponseReq.Credential", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6176 { &hf_rcg_CalculateNtResponseReq_NtChallenge
,
6177 { "NtChallenge", "rcg.CalculateNtResponseReq.NtChallenge", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6178 { &hf_rcg_CalculateNtResponseResp_NtResponse
,
6179 { "NtResponse", "rcg.CalculateNtResponseResp.NtResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6180 { &hf_rcg_CalculateUserSessionKeyNtReq_Credential
,
6181 { "Credential", "rcg.CalculateUserSessionKeyNtReq.Credential", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6182 { &hf_rcg_CalculateUserSessionKeyNtReq_NtResponse
,
6183 { "NtResponse", "rcg.CalculateUserSessionKeyNtReq.NtResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6184 { &hf_rcg_CalculateUserSessionKeyNtResp_UserSessionKey
,
6185 { "UserSessionKey", "rcg.CalculateUserSessionKeyNtResp.UserSessionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6186 { &hf_rcg_CompareCredentialsReq_LhsCredential
,
6187 { "LhsCredential", "rcg.CompareCredentialsReq.LhsCredential", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6188 { &hf_rcg_CompareCredentialsReq_RhsCredential
,
6189 { "RhsCredential", "rcg.CompareCredentialsReq.RhsCredential", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6190 { &hf_rcg_CompareCredentialsResp_AreLmOwfsEqual
,
6191 { "AreLmOwfsEqual", "rcg.CompareCredentialsResp.AreLmOwfsEqual", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6192 { &hf_rcg_CompareCredentialsResp_AreNtOwfsEqual
,
6193 { "AreNtOwfsEqual", "rcg.CompareCredentialsResp.AreNtOwfsEqual", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6194 { &hf_rcg_CompareCredentialsResp_AreShaOwfsEqual
,
6195 { "AreShaOwfsEqual", "rcg.CompareCredentialsResp.AreShaOwfsEqual", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6196 { &hf_rcg_ComputeTgsChecksumReq_ChecksumType
,
6197 { "ChecksumType", "rcg.ComputeTgsChecksumReq.ChecksumType", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6198 { &hf_rcg_ComputeTgsChecksumReq_Key
,
6199 { "Key", "rcg.ComputeTgsChecksumReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6200 { &hf_rcg_ComputeTgsChecksumReq_RequestBody
,
6201 { "RequestBody", "rcg.ComputeTgsChecksumReq.RequestBody", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6202 { &hf_rcg_ComputeTgsChecksumResp_Checksum
,
6203 { "Checksum", "rcg.ComputeTgsChecksumResp.Checksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6204 { &hf_rcg_CreateApReqAuthenticatorReq_AuthData
,
6205 { "AuthData", "rcg.CreateApReqAuthenticatorReq.AuthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6206 { &hf_rcg_CreateApReqAuthenticatorReq_ClientName
,
6207 { "ClientName", "rcg.CreateApReqAuthenticatorReq.ClientName", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6208 { &hf_rcg_CreateApReqAuthenticatorReq_ClientRealm
,
6209 { "ClientRealm", "rcg.CreateApReqAuthenticatorReq.ClientRealm", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6210 { &hf_rcg_CreateApReqAuthenticatorReq_EncryptionKey
,
6211 { "EncryptionKey", "rcg.CreateApReqAuthenticatorReq.EncryptionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6212 { &hf_rcg_CreateApReqAuthenticatorReq_GssChecksum
,
6213 { "GssChecksum", "rcg.CreateApReqAuthenticatorReq.GssChecksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6214 { &hf_rcg_CreateApReqAuthenticatorReq_KeyUsage
,
6215 { "KeyUsage", "rcg.CreateApReqAuthenticatorReq.KeyUsage", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6216 { &hf_rcg_CreateApReqAuthenticatorReq_SequenceNumber
,
6217 { "SequenceNumber", "rcg.CreateApReqAuthenticatorReq.SequenceNumber", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6218 { &hf_rcg_CreateApReqAuthenticatorReq_SkewTime
,
6219 { "SkewTime", "rcg.CreateApReqAuthenticatorReq.SkewTime", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6220 { &hf_rcg_CreateApReqAuthenticatorReq_SubKey
,
6221 { "SubKey", "rcg.CreateApReqAuthenticatorReq.SubKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6222 { &hf_rcg_CreateApReqAuthenticatorResp_Authenticator
,
6223 { "Authenticator", "rcg.CreateApReqAuthenticatorResp.Authenticator", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6224 { &hf_rcg_CreateApReqAuthenticatorResp_AuthenticatorTime
,
6225 { "AuthenticatorTime", "rcg.CreateApReqAuthenticatorResp.AuthenticatorTime", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6226 { &hf_rcg_CreateApReqAuthenticatorResp_KerbProtocolError
,
6227 { "KerbProtocolError", "rcg.CreateApReqAuthenticatorResp.KerbProtocolError", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6228 { &hf_rcg_CreateDHKeyAgreementReq_Ignored
,
6229 { "Ignored", "rcg.CreateDHKeyAgreementReq.Ignored", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6230 { &hf_rcg_CreateDHKeyAgreementResp_FactorQ
,
6231 { "FactorQ", "rcg.CreateDHKeyAgreementResp.FactorQ", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6232 { &hf_rcg_CreateDHKeyAgreementResp_GeneratorG
,
6233 { "GeneratorG", "rcg.CreateDHKeyAgreementResp.GeneratorG", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6234 { &hf_rcg_CreateDHKeyAgreementResp_KerbErr
,
6235 { "KerbErr", "rcg.CreateDHKeyAgreementResp.KerbErr", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6236 { &hf_rcg_CreateDHKeyAgreementResp_KeyAgreementHandle
,
6237 { "KeyAgreementHandle", "rcg.CreateDHKeyAgreementResp.KeyAgreementHandle", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6238 { &hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKey
,
6239 { "LittleEndianPublicKey", "rcg.CreateDHKeyAgreementResp.LittleEndianPublicKey", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6240 { &hf_rcg_CreateDHKeyAgreementResp_LittleEndianPublicKeyLen
,
6241 { "LittleEndianPublicKeyLen", "rcg.CreateDHKeyAgreementResp.LittleEndianPublicKeyLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6242 { &hf_rcg_CreateDHKeyAgreementResp_ModulusP
,
6243 { "ModulusP", "rcg.CreateDHKeyAgreementResp.ModulusP", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6244 { &hf_rcg_CreateECDHKeyAgreementReq_KeyBitLen
,
6245 { "KeyBitLen", "rcg.CreateECDHKeyAgreementReq.KeyBitLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6246 { &hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKey
,
6247 { "EncodedPubKey", "rcg.CreateECDHKeyAgreementResp.EncodedPubKey", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6248 { &hf_rcg_CreateECDHKeyAgreementResp_EncodedPubKeyLen
,
6249 { "EncodedPubKeyLen", "rcg.CreateECDHKeyAgreementResp.EncodedPubKeyLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6250 { &hf_rcg_CreateECDHKeyAgreementResp_KerbErr
,
6251 { "KerbErr", "rcg.CreateECDHKeyAgreementResp.KerbErr", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6252 { &hf_rcg_CreateECDHKeyAgreementResp_KeyAgreementHandle
,
6253 { "KeyAgreementHandle", "rcg.CreateECDHKeyAgreementResp.KeyAgreementHandle", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6254 { &hf_rcg_DecryptApReplyReq_EncryptedReply
,
6255 { "EncryptedReply", "rcg.DecryptApReplyReq.EncryptedReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6256 { &hf_rcg_DecryptApReplyReq_Key
,
6257 { "Key", "rcg.DecryptApReplyReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6258 { &hf_rcg_DecryptApReplyResp_ApReply
,
6259 { "ApReply", "rcg.DecryptApReplyResp.ApReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6260 { &hf_rcg_DecryptPacCredentialsReq_Data
,
6261 { "Data", "rcg.DecryptPacCredentialsReq.Data", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6262 { &hf_rcg_DecryptPacCredentialsReq_DataSize
,
6263 { "DataSize", "rcg.DecryptPacCredentialsReq.DataSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6264 { &hf_rcg_DecryptPacCredentialsReq_EncryptionType
,
6265 { "EncryptionType", "rcg.DecryptPacCredentialsReq.EncryptionType", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6266 { &hf_rcg_DecryptPacCredentialsReq_Key
,
6267 { "Key", "rcg.DecryptPacCredentialsReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6268 { &hf_rcg_DecryptPacCredentialsReq_Version
,
6269 { "Version", "rcg.DecryptPacCredentialsReq.Version", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6270 { &hf_rcg_DecryptPacCredentialsResp_Credentials
,
6271 { "Credentials", "rcg.DecryptPacCredentialsResp.Credentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6272 { &hf_rcg_DestroyKeyAgreementReq_KeyAgreementHandle
,
6273 { "KeyAgreementHandle", "rcg.DestroyKeyAgreementReq.KeyAgreementHandle", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6274 { &hf_rcg_DestroyKeyAgreementResp_Ignored
,
6275 { "Ignored", "rcg.DestroyKeyAgreementResp.Ignored", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6276 { &hf_rcg_FinalizeKeyAgreementReq_KerbEType
,
6277 { "KerbEType", "rcg.FinalizeKeyAgreementReq.KerbEType", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6278 { &hf_rcg_FinalizeKeyAgreementReq_KeyAgreementHandle
,
6279 { "KeyAgreementHandle", "rcg.FinalizeKeyAgreementReq.KeyAgreementHandle", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6280 { &hf_rcg_FinalizeKeyAgreementReq_RemoteNonce
,
6281 { "RemoteNonce", "rcg.FinalizeKeyAgreementReq.RemoteNonce", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6282 { &hf_rcg_FinalizeKeyAgreementReq_RemoteNonceLen
,
6283 { "RemoteNonceLen", "rcg.FinalizeKeyAgreementReq.RemoteNonceLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6284 { &hf_rcg_FinalizeKeyAgreementReq_X509PublicKey
,
6285 { "X509PublicKey", "rcg.FinalizeKeyAgreementReq.X509PublicKey", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6286 { &hf_rcg_FinalizeKeyAgreementReq_X509PublicKeyLen
,
6287 { "X509PublicKeyLen", "rcg.FinalizeKeyAgreementReq.X509PublicKeyLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6288 { &hf_rcg_FinalizeKeyAgreementResp_SharedKey
,
6289 { "SharedKey", "rcg.FinalizeKeyAgreementResp.SharedKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6290 { &hf_rcg_HashS4UPreauthReq_ChecksumType
,
6291 { "ChecksumType", "rcg.HashS4UPreauthReq.ChecksumType", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6292 { &hf_rcg_HashS4UPreauthReq_Key
,
6293 { "Key", "rcg.HashS4UPreauthReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6294 { &hf_rcg_HashS4UPreauthReq_S4UPreauth
,
6295 { "S4UPreauth", "rcg.HashS4UPreauthReq.S4UPreauth", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6296 { &hf_rcg_HashS4UPreauthResp_ChecksumSize
,
6297 { "ChecksumSize", "rcg.HashS4UPreauthResp.ChecksumSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6298 { &hf_rcg_HashS4UPreauthResp_ChecksumValue
,
6299 { "ChecksumValue", "rcg.HashS4UPreauthResp.ChecksumValue", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6300 { &hf_rcg_KERB_ASN1_DATA_Asn1Buffer
,
6301 { "Asn1Buffer", "rcg.KERB_ASN1_DATA.Asn1Buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6302 { &hf_rcg_KERB_ASN1_DATA_CHECKSUM_Length
,
6303 { "Length", "rcg.KERB_ASN1_DATA_CHECKSUM.Length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6304 { &hf_rcg_KERB_ASN1_DATA_CHECKSUM_Pdu
,
6305 { "Pdu", "rcg.KERB_ASN1_DATA_CHECKSUM.Pdu", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6306 { &hf_rcg_KERB_ASN1_DATA_CHECKSUM_checksum
,
6307 { "Checksum", "rcg.KERB_ASN1_DATA_CHECKSUM.checksum", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6308 { &hf_rcg_KERB_ASN1_DATA_Length
,
6309 { "Length", "rcg.KERB_ASN1_DATA.Length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6310 { &hf_rcg_KERB_ASN1_DATA_Pdu
,
6311 { "Pdu", "rcg.KERB_ASN1_DATA.Pdu", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6312 { &hf_rcg_KERB_RPC_CRYPTO_API_BLOB_cbData
,
6313 { "CbData", "rcg.KERB_RPC_CRYPTO_API_BLOB.cbData", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6314 { &hf_rcg_KERB_RPC_CRYPTO_API_BLOB_pbData
,
6315 { "PbData", "rcg.KERB_RPC_CRYPTO_API_BLOB.pbData", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6316 { &hf_rcg_KERB_RPC_ENCRYPTION_KEY_reserved3
,
6317 { "Reserved3", "rcg.KERB_RPC_ENCRYPTION_KEY.reserved3", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6318 { &hf_rcg_KERB_RPC_INTERNAL_NAME_NameCount
,
6319 { "NameCount", "rcg.KERB_RPC_INTERNAL_NAME.NameCount", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6320 { &hf_rcg_KERB_RPC_INTERNAL_NAME_NameType
,
6321 { "NameType", "rcg.KERB_RPC_INTERNAL_NAME.NameType", FT_INT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6322 { &hf_rcg_KERB_RPC_INTERNAL_NAME_Names
,
6323 { "Names", "rcg.KERB_RPC_INTERNAL_NAME.Names", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6324 { &hf_rcg_KERB_RPC_OCTET_STRING_length
,
6325 { "Length", "rcg.KERB_RPC_OCTET_STRING.length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6326 { &hf_rcg_KERB_RPC_OCTET_STRING_value
,
6327 { "Value", "rcg.KERB_RPC_OCTET_STRING.value", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6328 { &hf_rcg_KERB_RPC_PA_DATA_preauth_data
,
6329 { "Preauth Data", "rcg.KERB_RPC_PA_DATA.preauth_data", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6330 { &hf_rcg_KERB_RPC_PA_DATA_preauth_data_type
,
6331 { "Preauth Data Type", "rcg.KERB_RPC_PA_DATA.preauth_data_type", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6332 { &hf_rcg_KerbCredIsoRemoteInput_CallId
,
6333 { "CallId", "rcg.KerbCredIsoRemoteInput.CallId", FT_UINT16
, BASE_DEC
, VALS(rcg_RemoteGuardCallId_vals
), 0, NULL
, HFILL
}},
6334 { &hf_rcg_KerbCredIsoRemoteInput_callUnion
,
6335 { "CallUnion", "rcg.KerbCredIsoRemoteInput.callUnion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6336 { &hf_rcg_KerbCredIsoRemoteOutput_CallId
,
6337 { "CallId", "rcg.KerbCredIsoRemoteOutput.CallId", FT_UINT16
, BASE_DEC
, VALS(rcg_RemoteGuardCallId_vals
), 0, NULL
, HFILL
}},
6338 { &hf_rcg_KerbCredIsoRemoteOutput_Status
,
6339 { "Status", "rcg.KerbCredIsoRemoteOutput.Status", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &NT_errors_ext
, 0, NULL
, HFILL
}},
6340 { &hf_rcg_KerbCredIsoRemoteOutput_callUnion
,
6341 { "CallUnion", "rcg.KerbCredIsoRemoteOutput.callUnion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6342 { &hf_rcg_KerbInputUnion_buildAsReqAuthenticator
,
6343 { "BuildAsReqAuthenticator", "rcg.KerbInputUnion.buildAsReqAuthenticator", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6344 { &hf_rcg_KerbInputUnion_buildEncryptedAuthData
,
6345 { "BuildEncryptedAuthData", "rcg.KerbInputUnion.buildEncryptedAuthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6346 { &hf_rcg_KerbInputUnion_computeTgsChecksum
,
6347 { "ComputeTgsChecksum", "rcg.KerbInputUnion.computeTgsChecksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6348 { &hf_rcg_KerbInputUnion_createApReqAuthenticator
,
6349 { "CreateApReqAuthenticator", "rcg.KerbInputUnion.createApReqAuthenticator", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6350 { &hf_rcg_KerbInputUnion_createDHKeyAgreement
,
6351 { "CreateDHKeyAgreement", "rcg.KerbInputUnion.createDHKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6352 { &hf_rcg_KerbInputUnion_createECDHKeyAgreement
,
6353 { "CreateECDHKeyAgreement", "rcg.KerbInputUnion.createECDHKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6354 { &hf_rcg_KerbInputUnion_decryptApReply
,
6355 { "DecryptApReply", "rcg.KerbInputUnion.decryptApReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6356 { &hf_rcg_KerbInputUnion_decryptPacCredentials
,
6357 { "DecryptPacCredentials", "rcg.KerbInputUnion.decryptPacCredentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6358 { &hf_rcg_KerbInputUnion_destroyKeyAgreement
,
6359 { "DestroyKeyAgreement", "rcg.KerbInputUnion.destroyKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6360 { &hf_rcg_KerbInputUnion_finalizeKeyAgreement
,
6361 { "FinalizeKeyAgreement", "rcg.KerbInputUnion.finalizeKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6362 { &hf_rcg_KerbInputUnion_hashS4UPreauth
,
6363 { "HashS4UPreauth", "rcg.KerbInputUnion.hashS4UPreauth", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6364 { &hf_rcg_KerbInputUnion_keyAgreementGenerateNonce
,
6365 { "KeyAgreementGenerateNonce", "rcg.KerbInputUnion.keyAgreementGenerateNonce", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6366 { &hf_rcg_KerbInputUnion_negociateVersion
,
6367 { "NegociateVersion", "rcg.KerbInputUnion.negociateVersion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6368 { &hf_rcg_KerbInputUnion_packApReply
,
6369 { "PackApReply", "rcg.KerbInputUnion.packApReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6370 { &hf_rcg_KerbInputUnion_signS4UPreauthData
,
6371 { "SignS4UPreauthData", "rcg.KerbInputUnion.signS4UPreauthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6372 { &hf_rcg_KerbInputUnion_unpackKdcReplyBody
,
6373 { "UnpackKdcReplyBody", "rcg.KerbInputUnion.unpackKdcReplyBody", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6374 { &hf_rcg_KerbInputUnion_verifyChecksum
,
6375 { "VerifyChecksum", "rcg.KerbInputUnion.verifyChecksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6376 { &hf_rcg_KerbInputUnion_verifyServiceTicket
,
6377 { "VerifyServiceTicket", "rcg.KerbInputUnion.verifyServiceTicket", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6378 { &hf_rcg_KerbOutputUnion_buildAsReqAuthenticator
,
6379 { "BuildAsReqAuthenticator", "rcg.KerbOutputUnion.buildAsReqAuthenticator", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6380 { &hf_rcg_KerbOutputUnion_buildEncryptedAuthData
,
6381 { "BuildEncryptedAuthData", "rcg.KerbOutputUnion.buildEncryptedAuthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6382 { &hf_rcg_KerbOutputUnion_computeTgsChecksum
,
6383 { "ComputeTgsChecksum", "rcg.KerbOutputUnion.computeTgsChecksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6384 { &hf_rcg_KerbOutputUnion_createApReqAuthenticator
,
6385 { "CreateApReqAuthenticator", "rcg.KerbOutputUnion.createApReqAuthenticator", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6386 { &hf_rcg_KerbOutputUnion_createDHKeyAgreement
,
6387 { "CreateDHKeyAgreement", "rcg.KerbOutputUnion.createDHKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6388 { &hf_rcg_KerbOutputUnion_createECDHKeyAgreement
,
6389 { "CreateECDHKeyAgreement", "rcg.KerbOutputUnion.createECDHKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6390 { &hf_rcg_KerbOutputUnion_decryptApReply
,
6391 { "DecryptApReply", "rcg.KerbOutputUnion.decryptApReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6392 { &hf_rcg_KerbOutputUnion_decryptPacCredentials
,
6393 { "DecryptPacCredentials", "rcg.KerbOutputUnion.decryptPacCredentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6394 { &hf_rcg_KerbOutputUnion_destroyKeyAgreement
,
6395 { "DestroyKeyAgreement", "rcg.KerbOutputUnion.destroyKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6396 { &hf_rcg_KerbOutputUnion_finalizeKeyAgreement
,
6397 { "FinalizeKeyAgreement", "rcg.KerbOutputUnion.finalizeKeyAgreement", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6398 { &hf_rcg_KerbOutputUnion_hashS4UPreauth
,
6399 { "HashS4UPreauth", "rcg.KerbOutputUnion.hashS4UPreauth", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6400 { &hf_rcg_KerbOutputUnion_keyAgreementGenerateNonce
,
6401 { "KeyAgreementGenerateNonce", "rcg.KerbOutputUnion.keyAgreementGenerateNonce", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6402 { &hf_rcg_KerbOutputUnion_negociateVersion
,
6403 { "NegociateVersion", "rcg.KerbOutputUnion.negociateVersion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6404 { &hf_rcg_KerbOutputUnion_packApReply
,
6405 { "PackApReply", "rcg.KerbOutputUnion.packApReply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6406 { &hf_rcg_KerbOutputUnion_signS4UPreauthData
,
6407 { "SignS4UPreauthData", "rcg.KerbOutputUnion.signS4UPreauthData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6408 { &hf_rcg_KerbOutputUnion_unpackKdcReplyBody
,
6409 { "UnpackKdcReplyBody", "rcg.KerbOutputUnion.unpackKdcReplyBody", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6410 { &hf_rcg_KerbOutputUnion_verifyChecksum
,
6411 { "VerifyChecksum", "rcg.KerbOutputUnion.verifyChecksum", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6412 { &hf_rcg_KerbOutputUnion_verifyServiceTicket
,
6413 { "VerifyServiceTicket", "rcg.KerbOutputUnion.verifyServiceTicket", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6414 { &hf_rcg_KeyAgreementGenerateNonceReq_KeyAgreementHandle
,
6415 { "KeyAgreementHandle", "rcg.KeyAgreementGenerateNonceReq.KeyAgreementHandle", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6416 { &hf_rcg_KeyAgreementGenerateNonceResp_Nonce
,
6417 { "Nonce", "rcg.KeyAgreementGenerateNonceResp.Nonce", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6418 { &hf_rcg_KeyAgreementGenerateNonceResp_NonceLen
,
6419 { "NonceLen", "rcg.KeyAgreementGenerateNonceResp.NonceLen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6420 { &hf_rcg_LARGE_INTEGER_QuadPart
,
6421 { "QuadPart", "rcg.LARGE_INTEGER.QuadPart", FT_INT64
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6422 { &hf_rcg_Lm20GetNtlm3ChallengeResponseReq_Credential
,
6423 { "Credential", "rcg.Lm20GetNtlm3ChallengeResponseReq.Credential", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6424 { &hf_rcg_Lm20GetNtlm3ChallengeResponseReq_LogonDomainName
,
6425 { "LogonDomainName", "rcg.Lm20GetNtlm3ChallengeResponseReq.LogonDomainName", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6426 { &hf_rcg_Lm20GetNtlm3ChallengeResponseReq_ServerName
,
6427 { "ServerName", "rcg.Lm20GetNtlm3ChallengeResponseReq.ServerName", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6428 { &hf_rcg_Lm20GetNtlm3ChallengeResponseReq_UserName
,
6429 { "UserName", "rcg.Lm20GetNtlm3ChallengeResponseReq.UserName", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6430 { &hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Lm3Response
,
6431 { "Lm3Response", "rcg.Lm20GetNtlm3ChallengeResponseResp.Lm3Response", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6432 { &hf_rcg_Lm20GetNtlm3ChallengeResponseResp_LmSessionKey
,
6433 { "LmSessionKey", "rcg.Lm20GetNtlm3ChallengeResponseResp.LmSessionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6434 { &hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3Response
,
6435 { "Ntlm3Response", "rcg.Lm20GetNtlm3ChallengeResponseResp.Ntlm3Response", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6436 { &hf_rcg_Lm20GetNtlm3ChallengeResponseResp_Ntlm3ResponseLength
,
6437 { "Ntlm3ResponseLength", "rcg.Lm20GetNtlm3ChallengeResponseResp.Ntlm3ResponseLength", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6438 { &hf_rcg_Lm20GetNtlm3ChallengeResponseResp_UserSessionKey
,
6439 { "UserSessionKey", "rcg.Lm20GetNtlm3ChallengeResponseResp.UserSessionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6440 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved1
,
6441 { "Reserved1", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved1", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6442 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved2
,
6443 { "Reserved2", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved2", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6444 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved3
,
6445 { "Reserved3", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved3", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6446 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved4
,
6447 { "Reserved4", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved4", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6448 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved5
,
6449 { "Reserved5", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved5", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6450 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reserved6
,
6451 { "Reserved6", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reserved6", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6452 { &hf_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS_reservedSize
,
6453 { "ReservedSize", "rcg.MSV1_0_REMOTE_ENCRYPTED_SECRETS.reservedSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6454 { &hf_rcg_NegotiateVersion_MaxSupportedVersion
,
6455 { "MaxSupportedVersion", "rcg.NegotiateVersion.MaxSupportedVersion", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6456 { &hf_rcg_NtlmCredInput_calculateNtResponse
,
6457 { "CalculateNtResponse", "rcg.NtlmCredInput.calculateNtResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6458 { &hf_rcg_NtlmCredInput_calculateUserSessionKeyNt
,
6459 { "CalculateUserSessionKeyNt", "rcg.NtlmCredInput.calculateUserSessionKeyNt", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6460 { &hf_rcg_NtlmCredInput_compareCredentials
,
6461 { "CompareCredentials", "rcg.NtlmCredInput.compareCredentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6462 { &hf_rcg_NtlmCredInput_lm20GetNtlm3ChallengeResponse
,
6463 { "Lm20GetNtlm3ChallengeResponse", "rcg.NtlmCredInput.lm20GetNtlm3ChallengeResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6464 { &hf_rcg_NtlmCredInput_negotiateVersion
,
6465 { "NegotiateVersion", "rcg.NtlmCredInput.negotiateVersion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6466 { &hf_rcg_NtlmCredIsoRemoteInput_CallId
,
6467 { "CallId", "rcg.NtlmCredIsoRemoteInput.CallId", FT_UINT16
, BASE_DEC
, VALS(rcg_RemoteGuardCallId_vals
), 0, NULL
, HFILL
}},
6468 { &hf_rcg_NtlmCredIsoRemoteInput_callUnion
,
6469 { "CallUnion", "rcg.NtlmCredIsoRemoteInput.callUnion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6470 { &hf_rcg_NtlmCredIsoRemoteOutput_CallId
,
6471 { "CallId", "rcg.NtlmCredIsoRemoteOutput.CallId", FT_UINT16
, BASE_DEC
, VALS(rcg_RemoteGuardCallId_vals
), 0, NULL
, HFILL
}},
6472 { &hf_rcg_NtlmCredIsoRemoteOutput_Status
,
6473 { "Status", "rcg.NtlmCredIsoRemoteOutput.Status", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &NT_errors_ext
, 0, NULL
, HFILL
}},
6474 { &hf_rcg_NtlmCredIsoRemoteOutput_callUnion
,
6475 { "CallUnion", "rcg.NtlmCredIsoRemoteOutput.callUnion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6476 { &hf_rcg_NtlmCredOutput_calculateNtResponse
,
6477 { "CalculateNtResponse", "rcg.NtlmCredOutput.calculateNtResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6478 { &hf_rcg_NtlmCredOutput_calculateUserSessionKeyNt
,
6479 { "CalculateUserSessionKeyNt", "rcg.NtlmCredOutput.calculateUserSessionKeyNt", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6480 { &hf_rcg_NtlmCredOutput_compareCredentials
,
6481 { "CompareCredentials", "rcg.NtlmCredOutput.compareCredentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6482 { &hf_rcg_NtlmCredOutput_lm20GetNtlm3ChallengeResponse
,
6483 { "Lm20GetNtlm3ChallengeResponse", "rcg.NtlmCredOutput.lm20GetNtlm3ChallengeResponse", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6484 { &hf_rcg_NtlmCredOutput_negotiateVersion
,
6485 { "NegotiateVersion", "rcg.NtlmCredOutput.negotiateVersion", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6486 { &hf_rcg_PackApReplyReq_Reply
,
6487 { "Reply", "rcg.PackApReplyReq.Reply", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6488 { &hf_rcg_PackApReplyReq_ReplyBody
,
6489 { "ReplyBody", "rcg.PackApReplyReq.ReplyBody", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6490 { &hf_rcg_PackApReplyReq_SessionKey
,
6491 { "SessionKey", "rcg.PackApReplyReq.SessionKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6492 { &hf_rcg_PackApReplyResp_PackedReply
,
6493 { "PackedReply", "rcg.PackApReplyResp.PackedReply", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6494 { &hf_rcg_PackApReplyResp_PackedReplySize
,
6495 { "PackedReplySize", "rcg.PackApReplyResp.PackedReplySize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6496 { &hf_rcg_RPC_UNICODE_STRING_Buffer
,
6497 { "Buffer", "rcg.RPC_UNICODE_STRING.Buffer", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6498 { &hf_rcg_RPC_UNICODE_STRING_Length
,
6499 { "Length", "rcg.RPC_UNICODE_STRING.Length", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6500 { &hf_rcg_RPC_UNICODE_STRING_MaximumLength
,
6501 { "MaximumLength", "rcg.RPC_UNICODE_STRING.MaximumLength", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6502 { &hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_CredentialCount
,
6503 { "CredentialCount", "rcg.SECPKG_SUPPLEMENTAL_CRED_ARRAY.CredentialCount", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6504 { &hf_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY_Credentials
,
6505 { "Credentials", "rcg.SECPKG_SUPPLEMENTAL_CRED_ARRAY.Credentials", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6506 { &hf_rcg_SECPKG_SUPPLEMENTAL_CRED_CredentialSize
,
6507 { "CredentialSize", "rcg.SECPKG_SUPPLEMENTAL_CRED.CredentialSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6508 { &hf_rcg_SECPKG_SUPPLEMENTAL_CRED_Credentials
,
6509 { "Credentials", "rcg.SECPKG_SUPPLEMENTAL_CRED.Credentials", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6510 { &hf_rcg_SECPKG_SUPPLEMENTAL_CRED_PackageName
,
6511 { "PackageName", "rcg.SECPKG_SUPPLEMENTAL_CRED.PackageName", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6512 { &hf_rcg_SignS4UPreauthDataReq_ChecksumType
,
6513 { "ChecksumType", "rcg.SignS4UPreauthDataReq.ChecksumType", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6514 { &hf_rcg_SignS4UPreauthDataReq_IsRequest
,
6515 { "IsRequest", "rcg.SignS4UPreauthDataReq.IsRequest", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6516 { &hf_rcg_SignS4UPreauthDataReq_Key
,
6517 { "Key", "rcg.SignS4UPreauthDataReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6518 { &hf_rcg_SignS4UPreauthDataReq_UserId
,
6519 { "UserId", "rcg.SignS4UPreauthDataReq.UserId", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6520 { &hf_rcg_SignS4UPreauthDataResp_ChecksumSize
,
6521 { "ChecksumSize", "rcg.SignS4UPreauthDataResp.ChecksumSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6522 { &hf_rcg_SignS4UPreauthDataResp_ChecksumType
,
6523 { "ChecksumType", "rcg.SignS4UPreauthDataResp.ChecksumType", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6524 { &hf_rcg_SignS4UPreauthDataResp_ChecksumValue
,
6525 { "ChecksumValue", "rcg.SignS4UPreauthDataResp.ChecksumValue", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6526 { &hf_rcg_UnpackKdcReplyBodyReq_EncryptedData
,
6527 { "EncryptedData", "rcg.UnpackKdcReplyBodyReq.EncryptedData", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6528 { &hf_rcg_UnpackKdcReplyBodyReq_Key
,
6529 { "Key", "rcg.UnpackKdcReplyBodyReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6530 { &hf_rcg_UnpackKdcReplyBodyReq_KeyUsage
,
6531 { "KeyUsage", "rcg.UnpackKdcReplyBodyReq.KeyUsage", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6532 { &hf_rcg_UnpackKdcReplyBodyReq_Pdu
,
6533 { "Pdu", "rcg.UnpackKdcReplyBodyReq.Pdu", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6534 { &hf_rcg_UnpackKdcReplyBodyReq_StrengthenKey
,
6535 { "StrengthenKey", "rcg.UnpackKdcReplyBodyReq.StrengthenKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6536 { &hf_rcg_UnpackKdcReplyBodyResp_KerbProtocolError
,
6537 { "KerbProtocolError", "rcg.UnpackKdcReplyBodyResp.KerbProtocolError", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6538 { &hf_rcg_UnpackKdcReplyBodyResp_ReplyBody
,
6539 { "ReplyBody", "rcg.UnpackKdcReplyBodyResp.ReplyBody", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6540 { &hf_rcg_VerifyChecksumReq_ChecksumType
,
6541 { "ChecksumType", "rcg.VerifyChecksumReq.ChecksumType", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6542 { &hf_rcg_VerifyChecksumReq_DataToCheck
,
6543 { "DataToCheck", "rcg.VerifyChecksumReq.DataToCheck", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6544 { &hf_rcg_VerifyChecksumReq_DataToCheckSize
,
6545 { "DataToCheckSize", "rcg.VerifyChecksumReq.DataToCheckSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6546 { &hf_rcg_VerifyChecksumReq_ExpectedChecksum
,
6547 { "ExpectedChecksum", "rcg.VerifyChecksumReq.ExpectedChecksum", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6548 { &hf_rcg_VerifyChecksumReq_ExpectedChecksumSize
,
6549 { "ExpectedChecksumSize", "rcg.VerifyChecksumReq.ExpectedChecksumSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6550 { &hf_rcg_VerifyChecksumReq_Key
,
6551 { "Key", "rcg.VerifyChecksumReq.Key", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6552 { &hf_rcg_VerifyChecksumResp_IsValid
,
6553 { "IsValid", "rcg.VerifyChecksumResp.IsValid", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6554 { &hf_rcg_VerifyServiceTicketReq_PackedTicket
,
6555 { "PackedTicket", "rcg.VerifyServiceTicketReq.PackedTicket", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6556 { &hf_rcg_VerifyServiceTicketReq_ServiceKey
,
6557 { "ServiceKey", "rcg.VerifyServiceTicketReq.ServiceKey", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6558 { &hf_rcg_VerifyServiceTicketReq_TimeSkew
,
6559 { "TimeSkew", "rcg.VerifyServiceTicketReq.TimeSkew", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6560 { &hf_rcg_VerifyServiceTicketResp_DecryptedTicket
,
6561 { "DecryptedTicket", "rcg.VerifyServiceTicketResp.DecryptedTicket", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
6562 { &hf_rcg_VerifyServiceTicketResp_KerbProtocolError
,
6563 { "KerbProtocolError", "rcg.VerifyServiceTicketResp.KerbProtocolError", FT_INT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6565 { "Operation", "rcg.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
6569 static int *ett
[] = {
6571 &ett_rcg_KERB_ASN1_DATA
,
6572 &ett_rcg_KERB_ASN1_DATA_CHECKSUM
,
6573 &ett_rcg_KERB_RPC_OCTET_STRING
,
6574 &ett_rcg_KERB_RPC_PA_DATA
,
6575 &ett_rcg_KERB_RPC_ENCRYPTION_KEY
,
6576 &ett_rcg_RPC_UNICODE_STRING
,
6577 &ett_rcg_KERB_RPC_INTERNAL_NAME
,
6578 &ett_rcg_SECPKG_SUPPLEMENTAL_CRED
,
6579 &ett_rcg_SECPKG_SUPPLEMENTAL_CRED_ARRAY
,
6580 &ett_rcg_PSECPKG_SUPPLEMENTAL_CRED_ARRAY
,
6581 &ett_rcg_KERB_RPC_CRYPTO_API_BLOB
,
6582 &ett_rcg_NegotiateVersion
,
6583 &ett_rcg_LARGE_INTEGER
,
6584 &ett_rcg_PLARGE_INTEGER
,
6585 &ett_rcg_BuildAsReqAuthenticatorReq
,
6586 &ett_rcg_BuildAsReqAuthenticatorResp
,
6587 &ett_rcg_VerifyServiceTicketReq
,
6588 &ett_rcg_VerifyServiceTicketResp
,
6589 &ett_rcg_PRPC_UNICODE_STRING
,
6590 &ett_rcg_CreateApReqAuthenticatorReq
,
6591 &ett_rcg_CreateApReqAuthenticatorResp
,
6592 &ett_rcg_DecryptApReplyReq
,
6593 &ett_rcg_DecryptApReplyResp
,
6594 &ett_rcg_UnpackKdcReplyBodyReq
,
6595 &ett_rcg_UnpackKdcReplyBodyResp
,
6596 &ett_rcg_ComputeTgsChecksumReq
,
6597 &ett_rcg_ComputeTgsChecksumResp
,
6598 &ett_rcg_BuildEncryptedAuthDataReq
,
6599 &ett_rcg_BuildEncryptedAuthDataResp
,
6600 &ett_rcg_PackApReplyReq
,
6601 &ett_rcg_PackApReplyResp
,
6602 &ett_rcg_HashS4UPreauthReq
,
6603 &ett_rcg_HashS4UPreauthResp
,
6604 &ett_rcg_SignS4UPreauthDataReq
,
6605 &ett_rcg_SignS4UPreauthDataResp
,
6606 &ett_rcg_VerifyChecksumReq
,
6607 &ett_rcg_VerifyChecksumResp
,
6608 &ett_rcg_DecryptPacCredentialsReq
,
6609 &ett_rcg_DecryptPacCredentialsResp
,
6610 &ett_rcg_CreateECDHKeyAgreementReq
,
6611 &ett_rcg_CreateECDHKeyAgreementResp
,
6612 &ett_rcg_CreateDHKeyAgreementReq
,
6613 &ett_rcg_CreateDHKeyAgreementResp
,
6614 &ett_rcg_DestroyKeyAgreementReq
,
6615 &ett_rcg_DestroyKeyAgreementResp
,
6616 &ett_rcg_KeyAgreementGenerateNonceReq
,
6617 &ett_rcg_KeyAgreementGenerateNonceResp
,
6618 &ett_rcg_FinalizeKeyAgreementReq
,
6619 &ett_rcg_FinalizeKeyAgreementResp
,
6620 &ett_rcg_KerbInputUnion
,
6621 &ett_rcg_KerbCredIsoRemoteInput
,
6622 &ett_rcg_KerbOutputUnion
,
6623 &ett_rcg_KerbCredIsoRemoteOutput
,
6624 &ett_rcg_NT_RESPONSE
,
6625 &ett_rcg_NT_CHALLENGE
,
6626 &ett_rcg_PNT_CHALLENGE
,
6627 &ett_rcg_LM_SESSION_KEY
,
6628 &ett_rcg_MSV1_0_LM3_RESPONSE
,
6629 &ett_rcg_PMSV1_0_LM3_RESPONSE
,
6630 &ett_rcg_USER_SESSION_KEY
,
6631 &ett_rcg_PUSER_SESSION_KEY
,
6632 &ett_rcg_MSV1_0_CREDENTIAL_KEY
,
6633 &ett_rcg_PMSV1_0_CREDENTIAL_KEY
,
6634 &ett_rcg_MSV1_0_REMOTE_ENCRYPTED_SECRETS
,
6635 &ett_rcg_PMSV1_0_REMOTE_ENCRYPTED_SECRETS
,
6636 &ett_rcg_Lm20GetNtlm3ChallengeResponseReq
,
6637 &ett_rcg_Lm20GetNtlm3ChallengeResponseResp
,
6638 &ett_rcg_CalculateNtResponseReq
,
6639 &ett_rcg_CalculateNtResponseResp
,
6640 &ett_rcg_CalculateUserSessionKeyNtReq
,
6641 &ett_rcg_CalculateUserSessionKeyNtResp
,
6642 &ett_rcg_CompareCredentialsReq
,
6643 &ett_rcg_CompareCredentialsResp
,
6644 &ett_rcg_NtlmCredInput
,
6645 &ett_rcg_NtlmCredIsoRemoteInput
,
6646 &ett_rcg_NtlmCredOutput
,
6647 &ett_rcg_NtlmCredIsoRemoteOutput
,
6650 proto_dcerpc_rcg
= proto_register_protocol("RCG (pidl)", "RCG", "rcg");
6651 proto_register_field_array(proto_dcerpc_rcg
, hf
, array_length (hf
));
6652 proto_register_subtree_array(ett
, array_length(ett
));
6655 void proto_reg_handoff_dcerpc_rcg(void)
6657 dcerpc_init_uuid(proto_dcerpc_rcg
, ett_dcerpc_rcg
,
6658 &uuid_dcerpc_rcg
, ver_dcerpc_rcg
,
6659 rcg_dissectors
, hf_rcg_opnum
);