2 This filter was automatically generated
3 from /home/metze/devel/samba/4.0/master4-franky/librpc/idl/backupkey.idl and /home/metze/devel/samba/4.0/master4-franky/librpc/idl/backupkey.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 http://wiki.wireshark.org/Pidl
16 #pragma warning(disable:4005)
17 #pragma warning(disable:4013)
18 #pragma warning(disable:4018)
19 #pragma warning(disable:4101)
24 #include <epan/packet.h>
26 #include "packet-dcerpc.h"
27 #include "packet-dcerpc-nt.h"
28 #include "packet-windows-common.h"
29 #include "packet-dcerpc-backupkey.h"
31 /* Ett declarations */
32 static gint ett_dcerpc_backupkey = -1;
33 static gint ett_backupkey_bkrp_exported_RSA_key_pair = -1;
34 static gint ett_backupkey_bkrp_dc_serverwrap_key = -1;
35 static gint ett_backupkey_bkrp_client_side_wrapped = -1;
36 static gint ett_backupkey_bkrp_client_side_unwrapped = -1;
37 static gint ett_backupkey_bkrp_encrypted_secret_v2 = -1;
38 static gint ett_backupkey_bkrp_encrypted_secret_v3 = -1;
39 static gint ett_backupkey_bkrp_access_check_v2 = -1;
40 static gint ett_backupkey_bkrp_access_check_v3 = -1;
41 static gint ett_backupkey_bkrp_data_in_blob = -1;
44 /* Header field declarations */
45 static gint hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req = -1;
46 static gint hf_backupkey_bkrp_access_check_v2_nonce = -1;
47 static gint hf_backupkey_bkrp_client_side_wrapped_access_check_len = -1;
48 static gint hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req = -1;
49 static gint hf_backupkey_bkrp_exported_RSA_key_pair_prime2 = -1;
50 static gint hf_backupkey_bkrp_encrypted_secret_v3_payload_key = -1;
51 static gint hf_backupkey_bkrp_client_side_wrapped_guid = -1;
52 static gint hf_backupkey_bkrp_exported_RSA_key_pair_modulus_ = -1;
53 static gint hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent_ = -1;
54 static gint hf_backupkey_bkrp_exported_RSA_key_pair_header1 = -1;
55 static gint hf_backupkey_bkrp_exported_RSA_key_pair_certificate_len = -1;
56 static gint hf_backupkey_bkrp_exported_RSA_key_pair_coefficient_ = -1;
57 static gint hf_backupkey_bkrp_dc_serverwrap_key_magic = -1;
58 static gint hf_backupkey_bkrp_exported_RSA_key_pair_magic2 = -1;
59 static gint hf_backupkey_bkrp_client_side_unwrapped_secret_ = -1;
60 static gint hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent_ = -1;
61 static gint hf_backupkey_bkrp_client_side_wrapped_encrypted_secret_len = -1;
62 static gint hf_backupkey_bkrp_client_side_unwrapped_magic = -1;
63 static gint hf_backupkey_bkrp_exported_RSA_key_pair_exponent1_ = -1;
64 static gint hf_backupkey_bkrp_encrypted_secret_v3_magic3 = -1;
65 static gint hf_backupkey_bkrp_client_side_wrapped_access_check = -1;
66 static gint hf_backupkey_bkrp_exported_RSA_key_pair_magic1 = -1;
67 static gint hf_backupkey_bkrp_encrypted_secret_v3_secret_len = -1;
68 static gint hf_backupkey_bkrp_client_side_wrapped_encrypted_secret = -1;
69 static gint hf_backupkey_bkrp_BackupKey_guidActionAgent = -1;
70 static gint hf_backupkey_bkrp_exported_RSA_key_pair_prime1 = -1;
71 static gint hf_backupkey_bkrp_access_check_v2_magic = -1;
72 static gint hf_backupkey_bkrp_encrypted_secret_v3_magic1 = -1;
73 static gint hf_backupkey_bkrp_exported_RSA_key_pair_exponent2 = -1;
74 static gint hf_backupkey_bkrp_client_side_unwrapped_secret = -1;
75 static gint hf_backupkey_bkrp_access_check_v3_sid = -1;
76 static gint hf_backupkey_bkrp_access_check_v2_sid = -1;
77 static gint hf_backupkey_bkrp_exported_RSA_key_pair_header2 = -1;
78 static gint hf_backupkey_bkrp_BackupKey_data_out_len = -1;
79 static gint hf_backupkey_bkrp_client_side_wrapped_version = -1;
80 static gint hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent = -1;
81 static gint hf_backupkey_bkrp_BackupKey_param = -1;
82 static gint hf_backupkey_werror = -1;
83 static gint hf_backupkey_bkrp_dc_serverwrap_key_key = -1;
84 static gint hf_backupkey_bkrp_encrypted_secret_v2_secret = -1;
85 static gint hf_backupkey_bkrp_encrypted_secret_v2_secret_len = -1;
86 static gint hf_backupkey_bkrp_access_check_v3_nonce_len = -1;
87 static gint hf_backupkey_bkrp_access_check_v3_hash = -1;
88 static gint hf_backupkey_opnum = -1;
89 static gint hf_backupkey_bkrp_exported_RSA_key_pair_magic3 = -1;
90 static gint hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent = -1;
91 static gint hf_backupkey_bkrp_BackupKey_data_out = -1;
92 static gint hf_backupkey_bkrp_exported_RSA_key_pair_magic4 = -1;
93 static gint hf_backupkey_bkrp_encrypted_secret_v3_magic2 = -1;
94 static gint hf_backupkey_bkrp_exported_RSA_key_pair_cert_ = -1;
95 static gint hf_backupkey_bkrp_exported_RSA_key_pair_prime2_ = -1;
96 static gint hf_backupkey_bkrp_BackupKey_data_in_len = -1;
97 static gint hf_backupkey_bkrp_BackupKey_data_in = -1;
98 static gint hf_backupkey_bkrp_access_check_v3_nonce = -1;
99 static gint hf_backupkey_bkrp_exported_RSA_key_pair_exponent1 = -1;
100 static gint hf_backupkey_bkrp_access_check_v2_nonce_len = -1;
101 static gint hf_backupkey_bkrp_access_check_v2_hash = -1;
102 static gint hf_backupkey_bkrp_exported_RSA_key_pair_cert = -1;
103 static gint hf_backupkey_bkrp_exported_RSA_key_pair_exponent2_ = -1;
104 static gint hf_backupkey_bkrp_exported_RSA_key_pair_modulus = -1;
105 static gint hf_backupkey_bkrp_encrypted_secret_v2_magic = -1;
106 static gint hf_backupkey_bkrp_encrypted_secret_v2_payload_key = -1;
107 static gint hf_backupkey_bkrp_encrypted_secret_v3_secret = -1;
108 static gint hf_backupkey_bkrp_exported_RSA_key_pair_prime1_ = -1;
109 static gint hf_backupkey_bkrp_access_check_v3_magic = -1;
110 static gint hf_backupkey_bkrp_exported_RSA_key_pair_coefficient = -1;
112 static gint proto_dcerpc_backupkey = -1;
113 /* Version information */
116 static e_uuid_t uuid_dcerpc_backupkey = {
117 0x3dde7c30, 0x165d, 0x11d1,
118 { 0xab, 0x8f, 0x00, 0x80, 0x5f, 0x14, 0xdb, 0x40 }
120 static guint16 ver_dcerpc_backupkey = 1;
122 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_header1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
123 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_header2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
124 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_certificate_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
125 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
126 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
127 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
128 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
129 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
130 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
131 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
132 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
133 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
134 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
135 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
136 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
137 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
138 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
139 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
140 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
141 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
142 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
143 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
144 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
145 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
146 static int backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
147 static int backupkey_dissect_element_bkrp_dc_serverwrap_key_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
148 static int backupkey_dissect_element_bkrp_dc_serverwrap_key_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
149 static int backupkey_dissect_element_bkrp_dc_serverwrap_key_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
150 static int backupkey_dissect_element_bkrp_client_side_wrapped_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
151 static int backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
152 static int backupkey_dissect_element_bkrp_client_side_wrapped_access_check_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
153 static int backupkey_dissect_element_bkrp_client_side_wrapped_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
154 static int backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
155 static int backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
156 static int backupkey_dissect_element_bkrp_client_side_wrapped_access_check(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
157 static int backupkey_dissect_element_bkrp_client_side_wrapped_access_check_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
158 static int backupkey_dissect_element_bkrp_client_side_unwrapped_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
159 static int backupkey_dissect_element_bkrp_client_side_unwrapped_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
160 static int backupkey_dissect_element_bkrp_client_side_unwrapped_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
161 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
162 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
163 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
164 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
165 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
166 static int backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
167 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
168 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_magic1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
169 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_magic2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
170 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_magic3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
171 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
172 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
173 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
174 static int backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
175 static int backupkey_dissect_element_bkrp_access_check_v2_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
176 static int backupkey_dissect_element_bkrp_access_check_v2_nonce_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
177 static int backupkey_dissect_element_bkrp_access_check_v2_nonce(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
178 static int backupkey_dissect_element_bkrp_access_check_v2_nonce_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
179 static int backupkey_dissect_element_bkrp_access_check_v2_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
180 static int backupkey_dissect_element_bkrp_access_check_v2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
181 static int backupkey_dissect_element_bkrp_access_check_v2_hash_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
182 static int backupkey_dissect_element_bkrp_access_check_v3_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
183 static int backupkey_dissect_element_bkrp_access_check_v3_nonce_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
184 static int backupkey_dissect_element_bkrp_access_check_v3_nonce(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
185 static int backupkey_dissect_element_bkrp_access_check_v3_nonce_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
186 static int backupkey_dissect_element_bkrp_access_check_v3_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
187 static int backupkey_dissect_element_bkrp_access_check_v3_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
188 static int backupkey_dissect_element_bkrp_access_check_v3_hash_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
189 const value_string backupkey_bkrp_guid_to_integer_vals[] = {
190 { BACKUPKEY_INVALID_GUID_INTEGER, "BACKUPKEY_INVALID_GUID_INTEGER" },
191 { BACKUPKEY_RESTORE_GUID_INTEGER, "BACKUPKEY_RESTORE_GUID_INTEGER" },
192 { BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER, "BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER" },
195 static int backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
196 static int backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
197 static int backupkey_dissect_element_bkrp_BackupKey_guidActionAgent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
198 static int backupkey_dissect_element_bkrp_BackupKey_guidActionAgent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
199 static int backupkey_dissect_element_bkrp_BackupKey_data_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
200 static int backupkey_dissect_element_bkrp_BackupKey_data_in_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
201 static int backupkey_dissect_element_bkrp_BackupKey_data_in__(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
202 static int backupkey_dissect_element_bkrp_BackupKey_data_in_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
203 static int backupkey_dissect_element_bkrp_BackupKey_data_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
204 static int backupkey_dissect_element_bkrp_BackupKey_data_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
205 static int backupkey_dissect_element_bkrp_BackupKey_data_out__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
206 static int backupkey_dissect_element_bkrp_BackupKey_data_out___(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
207 static int backupkey_dissect_element_bkrp_BackupKey_data_out_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
208 static int backupkey_dissect_element_bkrp_BackupKey_data_out_len_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
209 static int backupkey_dissect_element_bkrp_BackupKey_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
213 /* IDL: [value(0x00000002)] uint32 header1; */
214 /* IDL: [value(0x00000494)] uint32 header2; */
215 /* IDL: uint32 certificate_len; */
216 /* IDL: [value(0x00000207)] uint32 magic1; */
217 /* IDL: [value(0x0000A400)] uint32 magic2; */
218 /* IDL: [value(0x32415352)] uint32 magic3; */
219 /* IDL: [value(0x00000800)] uint32 magic4; */
220 /* IDL: [subcontext_size(4)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB public_exponent; */
221 /* IDL: [subcontext_size(256)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB modulus; */
222 /* IDL: [subcontext_size(128)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prime1; */
223 /* IDL: [subcontext_size(128)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB prime2; */
224 /* IDL: [subcontext_size(128)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB exponent1; */
225 /* IDL: [subcontext_size(128)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB exponent2; */
226 /* IDL: [subcontext_size(128)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB coefficient; */
227 /* IDL: [subcontext_size(256)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB private_exponent; */
228 /* IDL: [subcontext_size(certificate_len)] [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB cert; */
232 backupkey_dissect_element_bkrp_exported_RSA_key_pair_header1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
234 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_header1, 0);
240 backupkey_dissect_element_bkrp_exported_RSA_key_pair_header2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
242 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_header2, 0);
248 backupkey_dissect_element_bkrp_exported_RSA_key_pair_certificate_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
250 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_certificate_len, 0);
256 backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
258 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_magic1, 0);
264 backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
266 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_magic2, 0);
272 backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
274 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_magic3, 0);
280 backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
282 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_magic4, 0);
288 backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
290 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
292 int conformant = di->conformant_run;
296 guint32 saved_flags = di->call_data->flags;
297 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent_, &size);
298 di->call_data->flags &= ~DCERPC_IS_NDR64;
299 subtvb = tvb_new_subset(tvb, offset, size, -1);
300 backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent_(subtvb, 0, pinfo, tree, drep);
302 di->call_data->flags = saved_flags;
309 backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
311 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent, 1);
317 backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
319 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
321 int conformant = di->conformant_run;
325 guint32 saved_flags = di->call_data->flags;
326 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_modulus_, &size);
327 di->call_data->flags &= ~DCERPC_IS_NDR64;
328 subtvb = tvb_new_subset(tvb, offset, size, -1);
329 backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus_(subtvb, 0, pinfo, tree, drep);
331 di->call_data->flags = saved_flags;
338 backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
340 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_modulus, 1);
346 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
348 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
350 int conformant = di->conformant_run;
354 guint32 saved_flags = di->call_data->flags;
355 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_prime1_, &size);
356 di->call_data->flags &= ~DCERPC_IS_NDR64;
357 subtvb = tvb_new_subset(tvb, offset, size, -1);
358 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1_(subtvb, 0, pinfo, tree, drep);
360 di->call_data->flags = saved_flags;
367 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
369 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_prime1, 1);
375 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
377 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
379 int conformant = di->conformant_run;
383 guint32 saved_flags = di->call_data->flags;
384 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_prime2_, &size);
385 di->call_data->flags &= ~DCERPC_IS_NDR64;
386 subtvb = tvb_new_subset(tvb, offset, size, -1);
387 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2_(subtvb, 0, pinfo, tree, drep);
389 di->call_data->flags = saved_flags;
396 backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
398 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_prime2, 1);
404 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
406 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
408 int conformant = di->conformant_run;
412 guint32 saved_flags = di->call_data->flags;
413 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_exponent1_, &size);
414 di->call_data->flags &= ~DCERPC_IS_NDR64;
415 subtvb = tvb_new_subset(tvb, offset, size, -1);
416 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1_(subtvb, 0, pinfo, tree, drep);
418 di->call_data->flags = saved_flags;
425 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
427 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_exponent1, 1);
433 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
435 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
437 int conformant = di->conformant_run;
441 guint32 saved_flags = di->call_data->flags;
442 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_exponent2_, &size);
443 di->call_data->flags &= ~DCERPC_IS_NDR64;
444 subtvb = tvb_new_subset(tvb, offset, size, -1);
445 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2_(subtvb, 0, pinfo, tree, drep);
447 di->call_data->flags = saved_flags;
454 backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
456 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_exponent2, 1);
462 backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
464 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
466 int conformant = di->conformant_run;
470 guint32 saved_flags = di->call_data->flags;
471 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_coefficient_, &size);
472 di->call_data->flags &= ~DCERPC_IS_NDR64;
473 subtvb = tvb_new_subset(tvb, offset, size, -1);
474 backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient_(subtvb, 0, pinfo, tree, drep);
476 di->call_data->flags = saved_flags;
483 backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
485 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_coefficient, 1);
491 backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
493 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
495 int conformant = di->conformant_run;
499 guint32 saved_flags = di->call_data->flags;
500 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent_, &size);
501 di->call_data->flags &= ~DCERPC_IS_NDR64;
502 subtvb = tvb_new_subset(tvb, offset, size, -1);
503 backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent_(subtvb, 0, pinfo, tree, drep);
505 di->call_data->flags = saved_flags;
512 backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
514 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent, 1);
520 backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
522 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
524 int conformant = di->conformant_run;
528 guint32 saved_flags = di->call_data->flags;
529 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_cert_, &size);
530 di->call_data->flags &= ~DCERPC_IS_NDR64;
531 subtvb = tvb_new_subset(tvb, offset, size, -1);
532 backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert_(subtvb, 0, pinfo, tree, drep);
534 di->call_data->flags = saved_flags;
541 backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
543 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_exported_RSA_key_pair_cert, 1);
549 backupkey_dissect_struct_bkrp_exported_RSA_key_pair(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
551 proto_item *item = NULL;
552 proto_tree *tree = NULL;
553 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
561 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
562 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_exported_RSA_key_pair);
565 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_header1(tvb, offset, pinfo, tree, drep);
567 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_header2(tvb, offset, pinfo, tree, drep);
569 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_certificate_len(tvb, offset, pinfo, tree, drep);
571 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic1(tvb, offset, pinfo, tree, drep);
573 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic2(tvb, offset, pinfo, tree, drep);
575 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic3(tvb, offset, pinfo, tree, drep);
577 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_magic4(tvb, offset, pinfo, tree, drep);
579 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_public_exponent(tvb, offset, pinfo, tree, drep);
581 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_modulus(tvb, offset, pinfo, tree, drep);
583 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime1(tvb, offset, pinfo, tree, drep);
585 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_prime2(tvb, offset, pinfo, tree, drep);
587 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent1(tvb, offset, pinfo, tree, drep);
589 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_exponent2(tvb, offset, pinfo, tree, drep);
591 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_coefficient(tvb, offset, pinfo, tree, drep);
593 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_private_exponent(tvb, offset, pinfo, tree, drep);
595 offset = backupkey_dissect_element_bkrp_exported_RSA_key_pair_cert(tvb, offset, pinfo, tree, drep);
598 proto_item_set_len(item, offset-old_offset);
601 if (di->call_data->flags & DCERPC_IS_NDR64) {
610 /* IDL: [value(0x00000001)] uint32 magic; */
611 /* IDL: uint8 key[256]; */
615 backupkey_dissect_element_bkrp_dc_serverwrap_key_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
617 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_dc_serverwrap_key_magic, 0);
623 backupkey_dissect_element_bkrp_dc_serverwrap_key_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
625 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
626 int conformant = di->conformant_run;
628 offset = backupkey_dissect_element_bkrp_dc_serverwrap_key_key_(tvb, offset, 256, pinfo, tree, drep);
635 backupkey_dissect_element_bkrp_dc_serverwrap_key_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
637 proto_tree_add_bytes(tree, hf_backupkey_bkrp_dc_serverwrap_key_key, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
643 backupkey_dissect_struct_bkrp_dc_serverwrap_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
645 proto_item *item = NULL;
646 proto_tree *tree = NULL;
647 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
655 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
656 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_dc_serverwrap_key);
659 offset = backupkey_dissect_element_bkrp_dc_serverwrap_key_magic(tvb, offset, pinfo, tree, drep);
661 offset = backupkey_dissect_element_bkrp_dc_serverwrap_key_key(tvb, offset, pinfo, tree, drep);
664 proto_item_set_len(item, offset-old_offset);
667 if (di->call_data->flags & DCERPC_IS_NDR64) {
676 /* IDL: uint32 version; */
677 /* IDL: uint32 encrypted_secret_len; */
678 /* IDL: uint32 access_check_len; */
679 /* IDL: GUID guid; */
680 /* IDL: uint8 encrypted_secret[encrypted_secret_len]; */
681 /* IDL: uint8 access_check[access_check_len]; */
685 backupkey_dissect_element_bkrp_client_side_wrapped_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
687 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_version, 0);
693 backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
695 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_encrypted_secret_len, 0);
701 backupkey_dissect_element_bkrp_client_side_wrapped_access_check_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
703 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_access_check_len, 0);
709 backupkey_dissect_element_bkrp_client_side_wrapped_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
711 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_guid, NULL);
717 backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
724 backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
726 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_encrypted_secret, 0);
732 backupkey_dissect_element_bkrp_client_side_wrapped_access_check(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
739 backupkey_dissect_element_bkrp_client_side_wrapped_access_check_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
741 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_wrapped_access_check, 0);
747 backupkey_dissect_struct_bkrp_client_side_wrapped(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
749 proto_item *item = NULL;
750 proto_tree *tree = NULL;
751 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
759 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
760 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_client_side_wrapped);
763 offset = backupkey_dissect_element_bkrp_client_side_wrapped_version(tvb, offset, pinfo, tree, drep);
765 offset = backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret_len(tvb, offset, pinfo, tree, drep);
767 offset = backupkey_dissect_element_bkrp_client_side_wrapped_access_check_len(tvb, offset, pinfo, tree, drep);
769 offset = backupkey_dissect_element_bkrp_client_side_wrapped_guid(tvb, offset, pinfo, tree, drep);
771 offset = backupkey_dissect_element_bkrp_client_side_wrapped_encrypted_secret(tvb, offset, pinfo, tree, drep);
773 offset = backupkey_dissect_element_bkrp_client_side_wrapped_access_check(tvb, offset, pinfo, tree, drep);
776 proto_item_set_len(item, offset-old_offset);
779 if (di->call_data->flags & DCERPC_IS_NDR64) {
788 /* IDL: [value(0x00000000)] uint32 magic; */
789 /* IDL: [subcontext(0)] [flag(LIBNDR_FLAG_REMAINING)] DATA_BLOB secret; */
793 backupkey_dissect_element_bkrp_client_side_unwrapped_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
795 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_unwrapped_magic, 0);
801 backupkey_dissect_element_bkrp_client_side_unwrapped_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
803 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
805 int conformant = di->conformant_run;
809 guint32 saved_flags = di->call_data->flags;
810 offset = dissect_ndr_uint0(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_unwrapped_secret_, &size);
811 di->call_data->flags &= ~DCERPC_IS_NDR64;
812 subtvb = tvb_new_subset(tvb, offset, size, -1);
813 backupkey_dissect_element_bkrp_client_side_unwrapped_secret_(subtvb, 0, pinfo, tree, drep);
815 di->call_data->flags = saved_flags;
822 backupkey_dissect_element_bkrp_client_side_unwrapped_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
824 offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_client_side_unwrapped_secret, 1);
830 backupkey_dissect_struct_bkrp_client_side_unwrapped(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
832 proto_item *item = NULL;
833 proto_tree *tree = NULL;
834 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
842 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
843 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_client_side_unwrapped);
846 offset = backupkey_dissect_element_bkrp_client_side_unwrapped_magic(tvb, offset, pinfo, tree, drep);
848 offset = backupkey_dissect_element_bkrp_client_side_unwrapped_secret(tvb, offset, pinfo, tree, drep);
851 proto_item_set_len(item, offset-old_offset);
854 if (di->call_data->flags & DCERPC_IS_NDR64) {
863 /* IDL: uint32 secret_len; */
864 /* IDL: [value(0x00000020)] uint32 magic; */
865 /* IDL: uint8 secret[secret_len]; */
866 /* IDL: uint8 payload_key[32]; */
870 backupkey_dissect_element_bkrp_encrypted_secret_v2_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
872 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v2_secret_len, 0);
878 backupkey_dissect_element_bkrp_encrypted_secret_v2_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
880 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v2_magic, 0);
886 backupkey_dissect_element_bkrp_encrypted_secret_v2_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
893 backupkey_dissect_element_bkrp_encrypted_secret_v2_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
895 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v2_secret, 0);
901 backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
903 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
904 int conformant = di->conformant_run;
906 offset = backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key_(tvb, offset, 32, pinfo, tree, drep);
913 backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
915 proto_tree_add_bytes(tree, hf_backupkey_bkrp_encrypted_secret_v2_payload_key, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
921 backupkey_dissect_struct_bkrp_encrypted_secret_v2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
923 proto_item *item = NULL;
924 proto_tree *tree = NULL;
925 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
933 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
934 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_encrypted_secret_v2);
937 offset = backupkey_dissect_element_bkrp_encrypted_secret_v2_secret_len(tvb, offset, pinfo, tree, drep);
939 offset = backupkey_dissect_element_bkrp_encrypted_secret_v2_magic(tvb, offset, pinfo, tree, drep);
941 offset = backupkey_dissect_element_bkrp_encrypted_secret_v2_secret(tvb, offset, pinfo, tree, drep);
943 offset = backupkey_dissect_element_bkrp_encrypted_secret_v2_payload_key(tvb, offset, pinfo, tree, drep);
946 proto_item_set_len(item, offset-old_offset);
949 if (di->call_data->flags & DCERPC_IS_NDR64) {
958 /* IDL: uint32 secret_len; */
959 /* IDL: [value(0x00000030)] uint32 magic1; */
960 /* IDL: [value(0x00006610)] uint32 magic2; */
961 /* IDL: [value(0x0000800e)] uint32 magic3; */
962 /* IDL: uint8 secret[secret_len]; */
963 /* IDL: uint8 payload_key[48]; */
967 backupkey_dissect_element_bkrp_encrypted_secret_v3_secret_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
969 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v3_secret_len, 0);
975 backupkey_dissect_element_bkrp_encrypted_secret_v3_magic1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
977 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v3_magic1, 0);
983 backupkey_dissect_element_bkrp_encrypted_secret_v3_magic2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
985 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v3_magic2, 0);
991 backupkey_dissect_element_bkrp_encrypted_secret_v3_magic3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
993 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v3_magic3, 0);
999 backupkey_dissect_element_bkrp_encrypted_secret_v3_secret(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1006 backupkey_dissect_element_bkrp_encrypted_secret_v3_secret_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1008 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_encrypted_secret_v3_secret, 0);
1014 backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1016 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
1017 int conformant = di->conformant_run;
1019 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key_(tvb, offset, 48, pinfo, tree, drep);
1026 backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1028 proto_tree_add_bytes(tree, hf_backupkey_bkrp_encrypted_secret_v3_payload_key, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
1034 backupkey_dissect_struct_bkrp_encrypted_secret_v3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1036 proto_item *item = NULL;
1037 proto_tree *tree = NULL;
1038 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1043 old_offset = offset;
1046 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1047 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_encrypted_secret_v3);
1050 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_secret_len(tvb, offset, pinfo, tree, drep);
1052 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_magic1(tvb, offset, pinfo, tree, drep);
1054 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_magic2(tvb, offset, pinfo, tree, drep);
1056 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_magic3(tvb, offset, pinfo, tree, drep);
1058 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_secret(tvb, offset, pinfo, tree, drep);
1060 offset = backupkey_dissect_element_bkrp_encrypted_secret_v3_payload_key(tvb, offset, pinfo, tree, drep);
1063 proto_item_set_len(item, offset-old_offset);
1066 if (di->call_data->flags & DCERPC_IS_NDR64) {
1075 /* IDL: [value(0x00000001)] uint32 magic; */
1076 /* IDL: uint32 nonce_len; */
1077 /* IDL: uint8 nonce[nonce_len]; */
1078 /* IDL: dom_sid sid; */
1079 /* IDL: uint8 hash[20]; */
1083 backupkey_dissect_element_bkrp_access_check_v2_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1085 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v2_magic, 0);
1091 backupkey_dissect_element_bkrp_access_check_v2_nonce_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1093 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v2_nonce_len, 0);
1099 backupkey_dissect_element_bkrp_access_check_v2_nonce(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1106 backupkey_dissect_element_bkrp_access_check_v2_nonce_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1108 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v2_nonce, 0);
1114 backupkey_dissect_element_bkrp_access_check_v2_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1116 offset = backupkey_dissect_struct_dom_sid(tvb,offset,pinfo,tree,drep,hf_backupkey_bkrp_access_check_v2_sid,0);
1122 backupkey_dissect_element_bkrp_access_check_v2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1124 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
1125 int conformant = di->conformant_run;
1127 offset = backupkey_dissect_element_bkrp_access_check_v2_hash_(tvb, offset, 20, pinfo, tree, drep);
1134 backupkey_dissect_element_bkrp_access_check_v2_hash_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1136 proto_tree_add_bytes(tree, hf_backupkey_bkrp_access_check_v2_hash, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
1142 backupkey_dissect_struct_bkrp_access_check_v2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1144 proto_item *item = NULL;
1145 proto_tree *tree = NULL;
1146 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1151 old_offset = offset;
1154 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1155 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_access_check_v2);
1158 offset = backupkey_dissect_element_bkrp_access_check_v2_magic(tvb, offset, pinfo, tree, drep);
1160 offset = backupkey_dissect_element_bkrp_access_check_v2_nonce_len(tvb, offset, pinfo, tree, drep);
1162 offset = backupkey_dissect_element_bkrp_access_check_v2_nonce(tvb, offset, pinfo, tree, drep);
1164 offset = backupkey_dissect_element_bkrp_access_check_v2_sid(tvb, offset, pinfo, tree, drep);
1166 offset = backupkey_dissect_element_bkrp_access_check_v2_hash(tvb, offset, pinfo, tree, drep);
1169 proto_item_set_len(item, offset-old_offset);
1172 if (di->call_data->flags & DCERPC_IS_NDR64) {
1181 /* IDL: [value(0x00000001)] uint32 magic; */
1182 /* IDL: uint32 nonce_len; */
1183 /* IDL: uint8 nonce[nonce_len]; */
1184 /* IDL: dom_sid sid; */
1185 /* IDL: uint8 hash[64]; */
1189 backupkey_dissect_element_bkrp_access_check_v3_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1191 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v3_magic, 0);
1197 backupkey_dissect_element_bkrp_access_check_v3_nonce_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1199 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v3_nonce_len, 0);
1205 backupkey_dissect_element_bkrp_access_check_v3_nonce(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1212 backupkey_dissect_element_bkrp_access_check_v3_nonce_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1214 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_access_check_v3_nonce, 0);
1220 backupkey_dissect_element_bkrp_access_check_v3_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1222 offset = backupkey_dissect_struct_dom_sid(tvb,offset,pinfo,tree,drep,hf_backupkey_bkrp_access_check_v3_sid,0);
1228 backupkey_dissect_element_bkrp_access_check_v3_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1230 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
1231 int conformant = di->conformant_run;
1233 offset = backupkey_dissect_element_bkrp_access_check_v3_hash_(tvb, offset, 64, pinfo, tree, drep);
1240 backupkey_dissect_element_bkrp_access_check_v3_hash_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1242 proto_tree_add_bytes(tree, hf_backupkey_bkrp_access_check_v3_hash, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
1248 backupkey_dissect_struct_bkrp_access_check_v3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1250 proto_item *item = NULL;
1251 proto_tree *tree = NULL;
1252 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1257 old_offset = offset;
1260 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1261 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_access_check_v3);
1264 offset = backupkey_dissect_element_bkrp_access_check_v3_magic(tvb, offset, pinfo, tree, drep);
1266 offset = backupkey_dissect_element_bkrp_access_check_v3_nonce_len(tvb, offset, pinfo, tree, drep);
1268 offset = backupkey_dissect_element_bkrp_access_check_v3_nonce(tvb, offset, pinfo, tree, drep);
1270 offset = backupkey_dissect_element_bkrp_access_check_v3_sid(tvb, offset, pinfo, tree, drep);
1272 offset = backupkey_dissect_element_bkrp_access_check_v3_hash(tvb, offset, pinfo, tree, drep);
1275 proto_item_set_len(item, offset-old_offset);
1278 if (di->call_data->flags & DCERPC_IS_NDR64) {
1287 /* IDL: BACKUPKEY_INVALID_GUID_INTEGER=0xFFFF, */
1288 /* IDL: BACKUPKEY_RESTORE_GUID_INTEGER=0x0000, */
1289 /* IDL: BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER=0x0001, */
1293 backupkey_dissect_enum_bkrp_guid_to_integer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1295 guint1632 parameter=0;
1297 parameter=(guint1632)*param;
1299 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);
1301 *param=(guint32)parameter;
1307 /* IDL: [nodiscriminant(1)] union { */
1308 /* IDL: [case(BACKUPKEY_RESTORE_GUID_INTEGER)] [case(BACKUPKEY_RESTORE_GUID_INTEGER)] bkrp_client_side_wrapped restore_req; */
1309 /* IDL: [case(BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER)] [case(BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER)] bkrp_client_side_wrapped cert_req; */
1313 backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1315 offset = backupkey_dissect_struct_bkrp_client_side_wrapped(tvb,offset,pinfo,tree,drep,hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req,0);
1321 backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1323 offset = backupkey_dissect_struct_bkrp_client_side_wrapped(tvb,offset,pinfo,tree,drep,hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req,0);
1329 backupkey_dissect_bkrp_data_in_blob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1331 proto_item *item = NULL;
1332 proto_tree *tree = NULL;
1334 guint32 level = param;
1336 old_offset = offset;
1338 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "bkrp_data_in_blob");
1339 tree = proto_item_add_subtree(item, ett_backupkey_bkrp_data_in_blob);
1343 case BACKUPKEY_RESTORE_GUID_INTEGER:
1344 offset = backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req(tvb, offset, pinfo, tree, drep);
1347 case BACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER:
1348 offset = backupkey_dissect_element_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req(tvb, offset, pinfo, tree, drep);
1351 proto_item_set_len(item, offset-old_offset);
1357 backupkey_dissect_element_bkrp_BackupKey_guidActionAgent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1359 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_guidActionAgent_, NDR_POINTER_REF, "Pointer to Guidactionagent (GUID)",hf_backupkey_bkrp_BackupKey_guidActionAgent);
1365 backupkey_dissect_element_bkrp_BackupKey_guidActionAgent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1367 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_BackupKey_guidActionAgent, NULL);
1373 backupkey_dissect_element_bkrp_BackupKey_data_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1375 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_in_, NDR_POINTER_REF, "Pointer to Data In (uint8)",hf_backupkey_bkrp_BackupKey_data_in);
1381 backupkey_dissect_element_bkrp_BackupKey_data_in_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1383 offset = dissect_ndr_ucarray_block(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_in__);
1389 backupkey_dissect_element_bkrp_BackupKey_data_in__(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1391 proto_tree_add_bytes(tree, hf_backupkey_bkrp_BackupKey_data_in, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
1397 backupkey_dissect_element_bkrp_BackupKey_data_in_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1399 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_BackupKey_data_in_len, 0);
1405 backupkey_dissect_element_bkrp_BackupKey_data_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1407 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_out_, NDR_POINTER_REF, "Pointer to Data Out (uint8)",hf_backupkey_bkrp_BackupKey_data_out);
1413 backupkey_dissect_element_bkrp_BackupKey_data_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1415 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_out__, NDR_POINTER_UNIQUE, "Pointer to Data Out (uint8)",hf_backupkey_bkrp_BackupKey_data_out);
1421 backupkey_dissect_element_bkrp_BackupKey_data_out__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1423 offset = dissect_ndr_ucarray_block(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_out___);
1429 backupkey_dissect_element_bkrp_BackupKey_data_out___(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1431 proto_tree_add_bytes(tree, hf_backupkey_bkrp_BackupKey_data_out, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
1437 backupkey_dissect_element_bkrp_BackupKey_data_out_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1439 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, backupkey_dissect_element_bkrp_BackupKey_data_out_len_, NDR_POINTER_REF, "Pointer to Data Out Len (uint32)",hf_backupkey_bkrp_BackupKey_data_out_len);
1445 backupkey_dissect_element_bkrp_BackupKey_data_out_len_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1447 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_BackupKey_data_out_len, 0);
1453 backupkey_dissect_element_bkrp_BackupKey_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1455 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_bkrp_BackupKey_param, 0);
1460 /* IDL: WERROR bkrp_BackupKey( */
1461 /* IDL: [in] [ref] GUID *guidActionAgent, */
1462 /* IDL: [ref] [in] [size_is(data_in_len)] uint8 *data_in, */
1463 /* IDL: [in] uint32 data_in_len, */
1464 /* IDL: [out] [ref] [size_is(,*data_out_len)] uint8 **data_out, */
1465 /* IDL: [out] [ref] uint32 *data_out_len, */
1466 /* IDL: [in] uint32 param */
1470 backupkey_dissect_bkrp_BackupKey_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1474 pinfo->dcerpc_procedure_name="bkrp_BackupKey";
1475 offset = backupkey_dissect_element_bkrp_BackupKey_data_out(tvb, offset, pinfo, tree, drep);
1476 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1478 offset = backupkey_dissect_element_bkrp_BackupKey_data_out_len(tvb, offset, pinfo, tree, drep);
1479 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1481 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_backupkey_werror, &status);
1484 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
1490 backupkey_dissect_bkrp_BackupKey_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1492 pinfo->dcerpc_procedure_name="bkrp_BackupKey";
1493 offset = backupkey_dissect_element_bkrp_BackupKey_guidActionAgent(tvb, offset, pinfo, tree, drep);
1494 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1495 offset = backupkey_dissect_element_bkrp_BackupKey_data_in(tvb, offset, pinfo, tree, drep);
1496 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1497 offset = backupkey_dissect_element_bkrp_BackupKey_data_in_len(tvb, offset, pinfo, tree, drep);
1498 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1499 offset = backupkey_dissect_element_bkrp_BackupKey_param(tvb, offset, pinfo, tree, drep);
1500 offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
1505 static dcerpc_sub_dissector backupkey_dissectors[] = {
1506 { 0, "bkrp_BackupKey",
1507 backupkey_dissect_bkrp_BackupKey_request, backupkey_dissect_bkrp_BackupKey_response},
1508 { 0, NULL, NULL, NULL }
1511 void proto_register_dcerpc_backupkey(void)
1513 static hf_register_info hf[] = {
1514 { &hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER_cert_req,
1515 { "Cert Req", "backupkey.bkrp_data_in_blob_valBACKUPKEY_RETRIEVE_BACKUP_KEY_GUID_INTEGER.cert_req", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1516 { &hf_backupkey_bkrp_access_check_v2_nonce,
1517 { "Nonce", "backupkey.bkrp_access_check_v2.nonce", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1518 { &hf_backupkey_bkrp_client_side_wrapped_access_check_len,
1519 { "Access Check Len", "backupkey.bkrp_client_side_wrapped.access_check_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1520 { &hf_backupkey_bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER_restore_req,
1521 { "Restore Req", "backupkey.bkrp_data_in_blob_valBACKUPKEY_RESTORE_GUID_INTEGER.restore_req", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1522 { &hf_backupkey_bkrp_exported_RSA_key_pair_prime2,
1523 { "Prime2", "backupkey.bkrp_exported_RSA_key_pair.prime2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1524 { &hf_backupkey_bkrp_encrypted_secret_v3_payload_key,
1525 { "Payload Key", "backupkey.bkrp_encrypted_secret_v3.payload_key", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1526 { &hf_backupkey_bkrp_client_side_wrapped_guid,
1527 { "Guid", "backupkey.bkrp_client_side_wrapped.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1528 { &hf_backupkey_bkrp_exported_RSA_key_pair_modulus_,
1529 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1530 { &hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent_,
1531 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1532 { &hf_backupkey_bkrp_exported_RSA_key_pair_header1,
1533 { "Header1", "backupkey.bkrp_exported_RSA_key_pair.header1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1534 { &hf_backupkey_bkrp_exported_RSA_key_pair_certificate_len,
1535 { "Certificate Len", "backupkey.bkrp_exported_RSA_key_pair.certificate_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1536 { &hf_backupkey_bkrp_exported_RSA_key_pair_coefficient_,
1537 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1538 { &hf_backupkey_bkrp_dc_serverwrap_key_magic,
1539 { "Magic", "backupkey.bkrp_dc_serverwrap_key.magic", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1540 { &hf_backupkey_bkrp_exported_RSA_key_pair_magic2,
1541 { "Magic2", "backupkey.bkrp_exported_RSA_key_pair.magic2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1542 { &hf_backupkey_bkrp_client_side_unwrapped_secret_,
1543 { "Subcontext length", "backupkey.bkrp_client_side_unwrapped.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1544 { &hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent_,
1545 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1546 { &hf_backupkey_bkrp_client_side_wrapped_encrypted_secret_len,
1547 { "Encrypted Secret Len", "backupkey.bkrp_client_side_wrapped.encrypted_secret_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1548 { &hf_backupkey_bkrp_client_side_unwrapped_magic,
1549 { "Magic", "backupkey.bkrp_client_side_unwrapped.magic", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1550 { &hf_backupkey_bkrp_exported_RSA_key_pair_exponent1_,
1551 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1552 { &hf_backupkey_bkrp_encrypted_secret_v3_magic3,
1553 { "Magic3", "backupkey.bkrp_encrypted_secret_v3.magic3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1554 { &hf_backupkey_bkrp_client_side_wrapped_access_check,
1555 { "Access Check", "backupkey.bkrp_client_side_wrapped.access_check", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1556 { &hf_backupkey_bkrp_exported_RSA_key_pair_magic1,
1557 { "Magic1", "backupkey.bkrp_exported_RSA_key_pair.magic1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1558 { &hf_backupkey_bkrp_encrypted_secret_v3_secret_len,
1559 { "Secret Len", "backupkey.bkrp_encrypted_secret_v3.secret_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1560 { &hf_backupkey_bkrp_client_side_wrapped_encrypted_secret,
1561 { "Encrypted Secret", "backupkey.bkrp_client_side_wrapped.encrypted_secret", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1562 { &hf_backupkey_bkrp_BackupKey_guidActionAgent,
1563 { "Guidactionagent", "backupkey.bkrp_BackupKey.guidActionAgent", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1564 { &hf_backupkey_bkrp_exported_RSA_key_pair_prime1,
1565 { "Prime1", "backupkey.bkrp_exported_RSA_key_pair.prime1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1566 { &hf_backupkey_bkrp_access_check_v2_magic,
1567 { "Magic", "backupkey.bkrp_access_check_v2.magic", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1568 { &hf_backupkey_bkrp_encrypted_secret_v3_magic1,
1569 { "Magic1", "backupkey.bkrp_encrypted_secret_v3.magic1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1570 { &hf_backupkey_bkrp_exported_RSA_key_pair_exponent2,
1571 { "Exponent2", "backupkey.bkrp_exported_RSA_key_pair.exponent2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1572 { &hf_backupkey_bkrp_client_side_unwrapped_secret,
1573 { "Secret", "backupkey.bkrp_client_side_unwrapped.secret", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1574 { &hf_backupkey_bkrp_access_check_v3_sid,
1575 { "Sid", "backupkey.bkrp_access_check_v3.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1576 { &hf_backupkey_bkrp_access_check_v2_sid,
1577 { "Sid", "backupkey.bkrp_access_check_v2.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1578 { &hf_backupkey_bkrp_exported_RSA_key_pair_header2,
1579 { "Header2", "backupkey.bkrp_exported_RSA_key_pair.header2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1580 { &hf_backupkey_bkrp_BackupKey_data_out_len,
1581 { "Data Out Len", "backupkey.bkrp_BackupKey.data_out_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1582 { &hf_backupkey_bkrp_client_side_wrapped_version,
1583 { "Version", "backupkey.bkrp_client_side_wrapped.version", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1584 { &hf_backupkey_bkrp_exported_RSA_key_pair_public_exponent,
1585 { "Public Exponent", "backupkey.bkrp_exported_RSA_key_pair.public_exponent", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1586 { &hf_backupkey_bkrp_BackupKey_param,
1587 { "Param", "backupkey.bkrp_BackupKey.param", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1588 { &hf_backupkey_werror,
1589 { "Windows Error", "backupkey.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
1590 { &hf_backupkey_bkrp_dc_serverwrap_key_key,
1591 { "Key", "backupkey.bkrp_dc_serverwrap_key.key", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1592 { &hf_backupkey_bkrp_encrypted_secret_v2_secret,
1593 { "Secret", "backupkey.bkrp_encrypted_secret_v2.secret", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1594 { &hf_backupkey_bkrp_encrypted_secret_v2_secret_len,
1595 { "Secret Len", "backupkey.bkrp_encrypted_secret_v2.secret_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1596 { &hf_backupkey_bkrp_access_check_v3_nonce_len,
1597 { "Nonce Len", "backupkey.bkrp_access_check_v3.nonce_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1598 { &hf_backupkey_bkrp_access_check_v3_hash,
1599 { "Hash", "backupkey.bkrp_access_check_v3.hash", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1600 { &hf_backupkey_opnum,
1601 { "Operation", "backupkey.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1602 { &hf_backupkey_bkrp_exported_RSA_key_pair_magic3,
1603 { "Magic3", "backupkey.bkrp_exported_RSA_key_pair.magic3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1604 { &hf_backupkey_bkrp_exported_RSA_key_pair_private_exponent,
1605 { "Private Exponent", "backupkey.bkrp_exported_RSA_key_pair.private_exponent", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1606 { &hf_backupkey_bkrp_BackupKey_data_out,
1607 { "Data Out", "backupkey.bkrp_BackupKey.data_out", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1608 { &hf_backupkey_bkrp_exported_RSA_key_pair_magic4,
1609 { "Magic4", "backupkey.bkrp_exported_RSA_key_pair.magic4", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1610 { &hf_backupkey_bkrp_encrypted_secret_v3_magic2,
1611 { "Magic2", "backupkey.bkrp_encrypted_secret_v3.magic2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1612 { &hf_backupkey_bkrp_exported_RSA_key_pair_cert_,
1613 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1614 { &hf_backupkey_bkrp_exported_RSA_key_pair_prime2_,
1615 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1616 { &hf_backupkey_bkrp_BackupKey_data_in_len,
1617 { "Data In Len", "backupkey.bkrp_BackupKey.data_in_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1618 { &hf_backupkey_bkrp_BackupKey_data_in,
1619 { "Data In", "backupkey.bkrp_BackupKey.data_in", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1620 { &hf_backupkey_bkrp_access_check_v3_nonce,
1621 { "Nonce", "backupkey.bkrp_access_check_v3.nonce", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1622 { &hf_backupkey_bkrp_exported_RSA_key_pair_exponent1,
1623 { "Exponent1", "backupkey.bkrp_exported_RSA_key_pair.exponent1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1624 { &hf_backupkey_bkrp_access_check_v2_nonce_len,
1625 { "Nonce Len", "backupkey.bkrp_access_check_v2.nonce_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1626 { &hf_backupkey_bkrp_access_check_v2_hash,
1627 { "Hash", "backupkey.bkrp_access_check_v2.hash", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1628 { &hf_backupkey_bkrp_exported_RSA_key_pair_cert,
1629 { "Cert", "backupkey.bkrp_exported_RSA_key_pair.cert", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1630 { &hf_backupkey_bkrp_exported_RSA_key_pair_exponent2_,
1631 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1632 { &hf_backupkey_bkrp_exported_RSA_key_pair_modulus,
1633 { "Modulus", "backupkey.bkrp_exported_RSA_key_pair.modulus", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1634 { &hf_backupkey_bkrp_encrypted_secret_v2_magic,
1635 { "Magic", "backupkey.bkrp_encrypted_secret_v2.magic", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1636 { &hf_backupkey_bkrp_encrypted_secret_v2_payload_key,
1637 { "Payload Key", "backupkey.bkrp_encrypted_secret_v2.payload_key", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
1638 { &hf_backupkey_bkrp_encrypted_secret_v3_secret,
1639 { "Secret", "backupkey.bkrp_encrypted_secret_v3.secret", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1640 { &hf_backupkey_bkrp_exported_RSA_key_pair_prime1_,
1641 { "Subcontext length", "backupkey.bkrp_exported_RSA_key_pair.subcontext", FT_UINT0, BASE_HEX, NULL, 0, NULL, HFILL }},
1642 { &hf_backupkey_bkrp_access_check_v3_magic,
1643 { "Magic", "backupkey.bkrp_access_check_v3.magic", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1644 { &hf_backupkey_bkrp_exported_RSA_key_pair_coefficient,
1645 { "Coefficient", "backupkey.bkrp_exported_RSA_key_pair.coefficient", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1649 static gint *ett[] = {
1650 &ett_dcerpc_backupkey,
1651 &ett_backupkey_bkrp_exported_RSA_key_pair,
1652 &ett_backupkey_bkrp_dc_serverwrap_key,
1653 &ett_backupkey_bkrp_client_side_wrapped,
1654 &ett_backupkey_bkrp_client_side_unwrapped,
1655 &ett_backupkey_bkrp_encrypted_secret_v2,
1656 &ett_backupkey_bkrp_encrypted_secret_v3,
1657 &ett_backupkey_bkrp_access_check_v2,
1658 &ett_backupkey_bkrp_access_check_v3,
1659 &ett_backupkey_bkrp_data_in_blob,
1662 proto_dcerpc_backupkey = proto_register_protocol("Remote Backup Key Storage", "BACKUPKEY", "backupkey");
1663 proto_register_field_array(proto_dcerpc_backupkey, hf, array_length (hf));
1664 proto_register_subtree_array(ett, array_length(ett));
1667 void proto_reg_handoff_dcerpc_backupkey(void)
1669 dcerpc_init_uuid(proto_dcerpc_backupkey, ett_dcerpc_backupkey,
1670 &uuid_dcerpc_backupkey, ver_dcerpc_backupkey,
1671 backupkey_dissectors, hf_backupkey_opnum);