Coverage Report

Created: 2026-07-12 07:10

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-dcerpc-samr.c
Line
Count
Source
1
/* DO NOT EDIT
2
  This file was automatically generated by Pidl
3
  from samr.idl and samr.cnf.
4
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
9
*/
10
11
12
#include "config.h"
13
#include <string.h>
14
#include <wsutil/array.h>
15
#include <epan/packet.h>
16
#include <epan/tfs.h>
17
18
#include "packet-dcerpc.h"
19
#include "packet-dcerpc-nt.h"
20
#include "packet-windows-common.h"
21
#include "packet-dcerpc-samr.h"
22
void proto_register_dcerpc_samr(void);
23
void proto_reg_handoff_dcerpc_samr(void);
24
25
/* Ett declarations */
26
static int ett_dcerpc_samr;
27
static int ett_samr_lsa_Strings;
28
static int ett_samr_samr_AcctFlags;
29
static int ett_samr_samr_ConnectAccessMask;
30
static int ett_samr_samr_UserAccessMask;
31
static int ett_samr_samr_DomainAccessMask;
32
static int ett_samr_samr_GroupAccessMask;
33
static int ett_samr_samr_AliasAccessMask;
34
static int ett_samr_samr_SamEntry;
35
static int ett_samr_samr_SamArray;
36
static int ett_samr_samr_PasswordProperties;
37
static int ett_samr_samr_DomInfo1;
38
static int ett_samr_samr_DomGeneralInformation;
39
static int ett_samr_samr_DomInfo3;
40
static int ett_samr_samr_DomOEMInformation;
41
static int ett_samr_samr_DomInfo5;
42
static int ett_samr_samr_DomInfo6;
43
static int ett_samr_samr_DomInfo7;
44
static int ett_samr_samr_DomInfo8;
45
static int ett_samr_samr_DomInfo9;
46
static int ett_samr_samr_DomGeneralInformation2;
47
static int ett_samr_samr_DomInfo12;
48
static int ett_samr_samr_DomInfo13;
49
static int ett_samr_samr_DomainInfo;
50
static int ett_samr_samr_Ids;
51
static int ett_samr_samr_GroupAttrs;
52
static int ett_samr_samr_GroupInfoAll;
53
static int ett_samr_samr_GroupInfoAttributes;
54
static int ett_samr_samr_GroupInfoDescription;
55
static int ett_samr_samr_GroupInfo;
56
static int ett_samr_samr_RidTypeArray;
57
static int ett_samr_samr_AliasInfoAll;
58
static int ett_samr_samr_AliasInfo;
59
static int ett_samr_samr_UserInfo1;
60
static int ett_samr_samr_UserInfo2;
61
static int ett_samr_samr_LogonHours;
62
static int ett_samr_samr_UserInfo3;
63
static int ett_samr_samr_UserInfo4;
64
static int ett_samr_samr_UserInfo5;
65
static int ett_samr_samr_UserInfo6;
66
static int ett_samr_samr_UserInfo7;
67
static int ett_samr_samr_UserInfo8;
68
static int ett_samr_samr_UserInfo9;
69
static int ett_samr_samr_UserInfo10;
70
static int ett_samr_samr_UserInfo11;
71
static int ett_samr_samr_UserInfo12;
72
static int ett_samr_samr_UserInfo13;
73
static int ett_samr_samr_UserInfo14;
74
static int ett_samr_samr_UserInfo16;
75
static int ett_samr_samr_UserInfo17;
76
static int ett_samr_samr_Password;
77
static int ett_samr_samr_UserInfo18;
78
static int ett_samr_samr_UserInfo20;
79
static int ett_samr_samr_FieldsPresent;
80
static int ett_samr_samr_UserInfo21;
81
static int ett_samr_samr_CryptPassword;
82
static int ett_samr_samr_UserInfo23;
83
static int ett_samr_samr_UserInfo24;
84
static int ett_samr_samr_CryptPasswordEx;
85
static int ett_samr_samr_UserInfo25;
86
static int ett_samr_samr_UserInfo26;
87
static int ett_samr_samr_EncryptedPasswordAES;
88
static int ett_samr_samr_UserInfo31;
89
static int ett_samr_samr_UserInfo32;
90
static int ett_samr_samr_UserInfo;
91
static int ett_samr_samr_RidWithAttribute;
92
static int ett_samr_samr_RidWithAttributeArray;
93
static int ett_samr_samr_DispEntryGeneral;
94
static int ett_samr_samr_DispInfoGeneral;
95
static int ett_samr_samr_DispEntryFull;
96
static int ett_samr_samr_DispInfoFull;
97
static int ett_samr_samr_DispEntryFullGroup;
98
static int ett_samr_samr_DispInfoFullGroups;
99
static int ett_samr_samr_DispEntryAscii;
100
static int ett_samr_samr_DispInfoAscii;
101
static int ett_samr_samr_DispInfo;
102
static int ett_samr_samr_PwInfo;
103
static int ett_samr_userPwdChangeFailureInformation;
104
static int ett_samr_samr_ConnectInfo1;
105
static int ett_samr_samr_ConnectInfo;
106
static int ett_samr_samr_ValidateFieldsPresent;
107
static int ett_samr_samr_ValidationBlob;
108
static int ett_samr_samr_ValidatePasswordInfo;
109
static int ett_samr_samr_ValidatePasswordRepCtr;
110
static int ett_samr_samr_ValidatePasswordRep;
111
static int ett_samr_samr_ValidatePasswordReq3;
112
static int ett_samr_samr_ValidatePasswordReq2;
113
static int ett_samr_samr_ValidatePasswordReq1;
114
static int ett_samr_samr_ValidatePasswordReq;
115
116
117
/* Header field declarations */
118
static int hf_samr_alias_access_mask;
119
static int hf_samr_alias_handle;
120
static int hf_samr_connect_access_mask;
121
static int hf_samr_connect_handle;
122
static int hf_samr_domain_access_mask;
123
static int hf_samr_domain_handle;
124
static int hf_samr_group_access_mask;
125
static int hf_samr_group_handle;
126
static int hf_samr_handle;
127
static int hf_samr_lsa_Strings_count;
128
static int hf_samr_lsa_Strings_names;
129
static int hf_samr_opnum;
130
static int hf_samr_rid;
131
static int hf_samr_samr_AcctFlags_ACB_AUTOLOCK;
132
static int hf_samr_samr_AcctFlags_ACB_DISABLED;
133
static int hf_samr_samr_AcctFlags_ACB_DOMTRUST;
134
static int hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH;
135
static int hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED;
136
static int hf_samr_samr_AcctFlags_ACB_HOMDIRREQ;
137
static int hf_samr_samr_AcctFlags_ACB_MNS;
138
static int hf_samr_samr_AcctFlags_ACB_NORMAL;
139
static int hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED;
140
static int hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD;
141
static int hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT;
142
static int hf_samr_samr_AcctFlags_ACB_PWNOEXP;
143
static int hf_samr_samr_AcctFlags_ACB_PWNOTREQ;
144
static int hf_samr_samr_AcctFlags_ACB_PW_EXPIRED;
145
static int hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED;
146
static int hf_samr_samr_AcctFlags_ACB_SVRTRUST;
147
static int hf_samr_samr_AcctFlags_ACB_TEMPDUP;
148
static int hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION;
149
static int hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION;
150
static int hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS;
151
static int hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY;
152
static int hf_samr_samr_AcctFlags_ACB_WSTRUST;
153
static int hf_samr_samr_AddAliasMember_sid;
154
static int hf_samr_samr_AddGroupMember_flags;
155
static int hf_samr_samr_AddMultipleMembersToAlias_sids;
156
static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER;
157
static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS;
158
static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO;
159
static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER;
160
static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO;
161
static int hf_samr_samr_AliasInfoAll_description;
162
static int hf_samr_samr_AliasInfoAll_name;
163
static int hf_samr_samr_AliasInfoAll_num_members;
164
static int hf_samr_samr_AliasInfo_all;
165
static int hf_samr_samr_AliasInfo_description;
166
static int hf_samr_samr_AliasInfo_name;
167
static int hf_samr_samr_ChangePasswordUser2_account;
168
static int hf_samr_samr_ChangePasswordUser2_lm_change;
169
static int hf_samr_samr_ChangePasswordUser2_lm_password;
170
static int hf_samr_samr_ChangePasswordUser2_lm_verifier;
171
static int hf_samr_samr_ChangePasswordUser2_nt_password;
172
static int hf_samr_samr_ChangePasswordUser2_nt_verifier;
173
static int hf_samr_samr_ChangePasswordUser2_server;
174
static int hf_samr_samr_ChangePasswordUser3_account;
175
static int hf_samr_samr_ChangePasswordUser3_dominfo;
176
static int hf_samr_samr_ChangePasswordUser3_lm_change;
177
static int hf_samr_samr_ChangePasswordUser3_lm_password;
178
static int hf_samr_samr_ChangePasswordUser3_lm_verifier;
179
static int hf_samr_samr_ChangePasswordUser3_nt_password;
180
static int hf_samr_samr_ChangePasswordUser3_nt_verifier;
181
static int hf_samr_samr_ChangePasswordUser3_password3;
182
static int hf_samr_samr_ChangePasswordUser3_reject;
183
static int hf_samr_samr_ChangePasswordUser3_server;
184
static int hf_samr_samr_ChangePasswordUser4_account;
185
static int hf_samr_samr_ChangePasswordUser4_password;
186
static int hf_samr_samr_ChangePasswordUser4_server;
187
static int hf_samr_samr_ChangePasswordUser_cross1_present;
188
static int hf_samr_samr_ChangePasswordUser_cross2_present;
189
static int hf_samr_samr_ChangePasswordUser_lm_cross;
190
static int hf_samr_samr_ChangePasswordUser_lm_present;
191
static int hf_samr_samr_ChangePasswordUser_new_lm_crypted;
192
static int hf_samr_samr_ChangePasswordUser_new_nt_crypted;
193
static int hf_samr_samr_ChangePasswordUser_nt_cross;
194
static int hf_samr_samr_ChangePasswordUser_nt_present;
195
static int hf_samr_samr_ChangePasswordUser_old_lm_crypted;
196
static int hf_samr_samr_ChangePasswordUser_old_nt_crypted;
197
static int hf_samr_samr_Connect2_system_name;
198
static int hf_samr_samr_Connect3_system_name;
199
static int hf_samr_samr_Connect3_unknown;
200
static int hf_samr_samr_Connect4_client_version;
201
static int hf_samr_samr_Connect4_system_name;
202
static int hf_samr_samr_Connect5_info_in;
203
static int hf_samr_samr_Connect5_info_out;
204
static int hf_samr_samr_Connect5_level_in;
205
static int hf_samr_samr_Connect5_level_out;
206
static int hf_samr_samr_Connect5_system_name;
207
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER;
208
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN;
209
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS;
210
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER;
211
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN;
212
static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER;
213
static int hf_samr_samr_ConnectInfo1_client_version;
214
static int hf_samr_samr_ConnectInfo1_supported_features;
215
static int hf_samr_samr_ConnectInfo_info1;
216
static int hf_samr_samr_Connect_system_name;
217
static int hf_samr_samr_CreateDomAlias_alias_name;
218
static int hf_samr_samr_CreateDomainGroup_name;
219
static int hf_samr_samr_CreateUser2_access_granted;
220
static int hf_samr_samr_CreateUser2_account_name;
221
static int hf_samr_samr_CreateUser2_acct_flags;
222
static int hf_samr_samr_CreateUser_account_name;
223
static int hf_samr_samr_CryptPasswordEx_data;
224
static int hf_samr_samr_CryptPassword_data;
225
static int hf_samr_samr_DeleteAliasMember_sid;
226
static int hf_samr_samr_DispEntryAscii_account_name;
227
static int hf_samr_samr_DispEntryAscii_idx;
228
static int hf_samr_samr_DispEntryFullGroup_account_name;
229
static int hf_samr_samr_DispEntryFullGroup_acct_flags;
230
static int hf_samr_samr_DispEntryFullGroup_description;
231
static int hf_samr_samr_DispEntryFullGroup_idx;
232
static int hf_samr_samr_DispEntryFull_account_name;
233
static int hf_samr_samr_DispEntryFull_acct_flags;
234
static int hf_samr_samr_DispEntryFull_description;
235
static int hf_samr_samr_DispEntryFull_idx;
236
static int hf_samr_samr_DispEntryGeneral_account_name;
237
static int hf_samr_samr_DispEntryGeneral_acct_flags;
238
static int hf_samr_samr_DispEntryGeneral_description;
239
static int hf_samr_samr_DispEntryGeneral_full_name;
240
static int hf_samr_samr_DispEntryGeneral_idx;
241
static int hf_samr_samr_DispInfoAscii_count;
242
static int hf_samr_samr_DispInfoAscii_entries;
243
static int hf_samr_samr_DispInfoFullGroups_count;
244
static int hf_samr_samr_DispInfoFullGroups_entries;
245
static int hf_samr_samr_DispInfoFull_count;
246
static int hf_samr_samr_DispInfoFull_entries;
247
static int hf_samr_samr_DispInfoGeneral_count;
248
static int hf_samr_samr_DispInfoGeneral_entries;
249
static int hf_samr_samr_DispInfo_info1;
250
static int hf_samr_samr_DispInfo_info2;
251
static int hf_samr_samr_DispInfo_info3;
252
static int hf_samr_samr_DispInfo_info4;
253
static int hf_samr_samr_DispInfo_info5;
254
static int hf_samr_samr_DomGeneralInformation2_general;
255
static int hf_samr_samr_DomGeneralInformation2_lockout_duration;
256
static int hf_samr_samr_DomGeneralInformation2_lockout_threshold;
257
static int hf_samr_samr_DomGeneralInformation2_lockout_window;
258
static int hf_samr_samr_DomGeneralInformation_domain_name;
259
static int hf_samr_samr_DomGeneralInformation_domain_server_state;
260
static int hf_samr_samr_DomGeneralInformation_force_logoff_time;
261
static int hf_samr_samr_DomGeneralInformation_num_aliases;
262
static int hf_samr_samr_DomGeneralInformation_num_groups;
263
static int hf_samr_samr_DomGeneralInformation_num_users;
264
static int hf_samr_samr_DomGeneralInformation_oem_information;
265
static int hf_samr_samr_DomGeneralInformation_primary;
266
static int hf_samr_samr_DomGeneralInformation_role;
267
static int hf_samr_samr_DomGeneralInformation_sequence_num;
268
static int hf_samr_samr_DomGeneralInformation_unknown3;
269
static int hf_samr_samr_DomInfo12_lockout_duration;
270
static int hf_samr_samr_DomInfo12_lockout_threshold;
271
static int hf_samr_samr_DomInfo12_lockout_window;
272
static int hf_samr_samr_DomInfo13_domain_create_time;
273
static int hf_samr_samr_DomInfo13_modified_count_at_last_promotion;
274
static int hf_samr_samr_DomInfo13_sequence_num;
275
static int hf_samr_samr_DomInfo1_max_password_age;
276
static int hf_samr_samr_DomInfo1_min_password_age;
277
static int hf_samr_samr_DomInfo1_min_password_length;
278
static int hf_samr_samr_DomInfo1_password_history_length;
279
static int hf_samr_samr_DomInfo1_password_properties;
280
static int hf_samr_samr_DomInfo3_force_logoff_time;
281
static int hf_samr_samr_DomInfo5_domain_name;
282
static int hf_samr_samr_DomInfo6_primary;
283
static int hf_samr_samr_DomInfo7_role;
284
static int hf_samr_samr_DomInfo8_domain_create_time;
285
static int hf_samr_samr_DomInfo8_sequence_num;
286
static int hf_samr_samr_DomInfo9_domain_server_state;
287
static int hf_samr_samr_DomOEMInformation_oem_information;
288
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS;
289
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP;
290
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER;
291
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS;
292
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS;
293
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1;
294
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2;
295
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT;
296
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1;
297
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2;
298
static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3;
299
static int hf_samr_samr_DomainInfo_general;
300
static int hf_samr_samr_DomainInfo_general2;
301
static int hf_samr_samr_DomainInfo_info1;
302
static int hf_samr_samr_DomainInfo_info12;
303
static int hf_samr_samr_DomainInfo_info13;
304
static int hf_samr_samr_DomainInfo_info3;
305
static int hf_samr_samr_DomainInfo_info5;
306
static int hf_samr_samr_DomainInfo_info6;
307
static int hf_samr_samr_DomainInfo_info7;
308
static int hf_samr_samr_DomainInfo_info8;
309
static int hf_samr_samr_DomainInfo_info9;
310
static int hf_samr_samr_DomainInfo_oem;
311
static int hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations;
312
static int hf_samr_samr_EncryptedPasswordAES_auth_data;
313
static int hf_samr_samr_EncryptedPasswordAES_cipher;
314
static int hf_samr_samr_EncryptedPasswordAES_cipher_len;
315
static int hf_samr_samr_EncryptedPasswordAES_salt;
316
static int hf_samr_samr_EnumDomainAliases_max_size;
317
static int hf_samr_samr_EnumDomainAliases_num_entries;
318
static int hf_samr_samr_EnumDomainAliases_resume_handle;
319
static int hf_samr_samr_EnumDomainAliases_sam;
320
static int hf_samr_samr_EnumDomainGroups_max_size;
321
static int hf_samr_samr_EnumDomainGroups_num_entries;
322
static int hf_samr_samr_EnumDomainGroups_resume_handle;
323
static int hf_samr_samr_EnumDomainGroups_sam;
324
static int hf_samr_samr_EnumDomainUsers_acct_flags;
325
static int hf_samr_samr_EnumDomainUsers_max_size;
326
static int hf_samr_samr_EnumDomainUsers_num_entries;
327
static int hf_samr_samr_EnumDomainUsers_resume_handle;
328
static int hf_samr_samr_EnumDomainUsers_sam;
329
static int hf_samr_samr_EnumDomains_buf_size;
330
static int hf_samr_samr_EnumDomains_num_entries;
331
static int hf_samr_samr_EnumDomains_resume_handle;
332
static int hf_samr_samr_EnumDomains_sam;
333
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME;
334
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY;
335
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS;
336
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE;
337
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT;
338
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE;
339
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT;
340
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE;
341
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION;
342
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG;
343
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE;
344
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME;
345
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY;
346
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE;
347
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF;
348
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON;
349
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE;
350
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT;
351
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS;
352
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT;
353
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT;
354
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS;
355
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD;
356
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS;
357
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID;
358
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA;
359
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH;
360
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_RID;
361
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC;
362
static int hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS;
363
static int hf_samr_samr_GetAliasMembership_rids;
364
static int hf_samr_samr_GetAliasMembership_sids;
365
static int hf_samr_samr_GetBootKeyInformation_unknown;
366
static int hf_samr_samr_GetDisplayEnumerationIndex2_idx;
367
static int hf_samr_samr_GetDisplayEnumerationIndex2_level;
368
static int hf_samr_samr_GetDisplayEnumerationIndex2_name;
369
static int hf_samr_samr_GetDisplayEnumerationIndex_idx;
370
static int hf_samr_samr_GetDisplayEnumerationIndex_level;
371
static int hf_samr_samr_GetDisplayEnumerationIndex_name;
372
static int hf_samr_samr_GetDomPwInfo_domain_name;
373
static int hf_samr_samr_GetDomPwInfo_info;
374
static int hf_samr_samr_GetGroupsForUser_rids;
375
static int hf_samr_samr_GetMembersInAlias_sids;
376
static int hf_samr_samr_GetUserPwInfo_info;
377
static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER;
378
static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS;
379
static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO;
380
static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER;
381
static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO;
382
static int hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED;
383
static int hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT;
384
static int hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID;
385
static int hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY;
386
static int hf_samr_samr_GroupAttrs_SE_GROUP_OWNER;
387
static int hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE;
388
static int hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY;
389
static int hf_samr_samr_GroupInfoAll_attributes;
390
static int hf_samr_samr_GroupInfoAll_description;
391
static int hf_samr_samr_GroupInfoAll_name;
392
static int hf_samr_samr_GroupInfoAll_num_members;
393
static int hf_samr_samr_GroupInfoAttributes_attributes;
394
static int hf_samr_samr_GroupInfoDescription_description;
395
static int hf_samr_samr_GroupInfo_all;
396
static int hf_samr_samr_GroupInfo_all2;
397
static int hf_samr_samr_GroupInfo_attributes;
398
static int hf_samr_samr_GroupInfo_description;
399
static int hf_samr_samr_GroupInfo_name;
400
static int hf_samr_samr_Ids_count;
401
static int hf_samr_samr_LogonHours_bits;
402
static int hf_samr_samr_LogonHours_units_per_week;
403
static int hf_samr_samr_LookupDomain_domain_name;
404
static int hf_samr_samr_LookupDomain_sid;
405
static int hf_samr_samr_LookupNames_names;
406
static int hf_samr_samr_LookupNames_num_names;
407
static int hf_samr_samr_LookupNames_rids;
408
static int hf_samr_samr_LookupNames_types;
409
static int hf_samr_samr_LookupRids_names;
410
static int hf_samr_samr_LookupRids_num_rids;
411
static int hf_samr_samr_LookupRids_types;
412
static int hf_samr_samr_OemChangePasswordUser2_account;
413
static int hf_samr_samr_OemChangePasswordUser2_hash;
414
static int hf_samr_samr_OemChangePasswordUser2_password;
415
static int hf_samr_samr_OemChangePasswordUser2_server;
416
static int hf_samr_samr_OpenDomain_sid;
417
static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX;
418
static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS;
419
static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE;
420
static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE;
421
static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT;
422
static int hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE;
423
static int hf_samr_samr_Password_hash;
424
static int hf_samr_samr_PwInfo_min_password_length;
425
static int hf_samr_samr_PwInfo_password_properties;
426
static int hf_samr_samr_QueryAliasInfo_info;
427
static int hf_samr_samr_QueryAliasInfo_level;
428
static int hf_samr_samr_QueryDisplayInfo2_buf_size;
429
static int hf_samr_samr_QueryDisplayInfo2_info;
430
static int hf_samr_samr_QueryDisplayInfo2_level;
431
static int hf_samr_samr_QueryDisplayInfo2_max_entries;
432
static int hf_samr_samr_QueryDisplayInfo2_returned_size;
433
static int hf_samr_samr_QueryDisplayInfo2_start_idx;
434
static int hf_samr_samr_QueryDisplayInfo2_total_size;
435
static int hf_samr_samr_QueryDisplayInfo3_buf_size;
436
static int hf_samr_samr_QueryDisplayInfo3_info;
437
static int hf_samr_samr_QueryDisplayInfo3_level;
438
static int hf_samr_samr_QueryDisplayInfo3_max_entries;
439
static int hf_samr_samr_QueryDisplayInfo3_returned_size;
440
static int hf_samr_samr_QueryDisplayInfo3_start_idx;
441
static int hf_samr_samr_QueryDisplayInfo3_total_size;
442
static int hf_samr_samr_QueryDisplayInfo_buf_size;
443
static int hf_samr_samr_QueryDisplayInfo_info;
444
static int hf_samr_samr_QueryDisplayInfo_level;
445
static int hf_samr_samr_QueryDisplayInfo_max_entries;
446
static int hf_samr_samr_QueryDisplayInfo_returned_size;
447
static int hf_samr_samr_QueryDisplayInfo_start_idx;
448
static int hf_samr_samr_QueryDisplayInfo_total_size;
449
static int hf_samr_samr_QueryDomainInfo2_info;
450
static int hf_samr_samr_QueryDomainInfo2_level;
451
static int hf_samr_samr_QueryDomainInfo_info;
452
static int hf_samr_samr_QueryDomainInfo_level;
453
static int hf_samr_samr_QueryGroupInfo_info;
454
static int hf_samr_samr_QueryGroupInfo_level;
455
static int hf_samr_samr_QueryGroupMember_rids;
456
static int hf_samr_samr_QuerySecurity_sdbuf;
457
static int hf_samr_samr_QuerySecurity_sec_info;
458
static int hf_samr_samr_QueryUserInfo2_info;
459
static int hf_samr_samr_QueryUserInfo2_level;
460
static int hf_samr_samr_QueryUserInfo_info;
461
static int hf_samr_samr_QueryUserInfo_level;
462
static int hf_samr_samr_RemoveMemberFromForeignDomain_sid;
463
static int hf_samr_samr_RemoveMultipleMembersFromAlias_sids;
464
static int hf_samr_samr_RidToSid_sid;
465
static int hf_samr_samr_RidTypeArray_count;
466
static int hf_samr_samr_RidTypeArray_types;
467
static int hf_samr_samr_RidWithAttributeArray_count;
468
static int hf_samr_samr_RidWithAttributeArray_rids;
469
static int hf_samr_samr_RidWithAttribute_attributes;
470
static int hf_samr_samr_SamArray_count;
471
static int hf_samr_samr_SamArray_entries;
472
static int hf_samr_samr_SamEntry_idx;
473
static int hf_samr_samr_SamEntry_name;
474
static int hf_samr_samr_SetAliasInfo_info;
475
static int hf_samr_samr_SetAliasInfo_level;
476
static int hf_samr_samr_SetBootKeyInformation_unknown1;
477
static int hf_samr_samr_SetBootKeyInformation_unknown2;
478
static int hf_samr_samr_SetBootKeyInformation_unknown3;
479
static int hf_samr_samr_SetDomainInfo_info;
480
static int hf_samr_samr_SetDomainInfo_level;
481
static int hf_samr_samr_SetDsrmPassword_hash;
482
static int hf_samr_samr_SetDsrmPassword_name;
483
static int hf_samr_samr_SetDsrmPassword_unknown;
484
static int hf_samr_samr_SetGroupInfo_info;
485
static int hf_samr_samr_SetGroupInfo_level;
486
static int hf_samr_samr_SetMemberAttributesOfGroup_unknown1;
487
static int hf_samr_samr_SetMemberAttributesOfGroup_unknown2;
488
static int hf_samr_samr_SetSecurity_sdbuf;
489
static int hf_samr_samr_SetSecurity_sec_info;
490
static int hf_samr_samr_SetUserInfo2_info;
491
static int hf_samr_samr_SetUserInfo2_level;
492
static int hf_samr_samr_SetUserInfo_info;
493
static int hf_samr_samr_SetUserInfo_level;
494
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP;
495
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD;
496
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES;
497
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS;
498
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP;
499
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE;
500
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO;
501
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC;
502
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES;
503
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM;
504
static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD;
505
static int hf_samr_samr_UserInfo10_home_directory;
506
static int hf_samr_samr_UserInfo10_home_drive;
507
static int hf_samr_samr_UserInfo11_logon_script;
508
static int hf_samr_samr_UserInfo12_profile_path;
509
static int hf_samr_samr_UserInfo13_description;
510
static int hf_samr_samr_UserInfo14_workstations;
511
static int hf_samr_samr_UserInfo16_acct_flags;
512
static int hf_samr_samr_UserInfo17_acct_expiry;
513
static int hf_samr_samr_UserInfo18_lm_pwd;
514
static int hf_samr_samr_UserInfo18_lm_pwd_active;
515
static int hf_samr_samr_UserInfo18_nt_pwd;
516
static int hf_samr_samr_UserInfo18_nt_pwd_active;
517
static int hf_samr_samr_UserInfo18_password_expired;
518
static int hf_samr_samr_UserInfo1_account_name;
519
static int hf_samr_samr_UserInfo1_comment;
520
static int hf_samr_samr_UserInfo1_description;
521
static int hf_samr_samr_UserInfo1_full_name;
522
static int hf_samr_samr_UserInfo1_primary_gid;
523
static int hf_samr_samr_UserInfo20_parameters;
524
static int hf_samr_samr_UserInfo21_account_name;
525
static int hf_samr_samr_UserInfo21_acct_expiry;
526
static int hf_samr_samr_UserInfo21_acct_flags;
527
static int hf_samr_samr_UserInfo21_allow_password_change;
528
static int hf_samr_samr_UserInfo21_bad_password_count;
529
static int hf_samr_samr_UserInfo21_buf_count;
530
static int hf_samr_samr_UserInfo21_buffer;
531
static int hf_samr_samr_UserInfo21_code_page;
532
static int hf_samr_samr_UserInfo21_comment;
533
static int hf_samr_samr_UserInfo21_country_code;
534
static int hf_samr_samr_UserInfo21_description;
535
static int hf_samr_samr_UserInfo21_fields_present;
536
static int hf_samr_samr_UserInfo21_force_password_change;
537
static int hf_samr_samr_UserInfo21_full_name;
538
static int hf_samr_samr_UserInfo21_home_directory;
539
static int hf_samr_samr_UserInfo21_home_drive;
540
static int hf_samr_samr_UserInfo21_last_logoff;
541
static int hf_samr_samr_UserInfo21_last_logon;
542
static int hf_samr_samr_UserInfo21_last_password_change;
543
static int hf_samr_samr_UserInfo21_lm_owf_password;
544
static int hf_samr_samr_UserInfo21_lm_password_set;
545
static int hf_samr_samr_UserInfo21_logon_count;
546
static int hf_samr_samr_UserInfo21_logon_hours;
547
static int hf_samr_samr_UserInfo21_logon_script;
548
static int hf_samr_samr_UserInfo21_nt_owf_password;
549
static int hf_samr_samr_UserInfo21_nt_password_set;
550
static int hf_samr_samr_UserInfo21_parameters;
551
static int hf_samr_samr_UserInfo21_password_expired;
552
static int hf_samr_samr_UserInfo21_primary_gid;
553
static int hf_samr_samr_UserInfo21_private_data;
554
static int hf_samr_samr_UserInfo21_private_data_sensitive;
555
static int hf_samr_samr_UserInfo21_profile_path;
556
static int hf_samr_samr_UserInfo21_workstations;
557
static int hf_samr_samr_UserInfo23_info;
558
static int hf_samr_samr_UserInfo23_password;
559
static int hf_samr_samr_UserInfo24_password;
560
static int hf_samr_samr_UserInfo24_password_expired;
561
static int hf_samr_samr_UserInfo25_info;
562
static int hf_samr_samr_UserInfo25_password;
563
static int hf_samr_samr_UserInfo26_password;
564
static int hf_samr_samr_UserInfo26_password_expired;
565
static int hf_samr_samr_UserInfo2_code_page;
566
static int hf_samr_samr_UserInfo2_comment;
567
static int hf_samr_samr_UserInfo2_country_code;
568
static int hf_samr_samr_UserInfo2_reserved;
569
static int hf_samr_samr_UserInfo31_password;
570
static int hf_samr_samr_UserInfo31_password_expired;
571
static int hf_samr_samr_UserInfo32_info;
572
static int hf_samr_samr_UserInfo32_password;
573
static int hf_samr_samr_UserInfo3_account_name;
574
static int hf_samr_samr_UserInfo3_acct_flags;
575
static int hf_samr_samr_UserInfo3_allow_password_change;
576
static int hf_samr_samr_UserInfo3_bad_password_count;
577
static int hf_samr_samr_UserInfo3_force_password_change;
578
static int hf_samr_samr_UserInfo3_full_name;
579
static int hf_samr_samr_UserInfo3_home_directory;
580
static int hf_samr_samr_UserInfo3_home_drive;
581
static int hf_samr_samr_UserInfo3_last_logoff;
582
static int hf_samr_samr_UserInfo3_last_logon;
583
static int hf_samr_samr_UserInfo3_last_password_change;
584
static int hf_samr_samr_UserInfo3_logon_count;
585
static int hf_samr_samr_UserInfo3_logon_hours;
586
static int hf_samr_samr_UserInfo3_logon_script;
587
static int hf_samr_samr_UserInfo3_primary_gid;
588
static int hf_samr_samr_UserInfo3_profile_path;
589
static int hf_samr_samr_UserInfo3_workstations;
590
static int hf_samr_samr_UserInfo4_logon_hours;
591
static int hf_samr_samr_UserInfo5_account_name;
592
static int hf_samr_samr_UserInfo5_acct_expiry;
593
static int hf_samr_samr_UserInfo5_acct_flags;
594
static int hf_samr_samr_UserInfo5_bad_password_count;
595
static int hf_samr_samr_UserInfo5_description;
596
static int hf_samr_samr_UserInfo5_full_name;
597
static int hf_samr_samr_UserInfo5_home_directory;
598
static int hf_samr_samr_UserInfo5_home_drive;
599
static int hf_samr_samr_UserInfo5_last_logoff;
600
static int hf_samr_samr_UserInfo5_last_logon;
601
static int hf_samr_samr_UserInfo5_last_password_change;
602
static int hf_samr_samr_UserInfo5_logon_count;
603
static int hf_samr_samr_UserInfo5_logon_hours;
604
static int hf_samr_samr_UserInfo5_logon_script;
605
static int hf_samr_samr_UserInfo5_primary_gid;
606
static int hf_samr_samr_UserInfo5_profile_path;
607
static int hf_samr_samr_UserInfo5_workstations;
608
static int hf_samr_samr_UserInfo6_account_name;
609
static int hf_samr_samr_UserInfo6_full_name;
610
static int hf_samr_samr_UserInfo7_account_name;
611
static int hf_samr_samr_UserInfo8_full_name;
612
static int hf_samr_samr_UserInfo9_primary_gid;
613
static int hf_samr_samr_UserInfo_info1;
614
static int hf_samr_samr_UserInfo_info10;
615
static int hf_samr_samr_UserInfo_info11;
616
static int hf_samr_samr_UserInfo_info12;
617
static int hf_samr_samr_UserInfo_info13;
618
static int hf_samr_samr_UserInfo_info14;
619
static int hf_samr_samr_UserInfo_info16;
620
static int hf_samr_samr_UserInfo_info17;
621
static int hf_samr_samr_UserInfo_info18;
622
static int hf_samr_samr_UserInfo_info2;
623
static int hf_samr_samr_UserInfo_info20;
624
static int hf_samr_samr_UserInfo_info21;
625
static int hf_samr_samr_UserInfo_info23;
626
static int hf_samr_samr_UserInfo_info24;
627
static int hf_samr_samr_UserInfo_info25;
628
static int hf_samr_samr_UserInfo_info26;
629
static int hf_samr_samr_UserInfo_info3;
630
static int hf_samr_samr_UserInfo_info31;
631
static int hf_samr_samr_UserInfo_info32;
632
static int hf_samr_samr_UserInfo_info4;
633
static int hf_samr_samr_UserInfo_info5;
634
static int hf_samr_samr_UserInfo_info6;
635
static int hf_samr_samr_UserInfo_info7;
636
static int hf_samr_samr_UserInfo_info8;
637
static int hf_samr_samr_UserInfo_info9;
638
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT;
639
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME;
640
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME;
641
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY;
642
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH;
643
static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET;
644
static int hf_samr_samr_ValidatePasswordInfo_bad_password_time;
645
static int hf_samr_samr_ValidatePasswordInfo_bad_pwd_count;
646
static int hf_samr_samr_ValidatePasswordInfo_fields_present;
647
static int hf_samr_samr_ValidatePasswordInfo_last_password_change;
648
static int hf_samr_samr_ValidatePasswordInfo_lockout_time;
649
static int hf_samr_samr_ValidatePasswordInfo_pwd_history;
650
static int hf_samr_samr_ValidatePasswordInfo_pwd_history_len;
651
static int hf_samr_samr_ValidatePasswordRepCtr_info;
652
static int hf_samr_samr_ValidatePasswordRepCtr_status;
653
static int hf_samr_samr_ValidatePasswordRep_ctr1;
654
static int hf_samr_samr_ValidatePasswordRep_ctr2;
655
static int hf_samr_samr_ValidatePasswordRep_ctr3;
656
static int hf_samr_samr_ValidatePasswordReq1_info;
657
static int hf_samr_samr_ValidatePasswordReq1_password_matched;
658
static int hf_samr_samr_ValidatePasswordReq2_account;
659
static int hf_samr_samr_ValidatePasswordReq2_hash;
660
static int hf_samr_samr_ValidatePasswordReq2_info;
661
static int hf_samr_samr_ValidatePasswordReq2_password;
662
static int hf_samr_samr_ValidatePasswordReq2_password_matched;
663
static int hf_samr_samr_ValidatePasswordReq3_account;
664
static int hf_samr_samr_ValidatePasswordReq3_clear_lockout;
665
static int hf_samr_samr_ValidatePasswordReq3_hash;
666
static int hf_samr_samr_ValidatePasswordReq3_info;
667
static int hf_samr_samr_ValidatePasswordReq3_password;
668
static int hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon;
669
static int hf_samr_samr_ValidatePasswordReq_req1;
670
static int hf_samr_samr_ValidatePasswordReq_req2;
671
static int hf_samr_samr_ValidatePasswordReq_req3;
672
static int hf_samr_samr_ValidatePassword_level;
673
static int hf_samr_samr_ValidatePassword_rep;
674
static int hf_samr_samr_ValidatePassword_req;
675
static int hf_samr_samr_ValidationBlob_data;
676
static int hf_samr_samr_ValidationBlob_length;
677
static int hf_samr_sec_desc_buf_len;
678
static int hf_samr_status;
679
static int hf_samr_userPwdChangeFailureInformation_extendedFailureReason;
680
static int hf_samr_userPwdChangeFailureInformation_filterModuleName;
681
static int hf_samr_user_access_mask;
682
static int hf_samr_user_handle;
683
684
static int proto_dcerpc_samr;
685
/* Version information */
686
687
688
static e_guid_t uuid_dcerpc_samr = {
689
  0x12345778, 0x1234, 0xabcd,
690
  { 0xef, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xac }
691
};
692
static uint16_t ver_dcerpc_samr = 1;
693
694
static unsigned samr_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
695
static unsigned samr_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
696
static unsigned samr_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
697
static unsigned samr_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
698
const value_string samr_lsa_SidType_vals[] = {
699
  { SID_NAME_USE_NONE, "SID_NAME_USE_NONE" },
700
  { SID_NAME_USER, "SID_NAME_USER" },
701
  { SID_NAME_DOM_GRP, "SID_NAME_DOM_GRP" },
702
  { SID_NAME_DOMAIN, "SID_NAME_DOMAIN" },
703
  { SID_NAME_ALIAS, "SID_NAME_ALIAS" },
704
  { SID_NAME_WKN_GRP, "SID_NAME_WKN_GRP" },
705
  { SID_NAME_DELETED, "SID_NAME_DELETED" },
706
  { SID_NAME_INVALID, "SID_NAME_INVALID" },
707
  { SID_NAME_UNKNOWN, "SID_NAME_UNKNOWN" },
708
  { SID_NAME_COMPUTER, "SID_NAME_COMPUTER" },
709
{ 0, NULL }
710
};
711
static const true_false_string samr_AcctFlags_ACB_DISABLED_tfs = {
712
   "ACB_DISABLED is SET",
713
   "ACB_DISABLED is NOT SET",
714
};
715
static const true_false_string samr_AcctFlags_ACB_HOMDIRREQ_tfs = {
716
   "ACB_HOMDIRREQ is SET",
717
   "ACB_HOMDIRREQ is NOT SET",
718
};
719
static const true_false_string samr_AcctFlags_ACB_PWNOTREQ_tfs = {
720
   "ACB_PWNOTREQ is SET",
721
   "ACB_PWNOTREQ is NOT SET",
722
};
723
static const true_false_string samr_AcctFlags_ACB_TEMPDUP_tfs = {
724
   "ACB_TEMPDUP is SET",
725
   "ACB_TEMPDUP is NOT SET",
726
};
727
static const true_false_string samr_AcctFlags_ACB_NORMAL_tfs = {
728
   "ACB_NORMAL is SET",
729
   "ACB_NORMAL is NOT SET",
730
};
731
static const true_false_string samr_AcctFlags_ACB_MNS_tfs = {
732
   "ACB_MNS is SET",
733
   "ACB_MNS is NOT SET",
734
};
735
static const true_false_string samr_AcctFlags_ACB_DOMTRUST_tfs = {
736
   "ACB_DOMTRUST is SET",
737
   "ACB_DOMTRUST is NOT SET",
738
};
739
static const true_false_string samr_AcctFlags_ACB_WSTRUST_tfs = {
740
   "ACB_WSTRUST is SET",
741
   "ACB_WSTRUST is NOT SET",
742
};
743
static const true_false_string samr_AcctFlags_ACB_SVRTRUST_tfs = {
744
   "ACB_SVRTRUST is SET",
745
   "ACB_SVRTRUST is NOT SET",
746
};
747
static const true_false_string samr_AcctFlags_ACB_PWNOEXP_tfs = {
748
   "ACB_PWNOEXP is SET",
749
   "ACB_PWNOEXP is NOT SET",
750
};
751
static const true_false_string samr_AcctFlags_ACB_AUTOLOCK_tfs = {
752
   "ACB_AUTOLOCK is SET",
753
   "ACB_AUTOLOCK is NOT SET",
754
};
755
static const true_false_string samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED_tfs = {
756
   "ACB_ENC_TXT_PWD_ALLOWED is SET",
757
   "ACB_ENC_TXT_PWD_ALLOWED is NOT SET",
758
};
759
static const true_false_string samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs = {
760
   "ACB_SMARTCARD_REQUIRED is SET",
761
   "ACB_SMARTCARD_REQUIRED is NOT SET",
762
};
763
static const true_false_string samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION_tfs = {
764
   "ACB_TRUSTED_FOR_DELEGATION is SET",
765
   "ACB_TRUSTED_FOR_DELEGATION is NOT SET",
766
};
767
static const true_false_string samr_AcctFlags_ACB_NOT_DELEGATED_tfs = {
768
   "ACB_NOT_DELEGATED is SET",
769
   "ACB_NOT_DELEGATED is NOT SET",
770
};
771
static const true_false_string samr_AcctFlags_ACB_USE_DES_KEY_ONLY_tfs = {
772
   "ACB_USE_DES_KEY_ONLY is SET",
773
   "ACB_USE_DES_KEY_ONLY is NOT SET",
774
};
775
static const true_false_string samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH_tfs = {
776
   "ACB_DONT_REQUIRE_PREAUTH is SET",
777
   "ACB_DONT_REQUIRE_PREAUTH is NOT SET",
778
};
779
static const true_false_string samr_AcctFlags_ACB_PW_EXPIRED_tfs = {
780
   "ACB_PW_EXPIRED is SET",
781
   "ACB_PW_EXPIRED is NOT SET",
782
};
783
static const true_false_string samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION_tfs = {
784
   "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION is SET",
785
   "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION is NOT SET",
786
};
787
static const true_false_string samr_AcctFlags_ACB_NO_AUTH_DATA_REQD_tfs = {
788
   "ACB_NO_AUTH_DATA_REQD is SET",
789
   "ACB_NO_AUTH_DATA_REQD is NOT SET",
790
};
791
static const true_false_string samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT_tfs = {
792
   "ACB_PARTIAL_SECRETS_ACCOUNT is SET",
793
   "ACB_PARTIAL_SECRETS_ACCOUNT is NOT SET",
794
};
795
static const true_false_string samr_AcctFlags_ACB_USE_AES_KEYS_tfs = {
796
   "ACB_USE_AES_KEYS is SET",
797
   "ACB_USE_AES_KEYS is NOT SET",
798
};
799
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER_tfs = {
800
   "SAMR_ACCESS_CONNECT_TO_SERVER is SET",
801
   "SAMR_ACCESS_CONNECT_TO_SERVER is NOT SET",
802
};
803
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER_tfs = {
804
   "SAMR_ACCESS_SHUTDOWN_SERVER is SET",
805
   "SAMR_ACCESS_SHUTDOWN_SERVER is NOT SET",
806
};
807
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER_tfs = {
808
   "SAMR_ACCESS_INITIALIZE_SERVER is SET",
809
   "SAMR_ACCESS_INITIALIZE_SERVER is NOT SET",
810
};
811
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN_tfs = {
812
   "SAMR_ACCESS_CREATE_DOMAIN is SET",
813
   "SAMR_ACCESS_CREATE_DOMAIN is NOT SET",
814
};
815
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS_tfs = {
816
   "SAMR_ACCESS_ENUM_DOMAINS is SET",
817
   "SAMR_ACCESS_ENUM_DOMAINS is NOT SET",
818
};
819
static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN_tfs = {
820
   "SAMR_ACCESS_LOOKUP_DOMAIN is SET",
821
   "SAMR_ACCESS_LOOKUP_DOMAIN is NOT SET",
822
};
823
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC_tfs = {
824
   "SAMR_USER_ACCESS_GET_NAME_ETC is SET",
825
   "SAMR_USER_ACCESS_GET_NAME_ETC is NOT SET",
826
};
827
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE_tfs = {
828
   "SAMR_USER_ACCESS_GET_LOCALE is SET",
829
   "SAMR_USER_ACCESS_GET_LOCALE is NOT SET",
830
};
831
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM_tfs = {
832
   "SAMR_USER_ACCESS_SET_LOC_COM is SET",
833
   "SAMR_USER_ACCESS_SET_LOC_COM is NOT SET",
834
};
835
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO_tfs = {
836
   "SAMR_USER_ACCESS_GET_LOGONINFO is SET",
837
   "SAMR_USER_ACCESS_GET_LOGONINFO is NOT SET",
838
};
839
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES_tfs = {
840
   "SAMR_USER_ACCESS_GET_ATTRIBUTES is SET",
841
   "SAMR_USER_ACCESS_GET_ATTRIBUTES is NOT SET",
842
};
843
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES_tfs = {
844
   "SAMR_USER_ACCESS_SET_ATTRIBUTES is SET",
845
   "SAMR_USER_ACCESS_SET_ATTRIBUTES is NOT SET",
846
};
847
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD_tfs = {
848
   "SAMR_USER_ACCESS_CHANGE_PASSWORD is SET",
849
   "SAMR_USER_ACCESS_CHANGE_PASSWORD is NOT SET",
850
};
851
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD_tfs = {
852
   "SAMR_USER_ACCESS_SET_PASSWORD is SET",
853
   "SAMR_USER_ACCESS_SET_PASSWORD is NOT SET",
854
};
855
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS_tfs = {
856
   "SAMR_USER_ACCESS_GET_GROUPS is SET",
857
   "SAMR_USER_ACCESS_GET_GROUPS is NOT SET",
858
};
859
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP_tfs = {
860
   "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is SET",
861
   "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is NOT SET",
862
};
863
static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP_tfs = {
864
   "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is SET",
865
   "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is NOT SET",
866
};
867
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1_tfs = {
868
   "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is SET",
869
   "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is NOT SET",
870
};
871
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1_tfs = {
872
   "SAMR_DOMAIN_ACCESS_SET_INFO_1 is SET",
873
   "SAMR_DOMAIN_ACCESS_SET_INFO_1 is NOT SET",
874
};
875
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2_tfs = {
876
   "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is SET",
877
   "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is NOT SET",
878
};
879
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2_tfs = {
880
   "SAMR_DOMAIN_ACCESS_SET_INFO_2 is SET",
881
   "SAMR_DOMAIN_ACCESS_SET_INFO_2 is NOT SET",
882
};
883
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER_tfs = {
884
   "SAMR_DOMAIN_ACCESS_CREATE_USER is SET",
885
   "SAMR_DOMAIN_ACCESS_CREATE_USER is NOT SET",
886
};
887
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP_tfs = {
888
   "SAMR_DOMAIN_ACCESS_CREATE_GROUP is SET",
889
   "SAMR_DOMAIN_ACCESS_CREATE_GROUP is NOT SET",
890
};
891
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS_tfs = {
892
   "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is SET",
893
   "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is NOT SET",
894
};
895
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS_tfs = {
896
   "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is SET",
897
   "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is NOT SET",
898
};
899
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS_tfs = {
900
   "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is SET",
901
   "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is NOT SET",
902
};
903
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT_tfs = {
904
   "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is SET",
905
   "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is NOT SET",
906
};
907
static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3_tfs = {
908
   "SAMR_DOMAIN_ACCESS_SET_INFO_3 is SET",
909
   "SAMR_DOMAIN_ACCESS_SET_INFO_3 is NOT SET",
910
};
911
static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO_tfs = {
912
   "SAMR_GROUP_ACCESS_LOOKUP_INFO is SET",
913
   "SAMR_GROUP_ACCESS_LOOKUP_INFO is NOT SET",
914
};
915
static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO_tfs = {
916
   "SAMR_GROUP_ACCESS_SET_INFO is SET",
917
   "SAMR_GROUP_ACCESS_SET_INFO is NOT SET",
918
};
919
static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER_tfs = {
920
   "SAMR_GROUP_ACCESS_ADD_MEMBER is SET",
921
   "SAMR_GROUP_ACCESS_ADD_MEMBER is NOT SET",
922
};
923
static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER_tfs = {
924
   "SAMR_GROUP_ACCESS_REMOVE_MEMBER is SET",
925
   "SAMR_GROUP_ACCESS_REMOVE_MEMBER is NOT SET",
926
};
927
static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS_tfs = {
928
   "SAMR_GROUP_ACCESS_GET_MEMBERS is SET",
929
   "SAMR_GROUP_ACCESS_GET_MEMBERS is NOT SET",
930
};
931
static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER_tfs = {
932
   "SAMR_ALIAS_ACCESS_ADD_MEMBER is SET",
933
   "SAMR_ALIAS_ACCESS_ADD_MEMBER is NOT SET",
934
};
935
static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER_tfs = {
936
   "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is SET",
937
   "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is NOT SET",
938
};
939
static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS_tfs = {
940
   "SAMR_ALIAS_ACCESS_GET_MEMBERS is SET",
941
   "SAMR_ALIAS_ACCESS_GET_MEMBERS is NOT SET",
942
};
943
static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO_tfs = {
944
   "SAMR_ALIAS_ACCESS_LOOKUP_INFO is SET",
945
   "SAMR_ALIAS_ACCESS_LOOKUP_INFO is NOT SET",
946
};
947
static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO_tfs = {
948
   "SAMR_ALIAS_ACCESS_SET_INFO is SET",
949
   "SAMR_ALIAS_ACCESS_SET_INFO is NOT SET",
950
};
951
static unsigned samr_dissect_element_SamEntry_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
952
static unsigned samr_dissect_element_SamEntry_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
953
static unsigned samr_dissect_element_SamArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
954
static unsigned samr_dissect_element_SamArray_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
955
static unsigned samr_dissect_element_SamArray_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
956
static unsigned samr_dissect_element_SamArray_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
957
const value_string samr_samr_DomainInfoClass_vals[] = {
958
  { DomainPasswordInformation, "DomainPasswordInformation" },
959
  { DomainGeneralInformation, "DomainGeneralInformation" },
960
  { DomainLogoffInformation, "DomainLogoffInformation" },
961
  { DomainOemInformation, "DomainOemInformation" },
962
  { DomainNameInformation, "DomainNameInformation" },
963
  { DomainReplicationInformation, "DomainReplicationInformation" },
964
  { DomainServerRoleInformation, "DomainServerRoleInformation" },
965
  { DomainModifiedInformation, "DomainModifiedInformation" },
966
  { DomainStateInformation, "DomainStateInformation" },
967
  { DomainUasInformation, "DomainUasInformation" },
968
  { DomainGeneralInformation2, "DomainGeneralInformation2" },
969
  { DomainLockoutInformation, "DomainLockoutInformation" },
970
  { DomainModifiedInformation2, "DomainModifiedInformation2" },
971
{ 0, NULL }
972
};
973
const value_string samr_samr_Role_vals[] = {
974
  { SAMR_ROLE_STANDALONE, "SAMR_ROLE_STANDALONE" },
975
  { SAMR_ROLE_DOMAIN_MEMBER, "SAMR_ROLE_DOMAIN_MEMBER" },
976
  { SAMR_ROLE_DOMAIN_BDC, "SAMR_ROLE_DOMAIN_BDC" },
977
  { SAMR_ROLE_DOMAIN_PDC, "SAMR_ROLE_DOMAIN_PDC" },
978
{ 0, NULL }
979
};
980
static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs = {
981
   "DOMAIN_PASSWORD_COMPLEX is SET",
982
   "DOMAIN_PASSWORD_COMPLEX is NOT SET",
983
};
984
static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE_tfs = {
985
   "DOMAIN_PASSWORD_NO_ANON_CHANGE is SET",
986
   "DOMAIN_PASSWORD_NO_ANON_CHANGE is NOT SET",
987
};
988
static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE_tfs = {
989
   "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is SET",
990
   "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is NOT SET",
991
};
992
static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS_tfs = {
993
   "DOMAIN_PASSWORD_LOCKOUT_ADMINS is SET",
994
   "DOMAIN_PASSWORD_LOCKOUT_ADMINS is NOT SET",
995
};
996
static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT_tfs = {
997
   "DOMAIN_PASSWORD_STORE_CLEARTEXT is SET",
998
   "DOMAIN_PASSWORD_STORE_CLEARTEXT is NOT SET",
999
};
1000
static const true_false_string samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE_tfs = {
1001
   "DOMAIN_REFUSE_PASSWORD_CHANGE is SET",
1002
   "DOMAIN_REFUSE_PASSWORD_CHANGE is NOT SET",
1003
};
1004
const value_string samr_samr_DomainServerState_vals[] = {
1005
  { DOMAIN_SERVER_ENABLED, "DOMAIN_SERVER_ENABLED" },
1006
  { DOMAIN_SERVER_DISABLED, "DOMAIN_SERVER_DISABLED" },
1007
{ 0, NULL }
1008
};
1009
static unsigned samr_dissect_element_DomInfo1_min_password_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1010
static unsigned samr_dissect_element_DomInfo1_password_history_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1011
static unsigned samr_dissect_element_DomInfo1_password_properties(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1012
static unsigned samr_dissect_element_DomInfo1_max_password_age(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1013
static unsigned samr_dissect_element_DomInfo1_min_password_age(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1014
static unsigned samr_dissect_element_DomGeneralInformation_force_logoff_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1015
static unsigned samr_dissect_element_DomGeneralInformation_oem_information(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1016
static unsigned samr_dissect_element_DomGeneralInformation_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1017
static unsigned samr_dissect_element_DomGeneralInformation_primary(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1018
static unsigned samr_dissect_element_DomGeneralInformation_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1019
static unsigned samr_dissect_element_DomGeneralInformation_domain_server_state(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1020
static unsigned samr_dissect_element_DomGeneralInformation_role(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1021
static unsigned samr_dissect_element_DomGeneralInformation_unknown3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1022
static unsigned samr_dissect_element_DomGeneralInformation_num_users(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1023
static unsigned samr_dissect_element_DomGeneralInformation_num_groups(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1024
static unsigned samr_dissect_element_DomGeneralInformation_num_aliases(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1025
static unsigned samr_dissect_element_DomInfo3_force_logoff_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1026
static unsigned samr_dissect_element_DomOEMInformation_oem_information(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1027
static unsigned samr_dissect_element_DomInfo5_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1028
static unsigned samr_dissect_element_DomInfo6_primary(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1029
static unsigned samr_dissect_element_DomInfo7_role(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1030
static unsigned samr_dissect_element_DomInfo8_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1031
static unsigned samr_dissect_element_DomInfo8_domain_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1032
static unsigned samr_dissect_element_DomInfo9_domain_server_state(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1033
static unsigned samr_dissect_element_DomGeneralInformation2_general(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1034
static unsigned samr_dissect_element_DomGeneralInformation2_lockout_duration(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1035
static unsigned samr_dissect_element_DomGeneralInformation2_lockout_window(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1036
static unsigned samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1037
static unsigned samr_dissect_element_DomInfo12_lockout_duration(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1038
static unsigned samr_dissect_element_DomInfo12_lockout_window(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1039
static unsigned samr_dissect_element_DomInfo12_lockout_threshold(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1040
static unsigned samr_dissect_element_DomInfo13_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1041
static unsigned samr_dissect_element_DomInfo13_domain_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1042
static unsigned samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1043
static unsigned samr_dissect_element_DomainInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1044
static unsigned samr_dissect_element_DomainInfo_general(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1045
static unsigned samr_dissect_element_DomainInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1046
static unsigned samr_dissect_element_DomainInfo_oem(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1047
static unsigned samr_dissect_element_DomainInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1048
static unsigned samr_dissect_element_DomainInfo_info6(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1049
static unsigned samr_dissect_element_DomainInfo_info7(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1050
static unsigned samr_dissect_element_DomainInfo_info8(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1051
static unsigned samr_dissect_element_DomainInfo_info9(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1052
static unsigned samr_dissect_element_DomainInfo_general2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1053
static unsigned samr_dissect_element_DomainInfo_info12(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1054
static unsigned samr_dissect_element_DomainInfo_info13(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1055
static unsigned samr_dissect_element_Ids_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1056
static unsigned samr_dissect_element_Ids_ids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1057
static unsigned samr_dissect_element_Ids_ids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1058
static unsigned samr_dissect_element_Ids_ids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1059
static const true_false_string samr_GroupAttrs_SE_GROUP_MANDATORY_tfs = {
1060
   "SE_GROUP_MANDATORY is SET",
1061
   "SE_GROUP_MANDATORY is NOT SET",
1062
};
1063
static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT_tfs = {
1064
   "SE_GROUP_ENABLED_BY_DEFAULT is SET",
1065
   "SE_GROUP_ENABLED_BY_DEFAULT is NOT SET",
1066
};
1067
static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_tfs = {
1068
   "SE_GROUP_ENABLED is SET",
1069
   "SE_GROUP_ENABLED is NOT SET",
1070
};
1071
static const true_false_string samr_GroupAttrs_SE_GROUP_OWNER_tfs = {
1072
   "SE_GROUP_OWNER is SET",
1073
   "SE_GROUP_OWNER is NOT SET",
1074
};
1075
static const true_false_string samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY_tfs = {
1076
   "SE_GROUP_USE_FOR_DENY_ONLY is SET",
1077
   "SE_GROUP_USE_FOR_DENY_ONLY is NOT SET",
1078
};
1079
static const true_false_string samr_GroupAttrs_SE_GROUP_RESOURCE_tfs = {
1080
   "SE_GROUP_RESOURCE is SET",
1081
   "SE_GROUP_RESOURCE is NOT SET",
1082
};
1083
static const true_false_string samr_GroupAttrs_SE_GROUP_LOGON_ID_tfs = {
1084
   "SE_GROUP_LOGON_ID is SET",
1085
   "SE_GROUP_LOGON_ID is NOT SET",
1086
};
1087
static unsigned samr_dissect_element_GroupInfoAll_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1088
static unsigned samr_dissect_element_GroupInfoAll_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1089
static unsigned samr_dissect_element_GroupInfoAll_num_members(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1090
static unsigned samr_dissect_element_GroupInfoAll_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1091
static unsigned samr_dissect_element_GroupInfoAttributes_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1092
static unsigned samr_dissect_element_GroupInfoDescription_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1093
const value_string samr_samr_GroupInfoEnum_vals[] = {
1094
  { GROUPINFOALL, "GROUPINFOALL" },
1095
  { GROUPINFONAME, "GROUPINFONAME" },
1096
  { GROUPINFOATTRIBUTES, "GROUPINFOATTRIBUTES" },
1097
  { GROUPINFODESCRIPTION, "GROUPINFODESCRIPTION" },
1098
  { GROUPINFOALL2, "GROUPINFOALL2" },
1099
{ 0, NULL }
1100
};
1101
static unsigned samr_dissect_element_GroupInfo_all(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1102
static unsigned samr_dissect_element_GroupInfo_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1103
static unsigned samr_dissect_element_GroupInfo_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1104
static unsigned samr_dissect_element_GroupInfo_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1105
static unsigned samr_dissect_element_GroupInfo_all2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1106
static unsigned samr_dissect_element_RidTypeArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1107
static unsigned samr_dissect_element_RidTypeArray_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1108
static unsigned samr_dissect_element_RidTypeArray_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1109
static unsigned samr_dissect_element_RidTypeArray_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1110
static unsigned samr_dissect_element_RidTypeArray_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1111
static unsigned samr_dissect_element_RidTypeArray_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1112
static unsigned samr_dissect_element_RidTypeArray_types__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1113
static unsigned samr_dissect_element_AliasInfoAll_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1114
static unsigned samr_dissect_element_AliasInfoAll_num_members(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1115
static unsigned samr_dissect_element_AliasInfoAll_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1116
const value_string samr_samr_AliasInfoEnum_vals[] = {
1117
  { ALIASINFOALL, "ALIASINFOALL" },
1118
  { ALIASINFONAME, "ALIASINFONAME" },
1119
  { ALIASINFODESCRIPTION, "ALIASINFODESCRIPTION" },
1120
{ 0, NULL }
1121
};
1122
static unsigned samr_dissect_element_AliasInfo_all(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1123
static unsigned samr_dissect_element_AliasInfo_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1124
static unsigned samr_dissect_element_AliasInfo_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1125
const value_string samr_samr_UserInfoLevel_vals[] = {
1126
  { UserGeneralInformation, "UserGeneralInformation" },
1127
  { UserPreferencesInformation, "UserPreferencesInformation" },
1128
  { UserLogonInformation, "UserLogonInformation" },
1129
  { UserLogonHoursInformation, "UserLogonHoursInformation" },
1130
  { UserAccountInformation, "UserAccountInformation" },
1131
  { UserNameInformation, "UserNameInformation" },
1132
  { UserAccountNameInformation, "UserAccountNameInformation" },
1133
  { UserFullNameInformation, "UserFullNameInformation" },
1134
  { UserPrimaryGroupInformation, "UserPrimaryGroupInformation" },
1135
  { UserHomeInformation, "UserHomeInformation" },
1136
  { UserScriptInformation, "UserScriptInformation" },
1137
  { UserProfileInformation, "UserProfileInformation" },
1138
  { UserAdminCommentInformation, "UserAdminCommentInformation" },
1139
  { UserWorkStationsInformation, "UserWorkStationsInformation" },
1140
  { UserControlInformation, "UserControlInformation" },
1141
  { UserExpiresInformation, "UserExpiresInformation" },
1142
  { UserInternal1Information, "UserInternal1Information" },
1143
  { UserParametersInformation, "UserParametersInformation" },
1144
  { UserAllInformation, "UserAllInformation" },
1145
  { UserInternal4Information, "UserInternal4Information" },
1146
  { UserInternal5Information, "UserInternal5Information" },
1147
  { UserInternal4InformationNew, "UserInternal4InformationNew" },
1148
  { UserInternal5InformationNew, "UserInternal5InformationNew" },
1149
  { UserInternal7InformationNew, "UserInternal7InformationNew" },
1150
  { UserInternal8InformationNew, "UserInternal8InformationNew" },
1151
{ 0, NULL }
1152
};
1153
static unsigned samr_dissect_element_UserInfo1_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1154
static unsigned samr_dissect_element_UserInfo1_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1155
static unsigned samr_dissect_element_UserInfo1_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1156
static unsigned samr_dissect_element_UserInfo1_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1157
static unsigned samr_dissect_element_UserInfo1_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1158
static unsigned samr_dissect_element_UserInfo2_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1159
static unsigned samr_dissect_element_UserInfo2_reserved(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1160
static unsigned samr_dissect_element_UserInfo2_country_code(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1161
static unsigned samr_dissect_element_UserInfo2_code_page(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1162
static unsigned samr_dissect_element_LogonHours_units_per_week(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1163
static unsigned samr_dissect_element_LogonHours_bits(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1164
static unsigned samr_dissect_element_LogonHours_bits_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1165
static unsigned samr_dissect_element_LogonHours_bits__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1166
static unsigned samr_dissect_element_UserInfo3_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1167
static unsigned samr_dissect_element_UserInfo3_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1168
static unsigned samr_dissect_element_UserInfo3_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1169
static unsigned samr_dissect_element_UserInfo3_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1170
static unsigned samr_dissect_element_UserInfo3_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1171
static unsigned samr_dissect_element_UserInfo3_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1172
static unsigned samr_dissect_element_UserInfo3_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1173
static unsigned samr_dissect_element_UserInfo3_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1174
static unsigned samr_dissect_element_UserInfo3_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1175
static unsigned samr_dissect_element_UserInfo3_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1176
static unsigned samr_dissect_element_UserInfo3_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1177
static unsigned samr_dissect_element_UserInfo3_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1178
static unsigned samr_dissect_element_UserInfo3_allow_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1179
static unsigned samr_dissect_element_UserInfo3_force_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1180
static unsigned samr_dissect_element_UserInfo3_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1181
static unsigned samr_dissect_element_UserInfo3_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1182
static unsigned samr_dissect_element_UserInfo3_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1183
static unsigned samr_dissect_element_UserInfo3_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1184
static unsigned samr_dissect_element_UserInfo4_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1185
static unsigned samr_dissect_element_UserInfo5_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1186
static unsigned samr_dissect_element_UserInfo5_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1187
static unsigned samr_dissect_element_UserInfo5_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1188
static unsigned samr_dissect_element_UserInfo5_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1189
static unsigned samr_dissect_element_UserInfo5_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1190
static unsigned samr_dissect_element_UserInfo5_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1191
static unsigned samr_dissect_element_UserInfo5_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1192
static unsigned samr_dissect_element_UserInfo5_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1193
static unsigned samr_dissect_element_UserInfo5_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1194
static unsigned samr_dissect_element_UserInfo5_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1195
static unsigned samr_dissect_element_UserInfo5_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1196
static unsigned samr_dissect_element_UserInfo5_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1197
static unsigned samr_dissect_element_UserInfo5_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1198
static unsigned samr_dissect_element_UserInfo5_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1199
static unsigned samr_dissect_element_UserInfo5_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1200
static unsigned samr_dissect_element_UserInfo5_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1201
static unsigned samr_dissect_element_UserInfo5_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1202
static unsigned samr_dissect_element_UserInfo5_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1203
static unsigned samr_dissect_element_UserInfo6_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1204
static unsigned samr_dissect_element_UserInfo6_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1205
static unsigned samr_dissect_element_UserInfo7_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1206
static unsigned samr_dissect_element_UserInfo8_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1207
static unsigned samr_dissect_element_UserInfo9_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1208
static unsigned samr_dissect_element_UserInfo10_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1209
static unsigned samr_dissect_element_UserInfo10_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1210
static unsigned samr_dissect_element_UserInfo11_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1211
static unsigned samr_dissect_element_UserInfo12_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1212
static unsigned samr_dissect_element_UserInfo13_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1213
static unsigned samr_dissect_element_UserInfo14_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1214
static unsigned samr_dissect_element_UserInfo16_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1215
static unsigned samr_dissect_element_UserInfo17_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1216
static unsigned samr_dissect_element_Password_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1217
static unsigned samr_dissect_element_Password_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1218
static unsigned samr_dissect_element_UserInfo18_nt_pwd(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1219
static unsigned samr_dissect_element_UserInfo18_lm_pwd(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1220
static unsigned samr_dissect_element_UserInfo18_nt_pwd_active(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1221
static unsigned samr_dissect_element_UserInfo18_lm_pwd_active(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1222
static unsigned samr_dissect_element_UserInfo18_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1223
static unsigned samr_dissect_element_UserInfo20_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1224
static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME_tfs = {
1225
   "SAMR_FIELD_ACCOUNT_NAME is SET",
1226
   "SAMR_FIELD_ACCOUNT_NAME is NOT SET",
1227
};
1228
static const true_false_string samr_FieldsPresent_SAMR_FIELD_FULL_NAME_tfs = {
1229
   "SAMR_FIELD_FULL_NAME is SET",
1230
   "SAMR_FIELD_FULL_NAME is NOT SET",
1231
};
1232
static const true_false_string samr_FieldsPresent_SAMR_FIELD_RID_tfs = {
1233
   "SAMR_FIELD_RID is SET",
1234
   "SAMR_FIELD_RID is NOT SET",
1235
};
1236
static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID_tfs = {
1237
   "SAMR_FIELD_PRIMARY_GID is SET",
1238
   "SAMR_FIELD_PRIMARY_GID is NOT SET",
1239
};
1240
static const true_false_string samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs = {
1241
   "SAMR_FIELD_DESCRIPTION is SET",
1242
   "SAMR_FIELD_DESCRIPTION is NOT SET",
1243
};
1244
static const true_false_string samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs = {
1245
   "SAMR_FIELD_COMMENT is SET",
1246
   "SAMR_FIELD_COMMENT is NOT SET",
1247
};
1248
static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY_tfs = {
1249
   "SAMR_FIELD_HOME_DIRECTORY is SET",
1250
   "SAMR_FIELD_HOME_DIRECTORY is NOT SET",
1251
};
1252
static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE_tfs = {
1253
   "SAMR_FIELD_HOME_DRIVE is SET",
1254
   "SAMR_FIELD_HOME_DRIVE is NOT SET",
1255
};
1256
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT_tfs = {
1257
   "SAMR_FIELD_LOGON_SCRIPT is SET",
1258
   "SAMR_FIELD_LOGON_SCRIPT is NOT SET",
1259
};
1260
static const true_false_string samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH_tfs = {
1261
   "SAMR_FIELD_PROFILE_PATH is SET",
1262
   "SAMR_FIELD_PROFILE_PATH is NOT SET",
1263
};
1264
static const true_false_string samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs = {
1265
   "SAMR_FIELD_WORKSTATIONS is SET",
1266
   "SAMR_FIELD_WORKSTATIONS is NOT SET",
1267
};
1268
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGON_tfs = {
1269
   "SAMR_FIELD_LAST_LOGON is SET",
1270
   "SAMR_FIELD_LAST_LOGON is NOT SET",
1271
};
1272
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF_tfs = {
1273
   "SAMR_FIELD_LAST_LOGOFF is SET",
1274
   "SAMR_FIELD_LAST_LOGOFF is NOT SET",
1275
};
1276
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS_tfs = {
1277
   "SAMR_FIELD_LOGON_HOURS is SET",
1278
   "SAMR_FIELD_LOGON_HOURS is NOT SET",
1279
};
1280
static const true_false_string samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT_tfs = {
1281
   "SAMR_FIELD_BAD_PWD_COUNT is SET",
1282
   "SAMR_FIELD_BAD_PWD_COUNT is NOT SET",
1283
};
1284
static const true_false_string samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS_tfs = {
1285
   "SAMR_FIELD_NUM_LOGONS is SET",
1286
   "SAMR_FIELD_NUM_LOGONS is NOT SET",
1287
};
1288
static const true_false_string samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE_tfs = {
1289
   "SAMR_FIELD_ALLOW_PWD_CHANGE is SET",
1290
   "SAMR_FIELD_ALLOW_PWD_CHANGE is NOT SET",
1291
};
1292
static const true_false_string samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE_tfs = {
1293
   "SAMR_FIELD_FORCE_PWD_CHANGE is SET",
1294
   "SAMR_FIELD_FORCE_PWD_CHANGE is NOT SET",
1295
};
1296
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE_tfs = {
1297
   "SAMR_FIELD_LAST_PWD_CHANGE is SET",
1298
   "SAMR_FIELD_LAST_PWD_CHANGE is NOT SET",
1299
};
1300
static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY_tfs = {
1301
   "SAMR_FIELD_ACCT_EXPIRY is SET",
1302
   "SAMR_FIELD_ACCT_EXPIRY is NOT SET",
1303
};
1304
static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS_tfs = {
1305
   "SAMR_FIELD_ACCT_FLAGS is SET",
1306
   "SAMR_FIELD_ACCT_FLAGS is NOT SET",
1307
};
1308
static const true_false_string samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs = {
1309
   "SAMR_FIELD_PARAMETERS is SET",
1310
   "SAMR_FIELD_PARAMETERS is NOT SET",
1311
};
1312
static const true_false_string samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE_tfs = {
1313
   "SAMR_FIELD_COUNTRY_CODE is SET",
1314
   "SAMR_FIELD_COUNTRY_CODE is NOT SET",
1315
};
1316
static const true_false_string samr_FieldsPresent_SAMR_FIELD_CODE_PAGE_tfs = {
1317
   "SAMR_FIELD_CODE_PAGE is SET",
1318
   "SAMR_FIELD_CODE_PAGE is NOT SET",
1319
};
1320
static const true_false_string samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT_tfs = {
1321
   "SAMR_FIELD_NT_PASSWORD_PRESENT is SET",
1322
   "SAMR_FIELD_NT_PASSWORD_PRESENT is NOT SET",
1323
};
1324
static const true_false_string samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT_tfs = {
1325
   "SAMR_FIELD_LM_PASSWORD_PRESENT is SET",
1326
   "SAMR_FIELD_LM_PASSWORD_PRESENT is NOT SET",
1327
};
1328
static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA_tfs = {
1329
   "SAMR_FIELD_PRIVATE_DATA is SET",
1330
   "SAMR_FIELD_PRIVATE_DATA is NOT SET",
1331
};
1332
static const true_false_string samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG_tfs = {
1333
   "SAMR_FIELD_EXPIRED_FLAG is SET",
1334
   "SAMR_FIELD_EXPIRED_FLAG is NOT SET",
1335
};
1336
static const true_false_string samr_FieldsPresent_SAMR_FIELD_SEC_DESC_tfs = {
1337
   "SAMR_FIELD_SEC_DESC is SET",
1338
   "SAMR_FIELD_SEC_DESC is NOT SET",
1339
};
1340
static const true_false_string samr_FieldsPresent_SAMR_FIELD_OWF_PWD_tfs = {
1341
   "SAMR_FIELD_OWF_PWD is SET",
1342
   "SAMR_FIELD_OWF_PWD is NOT SET",
1343
};
1344
static unsigned samr_dissect_element_UserInfo21_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1345
static unsigned samr_dissect_element_UserInfo21_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1346
static unsigned samr_dissect_element_UserInfo21_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1347
static unsigned samr_dissect_element_UserInfo21_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1348
static unsigned samr_dissect_element_UserInfo21_allow_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1349
static unsigned samr_dissect_element_UserInfo21_force_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1350
static unsigned samr_dissect_element_UserInfo21_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1351
static unsigned samr_dissect_element_UserInfo21_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1352
static unsigned samr_dissect_element_UserInfo21_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1353
static unsigned samr_dissect_element_UserInfo21_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1354
static unsigned samr_dissect_element_UserInfo21_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1355
static unsigned samr_dissect_element_UserInfo21_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1356
static unsigned samr_dissect_element_UserInfo21_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1357
static unsigned samr_dissect_element_UserInfo21_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1358
static unsigned samr_dissect_element_UserInfo21_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1359
static unsigned samr_dissect_element_UserInfo21_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1360
static unsigned samr_dissect_element_UserInfo21_lm_owf_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1361
static unsigned samr_dissect_element_UserInfo21_nt_owf_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1362
static unsigned samr_dissect_element_UserInfo21_private_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1363
static unsigned samr_dissect_element_UserInfo21_buf_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1364
static unsigned samr_dissect_element_UserInfo21_buffer(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1365
static unsigned samr_dissect_element_UserInfo21_buffer_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1366
static unsigned samr_dissect_element_UserInfo21_buffer__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1367
static unsigned samr_dissect_element_UserInfo21_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1368
static unsigned samr_dissect_element_UserInfo21_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1369
static unsigned samr_dissect_element_UserInfo21_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1370
static unsigned samr_dissect_element_UserInfo21_fields_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1371
static unsigned samr_dissect_element_UserInfo21_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1372
static unsigned samr_dissect_element_UserInfo21_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1373
static unsigned samr_dissect_element_UserInfo21_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1374
static unsigned samr_dissect_element_UserInfo21_country_code(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1375
static unsigned samr_dissect_element_UserInfo21_code_page(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1376
static unsigned samr_dissect_element_UserInfo21_lm_password_set(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1377
static unsigned samr_dissect_element_UserInfo21_nt_password_set(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1378
static unsigned samr_dissect_element_UserInfo21_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1379
static unsigned samr_dissect_element_UserInfo21_private_data_sensitive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1380
static unsigned samr_dissect_element_CryptPassword_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1381
static unsigned samr_dissect_element_CryptPassword_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1382
static unsigned samr_dissect_element_UserInfo23_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1383
static unsigned samr_dissect_element_UserInfo23_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1384
static unsigned samr_dissect_element_UserInfo24_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1385
static unsigned samr_dissect_element_UserInfo24_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1386
static unsigned samr_dissect_element_CryptPasswordEx_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1387
static unsigned samr_dissect_element_CryptPasswordEx_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1388
static unsigned samr_dissect_element_UserInfo25_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1389
static unsigned samr_dissect_element_UserInfo25_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1390
static unsigned samr_dissect_element_UserInfo26_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1391
static unsigned samr_dissect_element_UserInfo26_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1392
static unsigned samr_dissect_element_EncryptedPasswordAES_auth_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1393
static unsigned samr_dissect_element_EncryptedPasswordAES_auth_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1394
static unsigned samr_dissect_element_EncryptedPasswordAES_salt(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1395
static unsigned samr_dissect_element_EncryptedPasswordAES_salt_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1396
static unsigned samr_dissect_element_EncryptedPasswordAES_cipher_len(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1397
static unsigned samr_dissect_element_EncryptedPasswordAES_cipher(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1398
static unsigned samr_dissect_element_EncryptedPasswordAES_cipher_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1399
static unsigned samr_dissect_element_EncryptedPasswordAES_cipher__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1400
static unsigned samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1401
static unsigned samr_dissect_element_UserInfo31_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1402
static unsigned samr_dissect_element_UserInfo31_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1403
static unsigned samr_dissect_element_UserInfo32_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1404
static unsigned samr_dissect_element_UserInfo32_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1405
static unsigned samr_dissect_element_UserInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1406
static unsigned samr_dissect_element_UserInfo_info2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1407
static unsigned samr_dissect_element_UserInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1408
static unsigned samr_dissect_element_UserInfo_info4(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1409
static unsigned samr_dissect_element_UserInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1410
static unsigned samr_dissect_element_UserInfo_info6(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1411
static unsigned samr_dissect_element_UserInfo_info7(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1412
static unsigned samr_dissect_element_UserInfo_info8(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1413
static unsigned samr_dissect_element_UserInfo_info9(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1414
static unsigned samr_dissect_element_UserInfo_info10(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1415
static unsigned samr_dissect_element_UserInfo_info11(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1416
static unsigned samr_dissect_element_UserInfo_info12(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1417
static unsigned samr_dissect_element_UserInfo_info13(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1418
static unsigned samr_dissect_element_UserInfo_info14(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1419
static unsigned samr_dissect_element_UserInfo_info16(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1420
static unsigned samr_dissect_element_UserInfo_info17(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1421
static unsigned samr_dissect_element_UserInfo_info18(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1422
static unsigned samr_dissect_element_UserInfo_info20(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1423
static unsigned samr_dissect_element_UserInfo_info21(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1424
static unsigned samr_dissect_element_UserInfo_info23(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1425
static unsigned samr_dissect_element_UserInfo_info24(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1426
static unsigned samr_dissect_element_UserInfo_info25(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1427
static unsigned samr_dissect_element_UserInfo_info26(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1428
static unsigned samr_dissect_element_UserInfo_info31(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1429
static unsigned samr_dissect_element_UserInfo_info32(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1430
static unsigned samr_dissect_element_RidWithAttribute_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1431
static unsigned samr_dissect_element_RidWithAttribute_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1432
static unsigned samr_dissect_element_RidWithAttributeArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1433
static unsigned samr_dissect_element_RidWithAttributeArray_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1434
static unsigned samr_dissect_element_RidWithAttributeArray_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1435
static unsigned samr_dissect_element_RidWithAttributeArray_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1436
static unsigned samr_dissect_element_DispEntryGeneral_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1437
static unsigned samr_dissect_element_DispEntryGeneral_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1438
static unsigned samr_dissect_element_DispEntryGeneral_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1439
static unsigned samr_dissect_element_DispEntryGeneral_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1440
static unsigned samr_dissect_element_DispEntryGeneral_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1441
static unsigned samr_dissect_element_DispEntryGeneral_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1442
static unsigned samr_dissect_element_DispInfoGeneral_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1443
static unsigned samr_dissect_element_DispInfoGeneral_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1444
static unsigned samr_dissect_element_DispInfoGeneral_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1445
static unsigned samr_dissect_element_DispInfoGeneral_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1446
static unsigned samr_dissect_element_DispEntryFull_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1447
static unsigned samr_dissect_element_DispEntryFull_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1448
static unsigned samr_dissect_element_DispEntryFull_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1449
static unsigned samr_dissect_element_DispEntryFull_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1450
static unsigned samr_dissect_element_DispEntryFull_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1451
static unsigned samr_dissect_element_DispInfoFull_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1452
static unsigned samr_dissect_element_DispInfoFull_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1453
static unsigned samr_dissect_element_DispInfoFull_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1454
static unsigned samr_dissect_element_DispInfoFull_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1455
static unsigned samr_dissect_element_DispEntryFullGroup_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1456
static unsigned samr_dissect_element_DispEntryFullGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1457
static unsigned samr_dissect_element_DispEntryFullGroup_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1458
static unsigned samr_dissect_element_DispEntryFullGroup_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1459
static unsigned samr_dissect_element_DispEntryFullGroup_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1460
static unsigned samr_dissect_element_DispInfoFullGroups_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1461
static unsigned samr_dissect_element_DispInfoFullGroups_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1462
static unsigned samr_dissect_element_DispInfoFullGroups_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1463
static unsigned samr_dissect_element_DispInfoFullGroups_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1464
static unsigned samr_dissect_element_DispEntryAscii_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1465
static unsigned samr_dissect_element_DispEntryAscii_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1466
static unsigned samr_dissect_element_DispInfoAscii_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1467
static unsigned samr_dissect_element_DispInfoAscii_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1468
static unsigned samr_dissect_element_DispInfoAscii_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1469
static unsigned samr_dissect_element_DispInfoAscii_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1470
const value_string samr_samr_DomainDisplayInformation_vals[] = {
1471
  { SAMR_DOMAIN_DISPLAY_USER, "SAMR_DOMAIN_DISPLAY_USER" },
1472
  { SAMR_DOMAIN_DISPLAY_MACHINE, "SAMR_DOMAIN_DISPLAY_MACHINE" },
1473
  { SAMR_DOMAIN_DISPLAY_GROUP, "SAMR_DOMAIN_DISPLAY_GROUP" },
1474
  { SAMR_DOMAIN_DISPLAY_OEM_USER, "SAMR_DOMAIN_DISPLAY_OEM_USER" },
1475
  { SAMR_DOMAIN_DISPLAY_OEM_GROUP, "SAMR_DOMAIN_DISPLAY_OEM_GROUP" },
1476
{ 0, NULL }
1477
};
1478
static unsigned samr_dissect_element_DispInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1479
static unsigned samr_dissect_element_DispInfo_info2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1480
static unsigned samr_dissect_element_DispInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1481
static unsigned samr_dissect_element_DispInfo_info4(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1482
static unsigned samr_dissect_element_DispInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1483
static unsigned samr_dissect_element_PwInfo_min_password_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1484
static unsigned samr_dissect_element_PwInfo_password_properties(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1485
const value_string samr_samr_ConnectVersion_vals[] = {
1486
  { SAMR_CONNECT_PRE_W2K, "SAMR_CONNECT_PRE_W2K" },
1487
  { SAMR_CONNECT_W2K, "SAMR_CONNECT_W2K" },
1488
  { SAMR_CONNECT_AFTER_W2K, "SAMR_CONNECT_AFTER_W2K" },
1489
{ 0, NULL }
1490
};
1491
const value_string samr_samPwdChangeReason_vals[] = {
1492
  { SAM_PWD_CHANGE_NO_ERROR, "SAM_PWD_CHANGE_NO_ERROR" },
1493
  { SAM_PWD_CHANGE_PASSWORD_TOO_SHORT, "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT" },
1494
  { SAM_PWD_CHANGE_PWD_IN_HISTORY, "SAM_PWD_CHANGE_PWD_IN_HISTORY" },
1495
  { SAM_PWD_CHANGE_USERNAME_IN_PASSWORD, "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD" },
1496
  { SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD, "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD" },
1497
  { SAM_PWD_CHANGE_NOT_COMPLEX, "SAM_PWD_CHANGE_NOT_COMPLEX" },
1498
  { SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT, "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT" },
1499
  { SAM_PWD_CHANGE_FAILED_BY_FILTER, "SAM_PWD_CHANGE_FAILED_BY_FILTER" },
1500
  { SAM_PWD_CHANGE_PASSWORD_TOO_LONG, "SAM_PWD_CHANGE_PASSWORD_TOO_LONG" },
1501
{ 0, NULL }
1502
};
1503
static unsigned samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1504
static unsigned samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1505
const value_string samr_samr_SupportedFeatures_vals[] = {
1506
  { SAMR_CONNECT_FEATURE_RID_ONLY, "SAMR_CONNECT_FEATURE_RID_ONLY" },
1507
  { SAMR_CONNECT_FEATURE_RESRVED1, "SAMR_CONNECT_FEATURE_RESRVED1" },
1508
  { SAMR_CONNECT_FEATURE_RESRVED2, "SAMR_CONNECT_FEATURE_RESRVED2" },
1509
  { SAMR_CONNECT_FEATURE_USE_AES, "SAMR_CONNECT_FEATURE_USE_AES" },
1510
{ 0, NULL }
1511
};
1512
static unsigned samr_dissect_element_ConnectInfo1_client_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1513
static unsigned samr_dissect_element_ConnectInfo1_supported_features(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1514
static unsigned samr_dissect_element_ConnectInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1515
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET_tfs = {
1516
   "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is SET",
1517
   "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is NOT SET",
1518
};
1519
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME_tfs = {
1520
   "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is SET",
1521
   "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is NOT SET",
1522
};
1523
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME_tfs = {
1524
   "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is SET",
1525
   "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is NOT SET",
1526
};
1527
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT_tfs = {
1528
   "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is SET",
1529
   "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is NOT SET",
1530
};
1531
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH_tfs = {
1532
   "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is SET",
1533
   "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is NOT SET",
1534
};
1535
static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_tfs = {
1536
   "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is SET",
1537
   "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is NOT SET",
1538
};
1539
const value_string samr_samr_ValidatePasswordLevel_vals[] = {
1540
  { NetValidateAuthentication, "NetValidateAuthentication" },
1541
  { NetValidatePasswordChange, "NetValidatePasswordChange" },
1542
  { NetValidatePasswordReset, "NetValidatePasswordReset" },
1543
{ 0, NULL }
1544
};
1545
const value_string samr_samr_ValidationStatus_vals[] = {
1546
  { SAMR_VALIDATION_STATUS_SUCCESS, "SAMR_VALIDATION_STATUS_SUCCESS" },
1547
  { SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE, "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE" },
1548
  { SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT, "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT" },
1549
  { SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED, "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED" },
1550
  { SAMR_VALIDATION_STATUS_BAD_PASSWORD, "SAMR_VALIDATION_STATUS_BAD_PASSWORD" },
1551
  { SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT, "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT" },
1552
  { SAMR_VALIDATION_STATUS_PWD_TOO_SHORT, "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT" },
1553
  { SAMR_VALIDATION_STATUS_PWD_TOO_LONG, "SAMR_VALIDATION_STATUS_PWD_TOO_LONG" },
1554
  { SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH, "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH" },
1555
  { SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT, "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT" },
1556
  { SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR, "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR" },
1557
{ 0, NULL }
1558
};
1559
static unsigned samr_dissect_element_ValidationBlob_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1560
static unsigned samr_dissect_element_ValidationBlob_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1561
static unsigned samr_dissect_element_ValidationBlob_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1562
static unsigned samr_dissect_element_ValidationBlob_data__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1563
static unsigned samr_dissect_element_ValidatePasswordInfo_fields_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1564
static unsigned samr_dissect_element_ValidatePasswordInfo_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1565
static unsigned samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1566
static unsigned samr_dissect_element_ValidatePasswordInfo_lockout_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1567
static unsigned samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1568
static unsigned samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1569
static unsigned samr_dissect_element_ValidatePasswordInfo_pwd_history(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1570
static unsigned samr_dissect_element_ValidatePasswordInfo_pwd_history_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1571
static unsigned samr_dissect_element_ValidatePasswordInfo_pwd_history__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1572
static unsigned samr_dissect_element_ValidatePasswordRepCtr_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1573
static unsigned samr_dissect_element_ValidatePasswordRepCtr_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1574
static unsigned samr_dissect_element_ValidatePasswordRep_ctr1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1575
static unsigned samr_dissect_element_ValidatePasswordRep_ctr2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1576
static unsigned samr_dissect_element_ValidatePasswordRep_ctr3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1577
static unsigned samr_dissect_element_ValidatePasswordReq3_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1578
static unsigned samr_dissect_element_ValidatePasswordReq3_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1579
static unsigned samr_dissect_element_ValidatePasswordReq3_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1580
static unsigned samr_dissect_element_ValidatePasswordReq3_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1581
static unsigned samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1582
static unsigned samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1583
static unsigned samr_dissect_element_ValidatePasswordReq2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1584
static unsigned samr_dissect_element_ValidatePasswordReq2_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1585
static unsigned samr_dissect_element_ValidatePasswordReq2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1586
static unsigned samr_dissect_element_ValidatePasswordReq2_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1587
static unsigned samr_dissect_element_ValidatePasswordReq2_password_matched(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1588
static unsigned samr_dissect_element_ValidatePasswordReq1_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1589
static unsigned samr_dissect_element_ValidatePasswordReq1_password_matched(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1590
static unsigned samr_dissect_element_ValidatePasswordReq_req1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1591
static unsigned samr_dissect_element_ValidatePasswordReq_req2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1592
static unsigned samr_dissect_element_ValidatePasswordReq_req3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1593
static unsigned samr_dissect_element_Connect_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1594
static unsigned samr_dissect_element_Connect_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1595
static unsigned samr_dissect_element_Connect_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1596
static unsigned samr_dissect_element_Connect_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1597
static unsigned samr_dissect_element_Connect_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1598
static unsigned samr_dissect_element_Close_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1599
static unsigned samr_dissect_element_Close_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1600
static unsigned samr_dissect_element_SetSecurity_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1601
static unsigned samr_dissect_element_SetSecurity_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1602
static unsigned samr_dissect_element_SetSecurity_sec_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1603
static unsigned samr_dissect_element_SetSecurity_sdbuf(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1604
static unsigned samr_dissect_element_SetSecurity_sdbuf_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1605
static unsigned samr_dissect_element_QuerySecurity_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1606
static unsigned samr_dissect_element_QuerySecurity_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1607
static unsigned samr_dissect_element_QuerySecurity_sec_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1608
static unsigned samr_dissect_element_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1609
static unsigned samr_dissect_element_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1610
static unsigned samr_dissect_element_QuerySecurity_sdbuf__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1611
static unsigned samr_dissect_element_Shutdown_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1612
static unsigned samr_dissect_element_Shutdown_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1613
static unsigned samr_dissect_element_LookupDomain_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1614
static unsigned samr_dissect_element_LookupDomain_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1615
static unsigned samr_dissect_element_LookupDomain_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1616
static unsigned samr_dissect_element_LookupDomain_domain_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1617
static unsigned samr_dissect_element_LookupDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1618
static unsigned samr_dissect_element_LookupDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1619
static unsigned samr_dissect_element_LookupDomain_sid__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1620
static unsigned samr_dissect_element_EnumDomains_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1621
static unsigned samr_dissect_element_EnumDomains_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1622
static unsigned samr_dissect_element_EnumDomains_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1623
static unsigned samr_dissect_element_EnumDomains_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1624
static unsigned samr_dissect_element_EnumDomains_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1625
static unsigned samr_dissect_element_EnumDomains_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1626
static unsigned samr_dissect_element_EnumDomains_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1627
static unsigned samr_dissect_element_EnumDomains_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1628
static unsigned samr_dissect_element_EnumDomains_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1629
static unsigned samr_dissect_element_EnumDomains_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1630
static unsigned samr_dissect_element_OpenDomain_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1631
static unsigned samr_dissect_element_OpenDomain_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1632
static unsigned samr_dissect_element_OpenDomain_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1633
static unsigned samr_dissect_element_OpenDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1634
static unsigned samr_dissect_element_OpenDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1635
static unsigned samr_dissect_element_OpenDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1636
static unsigned samr_dissect_element_OpenDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1637
static unsigned samr_dissect_element_QueryDomainInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1638
static unsigned samr_dissect_element_QueryDomainInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1639
static unsigned samr_dissect_element_QueryDomainInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1640
static unsigned samr_dissect_element_QueryDomainInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1641
static unsigned samr_dissect_element_QueryDomainInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1642
static unsigned samr_dissect_element_QueryDomainInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1643
static unsigned samr_dissect_element_SetDomainInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1644
static unsigned samr_dissect_element_SetDomainInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1645
static unsigned samr_dissect_element_SetDomainInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1646
static unsigned samr_dissect_element_SetDomainInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1647
static unsigned samr_dissect_element_SetDomainInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1648
static unsigned samr_dissect_element_CreateDomainGroup_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1649
static unsigned samr_dissect_element_CreateDomainGroup_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1650
static unsigned samr_dissect_element_CreateDomainGroup_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1651
static unsigned samr_dissect_element_CreateDomainGroup_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1652
static unsigned samr_dissect_element_CreateDomainGroup_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1653
static unsigned samr_dissect_element_CreateDomainGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1654
static unsigned samr_dissect_element_CreateDomainGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1655
static unsigned samr_dissect_element_CreateDomainGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1656
static unsigned samr_dissect_element_CreateDomainGroup_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1657
static unsigned samr_dissect_element_EnumDomainGroups_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1658
static unsigned samr_dissect_element_EnumDomainGroups_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1659
static unsigned samr_dissect_element_EnumDomainGroups_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1660
static unsigned samr_dissect_element_EnumDomainGroups_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1661
static unsigned samr_dissect_element_EnumDomainGroups_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1662
static unsigned samr_dissect_element_EnumDomainGroups_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1663
static unsigned samr_dissect_element_EnumDomainGroups_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1664
static unsigned samr_dissect_element_EnumDomainGroups_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1665
static unsigned samr_dissect_element_EnumDomainGroups_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1666
static unsigned samr_dissect_element_EnumDomainGroups_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1667
static unsigned samr_dissect_element_CreateUser_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1668
static unsigned samr_dissect_element_CreateUser_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1669
static unsigned samr_dissect_element_CreateUser_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1670
static unsigned samr_dissect_element_CreateUser_account_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1671
static unsigned samr_dissect_element_CreateUser_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1672
static unsigned samr_dissect_element_CreateUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1673
static unsigned samr_dissect_element_CreateUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1674
static unsigned samr_dissect_element_CreateUser_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1675
static unsigned samr_dissect_element_CreateUser_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1676
static unsigned samr_dissect_element_EnumDomainUsers_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1677
static unsigned samr_dissect_element_EnumDomainUsers_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1678
static unsigned samr_dissect_element_EnumDomainUsers_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1679
static unsigned samr_dissect_element_EnumDomainUsers_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1680
static unsigned samr_dissect_element_EnumDomainUsers_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1681
static unsigned samr_dissect_element_EnumDomainUsers_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1682
static unsigned samr_dissect_element_EnumDomainUsers_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1683
static unsigned samr_dissect_element_EnumDomainUsers_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1684
static unsigned samr_dissect_element_EnumDomainUsers_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1685
static unsigned samr_dissect_element_EnumDomainUsers_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1686
static unsigned samr_dissect_element_EnumDomainUsers_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1687
static unsigned samr_dissect_element_CreateDomAlias_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1688
static unsigned samr_dissect_element_CreateDomAlias_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1689
static unsigned samr_dissect_element_CreateDomAlias_alias_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1690
static unsigned samr_dissect_element_CreateDomAlias_alias_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1691
static unsigned samr_dissect_element_CreateDomAlias_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1692
static unsigned samr_dissect_element_CreateDomAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1693
static unsigned samr_dissect_element_CreateDomAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1694
static unsigned samr_dissect_element_CreateDomAlias_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1695
static unsigned samr_dissect_element_CreateDomAlias_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1696
static unsigned samr_dissect_element_EnumDomainAliases_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1697
static unsigned samr_dissect_element_EnumDomainAliases_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1698
static unsigned samr_dissect_element_EnumDomainAliases_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1699
static unsigned samr_dissect_element_EnumDomainAliases_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1700
static unsigned samr_dissect_element_EnumDomainAliases_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1701
static unsigned samr_dissect_element_EnumDomainAliases_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1702
static unsigned samr_dissect_element_EnumDomainAliases_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1703
static unsigned samr_dissect_element_EnumDomainAliases_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1704
static unsigned samr_dissect_element_EnumDomainAliases_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1705
static unsigned samr_dissect_element_EnumDomainAliases_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1706
static unsigned samr_dissect_element_GetAliasMembership_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1707
static unsigned samr_dissect_element_GetAliasMembership_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1708
static unsigned samr_dissect_element_GetAliasMembership_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1709
static unsigned samr_dissect_element_GetAliasMembership_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1710
static unsigned samr_dissect_element_GetAliasMembership_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1711
static unsigned samr_dissect_element_GetAliasMembership_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1712
static unsigned samr_dissect_element_LookupNames_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1713
static unsigned samr_dissect_element_LookupNames_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1714
static unsigned samr_dissect_element_LookupNames_num_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1715
static unsigned samr_dissect_element_LookupNames_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1716
static unsigned samr_dissect_element_LookupNames_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1717
static unsigned samr_dissect_element_LookupNames_names__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1718
static unsigned samr_dissect_element_LookupNames_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1719
static unsigned samr_dissect_element_LookupNames_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1720
static unsigned samr_dissect_element_LookupNames_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1721
static unsigned samr_dissect_element_LookupNames_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1722
static unsigned samr_dissect_element_LookupRids_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1723
static unsigned samr_dissect_element_LookupRids_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1724
static unsigned samr_dissect_element_LookupRids_num_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1725
static unsigned samr_dissect_element_LookupRids_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1726
static unsigned samr_dissect_element_LookupRids_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1727
static unsigned samr_dissect_element_LookupRids_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1728
static unsigned samr_dissect_element_LookupRids_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1729
static unsigned samr_dissect_element_LookupRids_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1730
static unsigned samr_dissect_element_LookupRids_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1731
static unsigned samr_dissect_element_LookupRids_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1732
static unsigned samr_dissect_element_OpenGroup_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1733
static unsigned samr_dissect_element_OpenGroup_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1734
static unsigned samr_dissect_element_OpenGroup_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1735
static unsigned samr_dissect_element_OpenGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1736
static unsigned samr_dissect_element_OpenGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1737
static unsigned samr_dissect_element_OpenGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1738
static unsigned samr_dissect_element_QueryGroupInfo_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1739
static unsigned samr_dissect_element_QueryGroupInfo_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1740
static unsigned samr_dissect_element_QueryGroupInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1741
static unsigned samr_dissect_element_QueryGroupInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1742
static unsigned samr_dissect_element_QueryGroupInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1743
static unsigned samr_dissect_element_QueryGroupInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1744
static unsigned samr_dissect_element_SetGroupInfo_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1745
static unsigned samr_dissect_element_SetGroupInfo_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1746
static unsigned samr_dissect_element_SetGroupInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1747
static unsigned samr_dissect_element_SetGroupInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1748
static unsigned samr_dissect_element_SetGroupInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1749
static unsigned samr_dissect_element_AddGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1750
static unsigned samr_dissect_element_AddGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1751
static unsigned samr_dissect_element_AddGroupMember_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1752
static unsigned samr_dissect_element_AddGroupMember_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1753
static unsigned samr_dissect_element_DeleteDomainGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1754
static unsigned samr_dissect_element_DeleteDomainGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1755
static unsigned samr_dissect_element_DeleteGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1756
static unsigned samr_dissect_element_DeleteGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1757
static unsigned samr_dissect_element_DeleteGroupMember_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1758
static unsigned samr_dissect_element_QueryGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1759
static unsigned samr_dissect_element_QueryGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1760
static unsigned samr_dissect_element_QueryGroupMember_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1761
static unsigned samr_dissect_element_QueryGroupMember_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1762
static unsigned samr_dissect_element_QueryGroupMember_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1763
static unsigned samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1764
static unsigned samr_dissect_element_SetMemberAttributesOfGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1765
static unsigned samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1766
static unsigned samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1767
static unsigned samr_dissect_element_OpenAlias_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1768
static unsigned samr_dissect_element_OpenAlias_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1769
static unsigned samr_dissect_element_OpenAlias_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1770
static unsigned samr_dissect_element_OpenAlias_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1771
static unsigned samr_dissect_element_OpenAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1772
static unsigned samr_dissect_element_OpenAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1773
static unsigned samr_dissect_element_QueryAliasInfo_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1774
static unsigned samr_dissect_element_QueryAliasInfo_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1775
static unsigned samr_dissect_element_QueryAliasInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1776
static unsigned samr_dissect_element_QueryAliasInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1777
static unsigned samr_dissect_element_QueryAliasInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1778
static unsigned samr_dissect_element_QueryAliasInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1779
static unsigned samr_dissect_element_SetAliasInfo_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1780
static unsigned samr_dissect_element_SetAliasInfo_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1781
static unsigned samr_dissect_element_SetAliasInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1782
static unsigned samr_dissect_element_SetAliasInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1783
static unsigned samr_dissect_element_SetAliasInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1784
static unsigned samr_dissect_element_DeleteDomAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1785
static unsigned samr_dissect_element_DeleteDomAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1786
static unsigned samr_dissect_element_AddAliasMember_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1787
static unsigned samr_dissect_element_AddAliasMember_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1788
static unsigned samr_dissect_element_AddAliasMember_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1789
static unsigned samr_dissect_element_AddAliasMember_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1790
static unsigned samr_dissect_element_DeleteAliasMember_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1791
static unsigned samr_dissect_element_DeleteAliasMember_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1792
static unsigned samr_dissect_element_DeleteAliasMember_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1793
static unsigned samr_dissect_element_DeleteAliasMember_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1794
static unsigned samr_dissect_element_GetMembersInAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1795
static unsigned samr_dissect_element_GetMembersInAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1796
static unsigned samr_dissect_element_GetMembersInAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1797
static unsigned samr_dissect_element_GetMembersInAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1798
static unsigned samr_dissect_element_OpenUser_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1799
static unsigned samr_dissect_element_OpenUser_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1800
static unsigned samr_dissect_element_OpenUser_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1801
static unsigned samr_dissect_element_OpenUser_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1802
static unsigned samr_dissect_element_OpenUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1803
static unsigned samr_dissect_element_OpenUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1804
static unsigned samr_dissect_element_DeleteUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1805
static unsigned samr_dissect_element_DeleteUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1806
static unsigned samr_dissect_element_QueryUserInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1807
static unsigned samr_dissect_element_QueryUserInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1808
static unsigned samr_dissect_element_QueryUserInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1809
static unsigned samr_dissect_element_QueryUserInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1810
static unsigned samr_dissect_element_QueryUserInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1811
static unsigned samr_dissect_element_QueryUserInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1812
static unsigned samr_dissect_element_SetUserInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1813
static unsigned samr_dissect_element_SetUserInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1814
static unsigned samr_dissect_element_SetUserInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1815
static unsigned samr_dissect_element_SetUserInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1816
static unsigned samr_dissect_element_SetUserInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1817
static unsigned samr_dissect_element_ChangePasswordUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1818
static unsigned samr_dissect_element_ChangePasswordUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1819
static unsigned samr_dissect_element_ChangePasswordUser_lm_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1820
static unsigned samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1821
static unsigned samr_dissect_element_ChangePasswordUser_old_lm_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1822
static unsigned samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1823
static unsigned samr_dissect_element_ChangePasswordUser_new_lm_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1824
static unsigned samr_dissect_element_ChangePasswordUser_nt_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1825
static unsigned samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1826
static unsigned samr_dissect_element_ChangePasswordUser_old_nt_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1827
static unsigned samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1828
static unsigned samr_dissect_element_ChangePasswordUser_new_nt_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1829
static unsigned samr_dissect_element_ChangePasswordUser_cross1_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1830
static unsigned samr_dissect_element_ChangePasswordUser_nt_cross(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1831
static unsigned samr_dissect_element_ChangePasswordUser_nt_cross_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1832
static unsigned samr_dissect_element_ChangePasswordUser_cross2_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1833
static unsigned samr_dissect_element_ChangePasswordUser_lm_cross(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1834
static unsigned samr_dissect_element_ChangePasswordUser_lm_cross_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1835
static unsigned samr_dissect_element_GetGroupsForUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1836
static unsigned samr_dissect_element_GetGroupsForUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1837
static unsigned samr_dissect_element_GetGroupsForUser_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1838
static unsigned samr_dissect_element_GetGroupsForUser_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1839
static unsigned samr_dissect_element_GetGroupsForUser_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1840
static unsigned samr_dissect_element_QueryDisplayInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1841
static unsigned samr_dissect_element_QueryDisplayInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1842
static unsigned samr_dissect_element_QueryDisplayInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1843
static unsigned samr_dissect_element_QueryDisplayInfo_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1844
static unsigned samr_dissect_element_QueryDisplayInfo_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1845
static unsigned samr_dissect_element_QueryDisplayInfo_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1846
static unsigned samr_dissect_element_QueryDisplayInfo_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1847
static unsigned samr_dissect_element_QueryDisplayInfo_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1848
static unsigned samr_dissect_element_QueryDisplayInfo_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1849
static unsigned samr_dissect_element_QueryDisplayInfo_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1850
static unsigned samr_dissect_element_QueryDisplayInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1851
static unsigned samr_dissect_element_QueryDisplayInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1852
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1853
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1854
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1855
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1856
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1857
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1858
static unsigned samr_dissect_element_GetDisplayEnumerationIndex_idx_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1859
static unsigned samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1860
static unsigned samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1861
static unsigned samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1862
static unsigned samr_dissect_element_TestPrivateFunctionsUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1863
static unsigned samr_dissect_element_GetUserPwInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1864
static unsigned samr_dissect_element_GetUserPwInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1865
static unsigned samr_dissect_element_GetUserPwInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1866
static unsigned samr_dissect_element_GetUserPwInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1867
static unsigned samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1868
static unsigned samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1869
static unsigned samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1870
static unsigned samr_dissect_element_RemoveMemberFromForeignDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1871
static unsigned samr_dissect_element_QueryDomainInfo2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1872
static unsigned samr_dissect_element_QueryDomainInfo2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1873
static unsigned samr_dissect_element_QueryDomainInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1874
static unsigned samr_dissect_element_QueryDomainInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1875
static unsigned samr_dissect_element_QueryDomainInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1876
static unsigned samr_dissect_element_QueryDomainInfo2_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1877
static unsigned samr_dissect_element_QueryUserInfo2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1878
static unsigned samr_dissect_element_QueryUserInfo2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1879
static unsigned samr_dissect_element_QueryUserInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1880
static unsigned samr_dissect_element_QueryUserInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1881
static unsigned samr_dissect_element_QueryUserInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1882
static unsigned samr_dissect_element_QueryUserInfo2_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1883
static unsigned samr_dissect_element_QueryDisplayInfo2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1884
static unsigned samr_dissect_element_QueryDisplayInfo2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1885
static unsigned samr_dissect_element_QueryDisplayInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1886
static unsigned samr_dissect_element_QueryDisplayInfo2_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1887
static unsigned samr_dissect_element_QueryDisplayInfo2_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1888
static unsigned samr_dissect_element_QueryDisplayInfo2_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1889
static unsigned samr_dissect_element_QueryDisplayInfo2_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1890
static unsigned samr_dissect_element_QueryDisplayInfo2_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1891
static unsigned samr_dissect_element_QueryDisplayInfo2_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1892
static unsigned samr_dissect_element_QueryDisplayInfo2_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1893
static unsigned samr_dissect_element_QueryDisplayInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1894
static unsigned samr_dissect_element_QueryDisplayInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1895
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1896
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1897
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1898
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1899
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1900
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1901
static unsigned samr_dissect_element_GetDisplayEnumerationIndex2_idx_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1902
static unsigned samr_dissect_element_CreateUser2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1903
static unsigned samr_dissect_element_CreateUser2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1904
static unsigned samr_dissect_element_CreateUser2_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1905
static unsigned samr_dissect_element_CreateUser2_account_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1906
static unsigned samr_dissect_element_CreateUser2_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1907
static unsigned samr_dissect_element_CreateUser2_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1908
static unsigned samr_dissect_element_CreateUser2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1909
static unsigned samr_dissect_element_CreateUser2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1910
static unsigned samr_dissect_element_CreateUser2_access_granted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1911
static unsigned samr_dissect_element_CreateUser2_access_granted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1912
static unsigned samr_dissect_element_CreateUser2_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1913
static unsigned samr_dissect_element_CreateUser2_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1914
static unsigned samr_dissect_element_QueryDisplayInfo3_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1915
static unsigned samr_dissect_element_QueryDisplayInfo3_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1916
static unsigned samr_dissect_element_QueryDisplayInfo3_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1917
static unsigned samr_dissect_element_QueryDisplayInfo3_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1918
static unsigned samr_dissect_element_QueryDisplayInfo3_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1919
static unsigned samr_dissect_element_QueryDisplayInfo3_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1920
static unsigned samr_dissect_element_QueryDisplayInfo3_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1921
static unsigned samr_dissect_element_QueryDisplayInfo3_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1922
static unsigned samr_dissect_element_QueryDisplayInfo3_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1923
static unsigned samr_dissect_element_QueryDisplayInfo3_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1924
static unsigned samr_dissect_element_QueryDisplayInfo3_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1925
static unsigned samr_dissect_element_QueryDisplayInfo3_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1926
static unsigned samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1927
static unsigned samr_dissect_element_AddMultipleMembersToAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1928
static unsigned samr_dissect_element_AddMultipleMembersToAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1929
static unsigned samr_dissect_element_AddMultipleMembersToAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1930
static unsigned samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1931
static unsigned samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1932
static unsigned samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1933
static unsigned samr_dissect_element_RemoveMultipleMembersFromAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1934
static unsigned samr_dissect_element_OemChangePasswordUser2_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1935
static unsigned samr_dissect_element_OemChangePasswordUser2_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1936
static unsigned samr_dissect_element_OemChangePasswordUser2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1937
static unsigned samr_dissect_element_OemChangePasswordUser2_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1938
static unsigned samr_dissect_element_OemChangePasswordUser2_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1939
static unsigned samr_dissect_element_OemChangePasswordUser2_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1940
static unsigned samr_dissect_element_OemChangePasswordUser2_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1941
static unsigned samr_dissect_element_OemChangePasswordUser2_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1942
static unsigned samr_dissect_element_ChangePasswordUser2_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1943
static unsigned samr_dissect_element_ChangePasswordUser2_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1944
static unsigned samr_dissect_element_ChangePasswordUser2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1945
static unsigned samr_dissect_element_ChangePasswordUser2_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1946
static unsigned samr_dissect_element_ChangePasswordUser2_nt_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1947
static unsigned samr_dissect_element_ChangePasswordUser2_nt_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1948
static unsigned samr_dissect_element_ChangePasswordUser2_nt_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1949
static unsigned samr_dissect_element_ChangePasswordUser2_nt_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1950
static unsigned samr_dissect_element_ChangePasswordUser2_lm_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1951
static unsigned samr_dissect_element_ChangePasswordUser2_lm_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1952
static unsigned samr_dissect_element_ChangePasswordUser2_lm_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1953
static unsigned samr_dissect_element_ChangePasswordUser2_lm_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1954
static unsigned samr_dissect_element_ChangePasswordUser2_lm_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1955
static unsigned samr_dissect_element_GetDomPwInfo_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1956
static unsigned samr_dissect_element_GetDomPwInfo_domain_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1957
static unsigned samr_dissect_element_GetDomPwInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1958
static unsigned samr_dissect_element_GetDomPwInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1959
static unsigned samr_dissect_element_Connect2_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1960
static unsigned samr_dissect_element_Connect2_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1961
static unsigned samr_dissect_element_Connect2_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1962
static unsigned samr_dissect_element_Connect2_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1963
static unsigned samr_dissect_element_Connect2_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1964
static unsigned samr_dissect_element_SetUserInfo2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1965
static unsigned samr_dissect_element_SetUserInfo2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1966
static unsigned samr_dissect_element_SetUserInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1967
static unsigned samr_dissect_element_SetUserInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1968
static unsigned samr_dissect_element_SetUserInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1969
static unsigned samr_dissect_element_SetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1970
static unsigned samr_dissect_element_SetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1971
static unsigned samr_dissect_element_SetBootKeyInformation_unknown1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1972
static unsigned samr_dissect_element_SetBootKeyInformation_unknown2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1973
static unsigned samr_dissect_element_SetBootKeyInformation_unknown3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1974
static unsigned samr_dissect_element_GetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1975
static unsigned samr_dissect_element_GetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1976
static unsigned samr_dissect_element_GetBootKeyInformation_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1977
static unsigned samr_dissect_element_GetBootKeyInformation_unknown_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1978
static unsigned samr_dissect_element_Connect3_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1979
static unsigned samr_dissect_element_Connect3_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1980
static unsigned samr_dissect_element_Connect3_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1981
static unsigned samr_dissect_element_Connect3_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1982
static unsigned samr_dissect_element_Connect3_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1983
static unsigned samr_dissect_element_Connect3_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1984
static unsigned samr_dissect_element_Connect4_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1985
static unsigned samr_dissect_element_Connect4_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1986
static unsigned samr_dissect_element_Connect4_client_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1987
static unsigned samr_dissect_element_Connect4_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1988
static unsigned samr_dissect_element_Connect4_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1989
static unsigned samr_dissect_element_Connect4_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1990
static unsigned samr_dissect_element_ChangePasswordUser3_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1991
static unsigned samr_dissect_element_ChangePasswordUser3_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1992
static unsigned samr_dissect_element_ChangePasswordUser3_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1993
static unsigned samr_dissect_element_ChangePasswordUser3_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1994
static unsigned samr_dissect_element_ChangePasswordUser3_nt_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1995
static unsigned samr_dissect_element_ChangePasswordUser3_nt_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1996
static unsigned samr_dissect_element_ChangePasswordUser3_nt_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1997
static unsigned samr_dissect_element_ChangePasswordUser3_nt_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1998
static unsigned samr_dissect_element_ChangePasswordUser3_lm_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1999
static unsigned samr_dissect_element_ChangePasswordUser3_lm_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2000
static unsigned samr_dissect_element_ChangePasswordUser3_lm_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2001
static unsigned samr_dissect_element_ChangePasswordUser3_lm_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2002
static unsigned samr_dissect_element_ChangePasswordUser3_lm_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2003
static unsigned samr_dissect_element_ChangePasswordUser3_password3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2004
static unsigned samr_dissect_element_ChangePasswordUser3_password3_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2005
static unsigned samr_dissect_element_ChangePasswordUser3_dominfo(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2006
static unsigned samr_dissect_element_ChangePasswordUser3_dominfo_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2007
static unsigned samr_dissect_element_ChangePasswordUser3_dominfo__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2008
static unsigned samr_dissect_element_ChangePasswordUser3_reject(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2009
static unsigned samr_dissect_element_ChangePasswordUser3_reject_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2010
static unsigned samr_dissect_element_ChangePasswordUser3_reject__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2011
static unsigned samr_dissect_element_Connect5_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2012
static unsigned samr_dissect_element_Connect5_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2013
static unsigned samr_dissect_element_Connect5_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2014
static unsigned samr_dissect_element_Connect5_level_in(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2015
static unsigned samr_dissect_element_Connect5_info_in(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2016
static unsigned samr_dissect_element_Connect5_info_in_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2017
static unsigned samr_dissect_element_Connect5_level_out(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2018
static unsigned samr_dissect_element_Connect5_level_out_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2019
static unsigned samr_dissect_element_Connect5_info_out(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2020
static unsigned samr_dissect_element_Connect5_info_out_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2021
static unsigned samr_dissect_element_Connect5_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2022
static unsigned samr_dissect_element_Connect5_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2023
static unsigned samr_dissect_element_RidToSid_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2024
static unsigned samr_dissect_element_RidToSid_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2025
static unsigned samr_dissect_element_RidToSid_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2026
static unsigned samr_dissect_element_RidToSid_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2027
static unsigned samr_dissect_element_RidToSid_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2028
static unsigned samr_dissect_element_RidToSid_sid__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2029
static unsigned samr_dissect_element_SetDsrmPassword_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2030
static unsigned samr_dissect_element_SetDsrmPassword_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2031
static unsigned samr_dissect_element_SetDsrmPassword_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2032
static unsigned samr_dissect_element_SetDsrmPassword_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2033
static unsigned samr_dissect_element_SetDsrmPassword_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2034
static unsigned samr_dissect_element_ValidatePassword_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2035
static unsigned samr_dissect_element_ValidatePassword_req(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2036
static unsigned samr_dissect_element_ValidatePassword_req_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2037
static unsigned samr_dissect_element_ValidatePassword_rep(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2038
static unsigned samr_dissect_element_ValidatePassword_rep_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2039
static unsigned samr_dissect_element_ValidatePassword_rep__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2040
static unsigned samr_dissect_element_ChangePasswordUser4_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2041
static unsigned samr_dissect_element_ChangePasswordUser4_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2042
static unsigned samr_dissect_element_ChangePasswordUser4_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2043
static unsigned samr_dissect_element_ChangePasswordUser4_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2044
static unsigned samr_dissect_element_ChangePasswordUser4_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2045
static unsigned samr_dissect_element_ChangePasswordUser4_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2046
static void
2047
samr_connect_specific_rights(tvbuff_t *tvb, unsigned offset, proto_tree *tree, uint32_t access)
2048
0
{
2049
0
  static int* const access_flags[] = {
2050
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN,
2051
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS,
2052
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN,
2053
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER,
2054
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER,
2055
0
    &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER,
2056
0
    NULL
2057
0
  };
2058
0
  proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2059
0
}
2060
static struct access_mask_info samr_connect_access_mask_info = {
2061
  "SAMR Connect",     /* Name of specific rights */
2062
  samr_connect_specific_rights, /* Dissection function */
2063
  NULL,       /* Generic mapping table */
2064
  NULL        /* Standard mapping table */
2065
};
2066
unsigned
2067
samr_dissect_bitmap_ConnectAccessMask(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2068
0
{
2069
0
  offset = dissect_nt_access_mask(
2070
0
    tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask,
2071
0
    &samr_connect_access_mask_info, NULL);
2072
0
  return offset;
2073
0
}
2074
static void
2075
samr_alias_specific_rights(tvbuff_t *tvb, unsigned offset, proto_tree *tree, uint32_t access)
2076
0
{
2077
0
  static int* const access_flags[] = {
2078
0
    &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER,
2079
0
    &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER,
2080
0
    &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS,
2081
0
    &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO,
2082
0
    &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO,
2083
0
    NULL
2084
0
  };
2085
0
  proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2086
0
}
2087
static struct access_mask_info samr_alias_access_mask_info = {
2088
  "SAMR Alias",     /* Name of specific rights */
2089
  samr_alias_specific_rights, /* Dissection function */
2090
  NULL,       /* Generic mapping table */
2091
  NULL        /* Standard mapping table */
2092
};
2093
unsigned
2094
samr_dissect_bitmap_AliasAccessMask(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2095
0
{
2096
0
  offset = dissect_nt_access_mask(
2097
0
    tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask,
2098
0
    &samr_alias_access_mask_info, NULL);
2099
0
  return offset;
2100
0
}
2101
static void
2102
samr_group_specific_rights(tvbuff_t *tvb, unsigned offset, proto_tree *tree, uint32_t access)
2103
0
{
2104
0
  static int* const access_flags[] = {
2105
0
    &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS,
2106
0
    &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER,
2107
0
    &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER,
2108
0
    &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO,
2109
0
    &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO,
2110
0
    NULL
2111
0
  };
2112
0
  proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2113
0
}
2114
static struct access_mask_info samr_group_access_mask_info = {
2115
  "SAMR Group",     /* Name of specific rights */
2116
  samr_group_specific_rights, /* Dissection function */
2117
  NULL,       /* Generic mapping table */
2118
  NULL        /* Standard mapping table */
2119
};
2120
unsigned
2121
samr_dissect_bitmap_GroupAccessMask(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2122
0
{
2123
0
  offset = dissect_nt_access_mask(
2124
0
    tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask,
2125
0
    &samr_group_access_mask_info, NULL);
2126
0
  return offset;
2127
0
}
2128
static void
2129
samr_domain_specific_rights(tvbuff_t *tvb, unsigned offset, proto_tree *tree, uint32_t access)
2130
0
{
2131
0
  static int* const access_flags[] = {
2132
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1,
2133
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1,
2134
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2,
2135
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2,
2136
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER,
2137
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP,
2138
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS,
2139
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS,
2140
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS,
2141
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT,
2142
0
    &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3,
2143
0
    NULL
2144
0
  };
2145
0
  proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2146
0
}
2147
static struct access_mask_info samr_domain_access_mask_info = {
2148
  "SAMR Domain",      /* Name of specific rights */
2149
  samr_domain_specific_rights,  /* Dissection function */
2150
  NULL,       /* Generic mapping table */
2151
  NULL        /* Standard mapping table */
2152
};
2153
unsigned
2154
samr_dissect_bitmap_DomainAccessMask(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2155
0
{
2156
0
  offset = dissect_nt_access_mask(
2157
0
    tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask,
2158
0
    &samr_domain_access_mask_info, NULL);
2159
0
  return offset;
2160
0
}
2161
static void
2162
samr_user_specific_rights(tvbuff_t *tvb, unsigned offset, proto_tree *tree, uint32_t access)
2163
0
{
2164
0
  static int* const access_flags[] = {
2165
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP,
2166
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP,
2167
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS,
2168
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD,
2169
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD,
2170
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES,
2171
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES,
2172
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO,
2173
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM,
2174
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE,
2175
0
    &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC,
2176
0
    NULL
2177
0
  };
2178
0
  proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2179
0
}
2180
static struct access_mask_info samr_user_access_mask_info = {
2181
  "SAMR User",      /* Name of specific rights */
2182
  samr_user_specific_rights,  /* Dissection function */
2183
  NULL,       /* Generic mapping table */
2184
  NULL        /* Standard mapping table */
2185
};
2186
unsigned
2187
samr_dissect_bitmap_UserAccessMask(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2188
0
{
2189
0
  offset = dissect_nt_access_mask(
2190
0
    tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask,
2191
0
    &samr_user_access_mask_info, NULL);
2192
0
  return offset;
2193
0
}
2194
static unsigned
2195
cnf_dissect_lsa_AsciiString(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, uint32_t param _U_, int hfindex)
2196
0
{
2197
0
  offset = dissect_ndr_counted_ascii_string(tvb, offset, pinfo, tree, di, drep,
2198
0
    hfindex, 0);
2199
0
  return offset;
2200
0
}
2201
static unsigned
2202
cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2203
0
{
2204
0
  uint64_t len;
2205
0
  e_ctx_hnd *polhnd = NULL;
2206
0
  dcerpc_call_value *dcv = NULL;
2207
0
  uint32_t type=0;
2208
0
  struct access_mask_info *ami=NULL;
2209
0
  if(di->conformant_run){
2210
    /*just a run to handle conformant arrays, nothing to dissect */
2211
0
    return offset;
2212
0
  }
2213
0
  offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2214
0
    hf_samr_sec_desc_buf_len, &len);
2215
0
  dcv = (dcerpc_call_value *)di->call_data;
2216
0
  if(dcv){
2217
0
    polhnd = dcv->pol;
2218
0
  }
2219
0
  if(polhnd){
2220
0
    dcerpc_fetch_polhnd_data(polhnd, NULL, &type, NULL, NULL,
2221
0
          pinfo->num);
2222
0
  }
2223
0
  switch(type){
2224
0
  case PIDL_POLHND_TYPE_SAMR_USER:
2225
0
    ami=&samr_user_access_mask_info;
2226
0
    break;
2227
0
  case PIDL_POLHND_TYPE_SAMR_CONNECT:
2228
0
    ami=&samr_connect_access_mask_info;
2229
0
    break;
2230
0
  case PIDL_POLHND_TYPE_SAMR_DOMAIN:
2231
0
    ami=&samr_domain_access_mask_info;
2232
0
    break;
2233
0
  case PIDL_POLHND_TYPE_SAMR_GROUP:
2234
0
    ami=&samr_group_access_mask_info;
2235
0
    break;
2236
0
  case PIDL_POLHND_TYPE_SAMR_ALIAS:
2237
0
    ami=&samr_alias_access_mask_info;
2238
0
    break;
2239
0
  }
2240
0
  dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, true, (int)len, ami);
2241
0
  offset += (int)len;
2242
0
  return offset;
2243
0
}
2244
static unsigned
2245
cnf_dissect_sec_desc_buf(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2246
0
{
2247
0
  uint64_t len;
2248
0
  if(di->conformant_run){
2249
    /*just a run to handle conformant arrays, nothing to dissect */
2250
0
    return offset;
2251
0
  }
2252
0
  offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2253
0
    hf_samr_sec_desc_buf_len, &len);
2254
0
        offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
2255
0
                       cnf_dissect_sec_desc_buf_, NDR_POINTER_UNIQUE,
2256
0
                       "SAM SECURITY DESCRIPTOR data:", -1);
2257
0
  return offset;
2258
0
}
2259
static unsigned
2260
cnf_dissect_dom_sid2(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2261
0
{
2262
0
  offset = dissect_ndr_nt_SID(tvb, offset, pinfo, tree, di, drep);
2263
0
  return offset;
2264
0
}
2265
static unsigned
2266
cnf_dissect_lsa_SidArray(tvbuff_t *tvb, unsigned offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2267
0
{
2268
0
  offset = dissect_ndr_nt_PSID_ARRAY(tvb, offset, pinfo, tree, di, drep);
2269
0
  return offset;
2270
0
}
2271
static unsigned
2272
cnf_dissect_samr_security_secinfo(tvbuff_t *tvb, unsigned offset, packet_info *pinfo _U_, proto_tree *tree, uint8_t *drep _U_)
2273
0
{
2274
0
  offset = dissect_nt_security_information(tvb, offset, tree);
2275
0
  return offset;
2276
0
}
2277
2278
2279
/* IDL: struct { */
2280
/* IDL:   uint32 count; */
2281
/* IDL:   [size_is(count)] [unique(1)] lsa_String *names; */
2282
/* IDL: } */
2283
2284
static unsigned
2285
samr_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2286
0
{
2287
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_lsa_Strings_count, 0);
2288
2289
0
  return offset;
2290
0
}
2291
2292
static unsigned
2293
samr_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2294
0
{
2295
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_lsa_Strings_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_String)",hf_samr_lsa_Strings_names);
2296
2297
0
  return offset;
2298
0
}
2299
2300
static unsigned
2301
samr_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2302
0
{
2303
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_lsa_Strings_names__);
2304
2305
0
  return offset;
2306
0
}
2307
2308
static unsigned
2309
samr_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2310
0
{
2311
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_lsa_Strings_names);
2312
2313
0
  return offset;
2314
0
}
2315
2316
unsigned
2317
samr_dissect_struct_lsa_Strings(tvbuff_t *tvb _U_, unsigned 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
0
{
2319
0
  proto_item *item = NULL;
2320
0
  proto_tree *tree = NULL;
2321
0
  unsigned old_offset;
2322
2323
0
  ALIGN_TO_5_BYTES;
2324
2325
0
  old_offset = offset;
2326
2327
0
  if (parent_tree) {
2328
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2329
0
    tree = proto_item_add_subtree(item, ett_samr_lsa_Strings);
2330
0
  }
2331
2332
0
  offset = samr_dissect_element_lsa_Strings_count(tvb, offset, pinfo, tree, di, drep);
2333
2334
0
  offset = samr_dissect_element_lsa_Strings_names(tvb, offset, pinfo, tree, di, drep);
2335
2336
2337
0
  proto_item_set_len(item, offset-old_offset);
2338
2339
2340
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2341
0
    ALIGN_TO_5_BYTES;
2342
0
  }
2343
2344
0
  return offset;
2345
0
}
2346
2347
2348
/* IDL: enum { */
2349
/* IDL:   SID_NAME_USE_NONE=0, */
2350
/* IDL:   SID_NAME_USER=1, */
2351
/* IDL:   SID_NAME_DOM_GRP=2, */
2352
/* IDL:   SID_NAME_DOMAIN=3, */
2353
/* IDL:   SID_NAME_ALIAS=4, */
2354
/* IDL:   SID_NAME_WKN_GRP=5, */
2355
/* IDL:   SID_NAME_DELETED=6, */
2356
/* IDL:   SID_NAME_INVALID=7, */
2357
/* IDL:   SID_NAME_UNKNOWN=8, */
2358
/* IDL:   SID_NAME_COMPUTER=9, */
2359
/* IDL: } */
2360
2361
unsigned
2362
samr_dissect_enum_lsa_SidType(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2363
0
{
2364
0
  uint32_t parameter=0;
2365
0
  if (param) {
2366
0
    parameter = *param;
2367
0
  }
2368
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2369
0
  if (param) {
2370
0
    *param = parameter;
2371
0
  }
2372
0
  return offset;
2373
0
}
2374
2375
2376
/* IDL: bitmap { */
2377
/* IDL:   ACB_DISABLED =  0x00000001 , */
2378
/* IDL:   ACB_HOMDIRREQ =  0x00000002 , */
2379
/* IDL:   ACB_PWNOTREQ =  0x00000004 , */
2380
/* IDL:   ACB_TEMPDUP =  0x00000008 , */
2381
/* IDL:   ACB_NORMAL =  0x00000010 , */
2382
/* IDL:   ACB_MNS =  0x00000020 , */
2383
/* IDL:   ACB_DOMTRUST =  0x00000040 , */
2384
/* IDL:   ACB_WSTRUST =  0x00000080 , */
2385
/* IDL:   ACB_SVRTRUST =  0x00000100 , */
2386
/* IDL:   ACB_PWNOEXP =  0x00000200 , */
2387
/* IDL:   ACB_AUTOLOCK =  0x00000400 , */
2388
/* IDL:   ACB_ENC_TXT_PWD_ALLOWED =  0x00000800 , */
2389
/* IDL:   ACB_SMARTCARD_REQUIRED =  0x00001000 , */
2390
/* IDL:   ACB_TRUSTED_FOR_DELEGATION =  0x00002000 , */
2391
/* IDL:   ACB_NOT_DELEGATED =  0x00004000 , */
2392
/* IDL:   ACB_USE_DES_KEY_ONLY =  0x00008000 , */
2393
/* IDL:   ACB_DONT_REQUIRE_PREAUTH =  0x00010000 , */
2394
/* IDL:   ACB_PW_EXPIRED =  0x00020000 , */
2395
/* IDL:   ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION =  0x00040000 , */
2396
/* IDL:   ACB_NO_AUTH_DATA_REQD =  0x00080000 , */
2397
/* IDL:   ACB_PARTIAL_SECRETS_ACCOUNT =  0x00100000 , */
2398
/* IDL:   ACB_USE_AES_KEYS =  0x00200000 , */
2399
/* IDL: } */
2400
2401
unsigned
2402
samr_dissect_bitmap_AcctFlags(tvbuff_t *tvb _U_, unsigned 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_)
2403
0
{
2404
0
  proto_item *item;
2405
0
  static int * const samr_samr_AcctFlags_fields[] = {
2406
0
    &hf_samr_samr_AcctFlags_ACB_DISABLED,
2407
0
    &hf_samr_samr_AcctFlags_ACB_HOMDIRREQ,
2408
0
    &hf_samr_samr_AcctFlags_ACB_PWNOTREQ,
2409
0
    &hf_samr_samr_AcctFlags_ACB_TEMPDUP,
2410
0
    &hf_samr_samr_AcctFlags_ACB_NORMAL,
2411
0
    &hf_samr_samr_AcctFlags_ACB_MNS,
2412
0
    &hf_samr_samr_AcctFlags_ACB_DOMTRUST,
2413
0
    &hf_samr_samr_AcctFlags_ACB_WSTRUST,
2414
0
    &hf_samr_samr_AcctFlags_ACB_SVRTRUST,
2415
0
    &hf_samr_samr_AcctFlags_ACB_PWNOEXP,
2416
0
    &hf_samr_samr_AcctFlags_ACB_AUTOLOCK,
2417
0
    &hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED,
2418
0
    &hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED,
2419
0
    &hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION,
2420
0
    &hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED,
2421
0
    &hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY,
2422
0
    &hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH,
2423
0
    &hf_samr_samr_AcctFlags_ACB_PW_EXPIRED,
2424
0
    &hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION,
2425
0
    &hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD,
2426
0
    &hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT,
2427
0
    &hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS,
2428
0
    NULL
2429
0
  };
2430
0
  uint32_t flags;
2431
0
  ALIGN_TO_4_BYTES;
2432
2433
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
2434
0
        ett_samr_samr_AcctFlags, samr_samr_AcctFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
2435
2436
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
2437
2438
0
  if (!flags)
2439
0
    proto_item_append_text(item, ": (No values set)");
2440
2441
0
  if (flags & (~0x003fffff)) {
2442
0
    flags &= (~0x003fffff);
2443
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2444
0
  }
2445
2446
0
  return offset;
2447
0
}
2448
2449
2450
/* IDL: bitmap { */
2451
/* IDL:   SAMR_ACCESS_CONNECT_TO_SERVER =  0x00000001 , */
2452
/* IDL:   SAMR_ACCESS_SHUTDOWN_SERVER =  0x00000002 , */
2453
/* IDL:   SAMR_ACCESS_INITIALIZE_SERVER =  0x00000004 , */
2454
/* IDL:   SAMR_ACCESS_CREATE_DOMAIN =  0x00000008 , */
2455
/* IDL:   SAMR_ACCESS_ENUM_DOMAINS =  0x00000010 , */
2456
/* IDL:   SAMR_ACCESS_LOOKUP_DOMAIN =  0x00000020 , */
2457
/* IDL: } */
2458
2459
2460
/* IDL: bitmap { */
2461
/* IDL:   SAMR_USER_ACCESS_GET_NAME_ETC =  0x00000001 , */
2462
/* IDL:   SAMR_USER_ACCESS_GET_LOCALE =  0x00000002 , */
2463
/* IDL:   SAMR_USER_ACCESS_SET_LOC_COM =  0x00000004 , */
2464
/* IDL:   SAMR_USER_ACCESS_GET_LOGONINFO =  0x00000008 , */
2465
/* IDL:   SAMR_USER_ACCESS_GET_ATTRIBUTES =  0x00000010 , */
2466
/* IDL:   SAMR_USER_ACCESS_SET_ATTRIBUTES =  0x00000020 , */
2467
/* IDL:   SAMR_USER_ACCESS_CHANGE_PASSWORD =  0x00000040 , */
2468
/* IDL:   SAMR_USER_ACCESS_SET_PASSWORD =  0x00000080 , */
2469
/* IDL:   SAMR_USER_ACCESS_GET_GROUPS =  0x00000100 , */
2470
/* IDL:   SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP =  0x00000200 , */
2471
/* IDL:   SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP =  0x00000400 , */
2472
/* IDL: } */
2473
2474
2475
/* IDL: bitmap { */
2476
/* IDL:   SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 =  0x00000001 , */
2477
/* IDL:   SAMR_DOMAIN_ACCESS_SET_INFO_1 =  0x00000002 , */
2478
/* IDL:   SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 =  0x00000004 , */
2479
/* IDL:   SAMR_DOMAIN_ACCESS_SET_INFO_2 =  0x00000008 , */
2480
/* IDL:   SAMR_DOMAIN_ACCESS_CREATE_USER =  0x00000010 , */
2481
/* IDL:   SAMR_DOMAIN_ACCESS_CREATE_GROUP =  0x00000020 , */
2482
/* IDL:   SAMR_DOMAIN_ACCESS_CREATE_ALIAS =  0x00000040 , */
2483
/* IDL:   SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS =  0x00000080 , */
2484
/* IDL:   SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS =  0x00000100 , */
2485
/* IDL:   SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT =  0x00000200 , */
2486
/* IDL:   SAMR_DOMAIN_ACCESS_SET_INFO_3 =  0x00000400 , */
2487
/* IDL: } */
2488
2489
2490
/* IDL: bitmap { */
2491
/* IDL:   SAMR_GROUP_ACCESS_LOOKUP_INFO =  0x00000001 , */
2492
/* IDL:   SAMR_GROUP_ACCESS_SET_INFO =  0x00000002 , */
2493
/* IDL:   SAMR_GROUP_ACCESS_ADD_MEMBER =  0x00000004 , */
2494
/* IDL:   SAMR_GROUP_ACCESS_REMOVE_MEMBER =  0x00000008 , */
2495
/* IDL:   SAMR_GROUP_ACCESS_GET_MEMBERS =  0x00000010 , */
2496
/* IDL: } */
2497
2498
2499
/* IDL: bitmap { */
2500
/* IDL:   SAMR_ALIAS_ACCESS_ADD_MEMBER =  0x00000001 , */
2501
/* IDL:   SAMR_ALIAS_ACCESS_REMOVE_MEMBER =  0x00000002 , */
2502
/* IDL:   SAMR_ALIAS_ACCESS_GET_MEMBERS =  0x00000004 , */
2503
/* IDL:   SAMR_ALIAS_ACCESS_LOOKUP_INFO =  0x00000008 , */
2504
/* IDL:   SAMR_ALIAS_ACCESS_SET_INFO =  0x00000010 , */
2505
/* IDL: } */
2506
2507
2508
/* IDL: struct { */
2509
/* IDL:   uint32 idx; */
2510
/* IDL:   lsa_String name; */
2511
/* IDL: } */
2512
2513
static unsigned
2514
samr_dissect_element_SamEntry_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2515
0
{
2516
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamEntry_idx, 0);
2517
2518
0
  return offset;
2519
0
}
2520
2521
static unsigned
2522
samr_dissect_element_SamEntry_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2523
0
{
2524
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SamEntry_name);
2525
2526
0
  return offset;
2527
0
}
2528
2529
unsigned
2530
samr_dissect_struct_SamEntry(tvbuff_t *tvb _U_, unsigned 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_)
2531
0
{
2532
0
  proto_item *item = NULL;
2533
0
  proto_tree *tree = NULL;
2534
0
  unsigned old_offset;
2535
2536
0
  ALIGN_TO_5_BYTES;
2537
2538
0
  old_offset = offset;
2539
2540
0
  if (parent_tree) {
2541
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2542
0
    tree = proto_item_add_subtree(item, ett_samr_samr_SamEntry);
2543
0
  }
2544
2545
0
  offset = samr_dissect_element_SamEntry_idx(tvb, offset, pinfo, tree, di, drep);
2546
2547
0
  offset = samr_dissect_element_SamEntry_name(tvb, offset, pinfo, tree, di, drep);
2548
2549
2550
0
  proto_item_set_len(item, offset-old_offset);
2551
2552
2553
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2554
0
    ALIGN_TO_5_BYTES;
2555
0
  }
2556
2557
0
  return offset;
2558
0
}
2559
2560
2561
/* IDL: struct { */
2562
/* IDL:   uint32 count; */
2563
/* IDL:   [size_is(count)] [unique(1)] samr_SamEntry *entries; */
2564
/* IDL: } */
2565
2566
static unsigned
2567
samr_dissect_element_SamArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2568
0
{
2569
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamArray_count, 0);
2570
2571
0
  return offset;
2572
0
}
2573
2574
static unsigned
2575
samr_dissect_element_SamArray_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2576
0
{
2577
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SamArray_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_SamEntry)",hf_samr_samr_SamArray_entries);
2578
2579
0
  return offset;
2580
0
}
2581
2582
static unsigned
2583
samr_dissect_element_SamArray_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2584
0
{
2585
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SamArray_entries__);
2586
2587
0
  return offset;
2588
0
}
2589
2590
static unsigned
2591
samr_dissect_element_SamArray_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2592
0
{
2593
0
  offset = samr_dissect_struct_SamEntry(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SamArray_entries,3|PIDL_SET_COL_INFO);
2594
2595
0
  return offset;
2596
0
}
2597
2598
unsigned
2599
samr_dissect_struct_SamArray(tvbuff_t *tvb _U_, unsigned 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_)
2600
0
{
2601
0
  proto_item *item = NULL;
2602
0
  proto_tree *tree = NULL;
2603
0
  unsigned old_offset;
2604
2605
0
  ALIGN_TO_5_BYTES;
2606
2607
0
  old_offset = offset;
2608
2609
0
  if (parent_tree) {
2610
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2611
0
    tree = proto_item_add_subtree(item, ett_samr_samr_SamArray);
2612
0
  }
2613
2614
0
  offset = samr_dissect_element_SamArray_count(tvb, offset, pinfo, tree, di, drep);
2615
2616
0
  offset = samr_dissect_element_SamArray_entries(tvb, offset, pinfo, tree, di, drep);
2617
2618
2619
0
  proto_item_set_len(item, offset-old_offset);
2620
2621
2622
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2623
0
    ALIGN_TO_5_BYTES;
2624
0
  }
2625
2626
0
  return offset;
2627
0
}
2628
2629
2630
/* IDL: enum { */
2631
/* IDL:   DomainPasswordInformation=1, */
2632
/* IDL:   DomainGeneralInformation=2, */
2633
/* IDL:   DomainLogoffInformation=3, */
2634
/* IDL:   DomainOemInformation=4, */
2635
/* IDL:   DomainNameInformation=5, */
2636
/* IDL:   DomainReplicationInformation=6, */
2637
/* IDL:   DomainServerRoleInformation=7, */
2638
/* IDL:   DomainModifiedInformation=8, */
2639
/* IDL:   DomainStateInformation=9, */
2640
/* IDL:   DomainUasInformation=10, */
2641
/* IDL:   DomainGeneralInformation2=11, */
2642
/* IDL:   DomainLockoutInformation=12, */
2643
/* IDL:   DomainModifiedInformation2=13, */
2644
/* IDL: } */
2645
2646
unsigned
2647
samr_dissect_enum_DomainInfoClass(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2648
0
{
2649
0
  uint32_t parameter=0;
2650
0
  if (param) {
2651
0
    parameter = *param;
2652
0
  }
2653
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2654
0
  if (param) {
2655
0
    *param = parameter;
2656
0
  }
2657
0
  return offset;
2658
0
}
2659
2660
2661
/* IDL: enum { */
2662
/* IDL:   SAMR_ROLE_STANDALONE=0, */
2663
/* IDL:   SAMR_ROLE_DOMAIN_MEMBER=1, */
2664
/* IDL:   SAMR_ROLE_DOMAIN_BDC=2, */
2665
/* IDL:   SAMR_ROLE_DOMAIN_PDC=3, */
2666
/* IDL: } */
2667
2668
unsigned
2669
samr_dissect_enum_Role(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2670
0
{
2671
0
  uint32_t parameter=0;
2672
0
  if (param) {
2673
0
    parameter = *param;
2674
0
  }
2675
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2676
0
  if (param) {
2677
0
    *param = parameter;
2678
0
  }
2679
0
  return offset;
2680
0
}
2681
2682
2683
/* IDL: bitmap { */
2684
/* IDL:   DOMAIN_PASSWORD_COMPLEX =  0x00000001 , */
2685
/* IDL:   DOMAIN_PASSWORD_NO_ANON_CHANGE =  0x00000002 , */
2686
/* IDL:   DOMAIN_PASSWORD_NO_CLEAR_CHANGE =  0x00000004 , */
2687
/* IDL:   DOMAIN_PASSWORD_LOCKOUT_ADMINS =  0x00000008 , */
2688
/* IDL:   DOMAIN_PASSWORD_STORE_CLEARTEXT =  0x00000010 , */
2689
/* IDL:   DOMAIN_REFUSE_PASSWORD_CHANGE =  0x00000020 , */
2690
/* IDL: } */
2691
2692
unsigned
2693
samr_dissect_bitmap_PasswordProperties(tvbuff_t *tvb _U_, unsigned 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_)
2694
0
{
2695
0
  proto_item *item;
2696
0
  static int * const samr_samr_PasswordProperties_fields[] = {
2697
0
    &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX,
2698
0
    &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE,
2699
0
    &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE,
2700
0
    &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS,
2701
0
    &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT,
2702
0
    &hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE,
2703
0
    NULL
2704
0
  };
2705
0
  uint32_t flags;
2706
0
  ALIGN_TO_4_BYTES;
2707
2708
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
2709
0
        ett_samr_samr_PasswordProperties, samr_samr_PasswordProperties_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
2710
2711
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
2712
2713
0
  if (!flags)
2714
0
    proto_item_append_text(item, ": (No values set)");
2715
2716
0
  if (flags & (~0x0000003f)) {
2717
0
    flags &= (~0x0000003f);
2718
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2719
0
  }
2720
2721
0
  return offset;
2722
0
}
2723
2724
2725
/* IDL: enum { */
2726
/* IDL:   DOMAIN_SERVER_ENABLED=1, */
2727
/* IDL:   DOMAIN_SERVER_DISABLED=2, */
2728
/* IDL: } */
2729
2730
unsigned
2731
samr_dissect_enum_DomainServerState(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2732
0
{
2733
0
  uint32_t parameter=0;
2734
0
  if (param) {
2735
0
    parameter = *param;
2736
0
  }
2737
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2738
0
  if (param) {
2739
0
    *param = parameter;
2740
0
  }
2741
0
  return offset;
2742
0
}
2743
2744
2745
/* IDL: struct { */
2746
/* IDL:   uint16 min_password_length; */
2747
/* IDL:   uint16 password_history_length; */
2748
/* IDL:   samr_PasswordProperties password_properties; */
2749
/* IDL:   dlong max_password_age; */
2750
/* IDL:   dlong min_password_age; */
2751
/* IDL: } */
2752
2753
static unsigned
2754
samr_dissect_element_DomInfo1_min_password_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2755
0
{
2756
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_length, 0);
2757
2758
0
  return offset;
2759
0
}
2760
2761
static unsigned
2762
samr_dissect_element_DomInfo1_password_history_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2763
0
{
2764
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_history_length, 0);
2765
2766
0
  return offset;
2767
0
}
2768
2769
static unsigned
2770
samr_dissect_element_DomInfo1_password_properties(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2771
0
{
2772
0
  offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_properties, 0);
2773
2774
0
  return offset;
2775
0
}
2776
2777
static unsigned
2778
samr_dissect_element_DomInfo1_max_password_age(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2779
0
{
2780
0
  offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_max_password_age, NULL);
2781
2782
0
  return offset;
2783
0
}
2784
2785
static unsigned
2786
samr_dissect_element_DomInfo1_min_password_age(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2787
0
{
2788
0
  offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_age, NULL);
2789
2790
0
  return offset;
2791
0
}
2792
2793
unsigned
2794
samr_dissect_struct_DomInfo1(tvbuff_t *tvb _U_, unsigned 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_)
2795
0
{
2796
0
  proto_item *item = NULL;
2797
0
  proto_tree *tree = NULL;
2798
0
  unsigned old_offset;
2799
2800
0
  ALIGN_TO_4_BYTES;
2801
2802
0
  old_offset = offset;
2803
2804
0
  if (parent_tree) {
2805
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2806
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo1);
2807
0
  }
2808
2809
0
  offset = samr_dissect_element_DomInfo1_min_password_length(tvb, offset, pinfo, tree, di, drep);
2810
2811
0
  offset = samr_dissect_element_DomInfo1_password_history_length(tvb, offset, pinfo, tree, di, drep);
2812
2813
0
  offset = samr_dissect_element_DomInfo1_password_properties(tvb, offset, pinfo, tree, di, drep);
2814
2815
0
  offset = samr_dissect_element_DomInfo1_max_password_age(tvb, offset, pinfo, tree, di, drep);
2816
2817
0
  offset = samr_dissect_element_DomInfo1_min_password_age(tvb, offset, pinfo, tree, di, drep);
2818
2819
2820
0
  proto_item_set_len(item, offset-old_offset);
2821
2822
2823
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2824
0
    ALIGN_TO_4_BYTES;
2825
0
  }
2826
2827
0
  return offset;
2828
0
}
2829
2830
2831
/* IDL: struct { */
2832
/* IDL:   NTTIME force_logoff_time; */
2833
/* IDL:   lsa_String oem_information; */
2834
/* IDL:   lsa_String domain_name; */
2835
/* IDL:   lsa_String primary; */
2836
/* IDL:   udlong sequence_num; */
2837
/* IDL:   samr_DomainServerState domain_server_state; */
2838
/* IDL:   samr_Role role; */
2839
/* IDL:   uint32 unknown3; */
2840
/* IDL:   uint32 num_users; */
2841
/* IDL:   uint32 num_groups; */
2842
/* IDL:   uint32 num_aliases; */
2843
/* IDL: } */
2844
2845
static unsigned
2846
samr_dissect_element_DomGeneralInformation_force_logoff_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2847
0
{
2848
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_force_logoff_time);
2849
2850
0
  return offset;
2851
0
}
2852
2853
static unsigned
2854
samr_dissect_element_DomGeneralInformation_oem_information(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2855
0
{
2856
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_oem_information);
2857
2858
0
  return offset;
2859
0
}
2860
2861
static unsigned
2862
samr_dissect_element_DomGeneralInformation_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2863
0
{
2864
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_domain_name);
2865
2866
0
  return offset;
2867
0
}
2868
2869
static unsigned
2870
samr_dissect_element_DomGeneralInformation_primary(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2871
0
{
2872
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_primary);
2873
2874
0
  return offset;
2875
0
}
2876
2877
static unsigned
2878
samr_dissect_element_DomGeneralInformation_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2879
0
{
2880
0
  offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_sequence_num, NULL);
2881
2882
0
  return offset;
2883
0
}
2884
2885
static unsigned
2886
samr_dissect_element_DomGeneralInformation_domain_server_state(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2887
0
{
2888
0
  offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_domain_server_state, 0);
2889
2890
0
  return offset;
2891
0
}
2892
2893
static unsigned
2894
samr_dissect_element_DomGeneralInformation_role(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2895
0
{
2896
0
  offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_role, 0);
2897
2898
0
  return offset;
2899
0
}
2900
2901
static unsigned
2902
samr_dissect_element_DomGeneralInformation_unknown3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2903
0
{
2904
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_unknown3, 0);
2905
2906
0
  return offset;
2907
0
}
2908
2909
static unsigned
2910
samr_dissect_element_DomGeneralInformation_num_users(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2911
0
{
2912
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_users, 0);
2913
2914
0
  return offset;
2915
0
}
2916
2917
static unsigned
2918
samr_dissect_element_DomGeneralInformation_num_groups(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2919
0
{
2920
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_groups, 0);
2921
2922
0
  return offset;
2923
0
}
2924
2925
static unsigned
2926
samr_dissect_element_DomGeneralInformation_num_aliases(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2927
0
{
2928
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_aliases, 0);
2929
2930
0
  return offset;
2931
0
}
2932
2933
unsigned
2934
samr_dissect_struct_DomGeneralInformation(tvbuff_t *tvb _U_, unsigned 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_)
2935
0
{
2936
0
  proto_item *item = NULL;
2937
0
  proto_tree *tree = NULL;
2938
0
  unsigned old_offset;
2939
2940
0
  ALIGN_TO_5_BYTES;
2941
2942
0
  old_offset = offset;
2943
2944
0
  if (parent_tree) {
2945
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2946
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation);
2947
0
  }
2948
2949
0
  offset = samr_dissect_element_DomGeneralInformation_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
2950
2951
0
  offset = samr_dissect_element_DomGeneralInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
2952
2953
0
  offset = samr_dissect_element_DomGeneralInformation_domain_name(tvb, offset, pinfo, tree, di, drep);
2954
2955
0
  offset = samr_dissect_element_DomGeneralInformation_primary(tvb, offset, pinfo, tree, di, drep);
2956
2957
0
  offset = samr_dissect_element_DomGeneralInformation_sequence_num(tvb, offset, pinfo, tree, di, drep);
2958
2959
0
  offset = samr_dissect_element_DomGeneralInformation_domain_server_state(tvb, offset, pinfo, tree, di, drep);
2960
2961
0
  offset = samr_dissect_element_DomGeneralInformation_role(tvb, offset, pinfo, tree, di, drep);
2962
2963
0
  offset = samr_dissect_element_DomGeneralInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
2964
2965
0
  offset = samr_dissect_element_DomGeneralInformation_num_users(tvb, offset, pinfo, tree, di, drep);
2966
2967
0
  offset = samr_dissect_element_DomGeneralInformation_num_groups(tvb, offset, pinfo, tree, di, drep);
2968
2969
0
  offset = samr_dissect_element_DomGeneralInformation_num_aliases(tvb, offset, pinfo, tree, di, drep);
2970
2971
2972
0
  proto_item_set_len(item, offset-old_offset);
2973
2974
2975
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2976
0
    ALIGN_TO_5_BYTES;
2977
0
  }
2978
2979
0
  return offset;
2980
0
}
2981
2982
2983
/* IDL: struct { */
2984
/* IDL:   NTTIME force_logoff_time; */
2985
/* IDL: } */
2986
2987
static unsigned
2988
samr_dissect_element_DomInfo3_force_logoff_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2989
0
{
2990
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo3_force_logoff_time);
2991
2992
0
  return offset;
2993
0
}
2994
2995
unsigned
2996
samr_dissect_struct_DomInfo3(tvbuff_t *tvb _U_, unsigned 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_)
2997
0
{
2998
0
  proto_item *item = NULL;
2999
0
  proto_tree *tree = NULL;
3000
0
  unsigned old_offset;
3001
3002
0
  ALIGN_TO_4_BYTES;
3003
3004
0
  old_offset = offset;
3005
3006
0
  if (parent_tree) {
3007
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3008
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo3);
3009
0
  }
3010
3011
0
  offset = samr_dissect_element_DomInfo3_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
3012
3013
3014
0
  proto_item_set_len(item, offset-old_offset);
3015
3016
3017
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3018
0
    ALIGN_TO_4_BYTES;
3019
0
  }
3020
3021
0
  return offset;
3022
0
}
3023
3024
3025
/* IDL: struct { */
3026
/* IDL:   lsa_String oem_information; */
3027
/* IDL: } */
3028
3029
static unsigned
3030
samr_dissect_element_DomOEMInformation_oem_information(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3031
0
{
3032
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomOEMInformation_oem_information);
3033
3034
0
  return offset;
3035
0
}
3036
3037
unsigned
3038
samr_dissect_struct_DomOEMInformation(tvbuff_t *tvb _U_, unsigned 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_)
3039
0
{
3040
0
  proto_item *item = NULL;
3041
0
  proto_tree *tree = NULL;
3042
0
  unsigned old_offset;
3043
3044
0
  ALIGN_TO_5_BYTES;
3045
3046
0
  old_offset = offset;
3047
3048
0
  if (parent_tree) {
3049
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3050
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomOEMInformation);
3051
0
  }
3052
3053
0
  offset = samr_dissect_element_DomOEMInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
3054
3055
3056
0
  proto_item_set_len(item, offset-old_offset);
3057
3058
3059
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3060
0
    ALIGN_TO_5_BYTES;
3061
0
  }
3062
3063
0
  return offset;
3064
0
}
3065
3066
3067
/* IDL: struct { */
3068
/* IDL:   lsa_String domain_name; */
3069
/* IDL: } */
3070
3071
static unsigned
3072
samr_dissect_element_DomInfo5_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3073
0
{
3074
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo5_domain_name);
3075
3076
0
  return offset;
3077
0
}
3078
3079
unsigned
3080
samr_dissect_struct_DomInfo5(tvbuff_t *tvb _U_, unsigned 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_)
3081
0
{
3082
0
  proto_item *item = NULL;
3083
0
  proto_tree *tree = NULL;
3084
0
  unsigned old_offset;
3085
3086
0
  ALIGN_TO_5_BYTES;
3087
3088
0
  old_offset = offset;
3089
3090
0
  if (parent_tree) {
3091
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3092
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo5);
3093
0
  }
3094
3095
0
  offset = samr_dissect_element_DomInfo5_domain_name(tvb, offset, pinfo, tree, di, drep);
3096
3097
3098
0
  proto_item_set_len(item, offset-old_offset);
3099
3100
3101
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3102
0
    ALIGN_TO_5_BYTES;
3103
0
  }
3104
3105
0
  return offset;
3106
0
}
3107
3108
3109
/* IDL: struct { */
3110
/* IDL:   lsa_String primary; */
3111
/* IDL: } */
3112
3113
static unsigned
3114
samr_dissect_element_DomInfo6_primary(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3115
0
{
3116
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo6_primary);
3117
3118
0
  return offset;
3119
0
}
3120
3121
unsigned
3122
samr_dissect_struct_DomInfo6(tvbuff_t *tvb _U_, unsigned 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_)
3123
0
{
3124
0
  proto_item *item = NULL;
3125
0
  proto_tree *tree = NULL;
3126
0
  unsigned old_offset;
3127
3128
0
  ALIGN_TO_5_BYTES;
3129
3130
0
  old_offset = offset;
3131
3132
0
  if (parent_tree) {
3133
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3134
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo6);
3135
0
  }
3136
3137
0
  offset = samr_dissect_element_DomInfo6_primary(tvb, offset, pinfo, tree, di, drep);
3138
3139
3140
0
  proto_item_set_len(item, offset-old_offset);
3141
3142
3143
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3144
0
    ALIGN_TO_5_BYTES;
3145
0
  }
3146
3147
0
  return offset;
3148
0
}
3149
3150
3151
/* IDL: struct { */
3152
/* IDL:   samr_Role role; */
3153
/* IDL: } */
3154
3155
static unsigned
3156
samr_dissect_element_DomInfo7_role(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3157
0
{
3158
0
  offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo7_role, 0);
3159
3160
0
  return offset;
3161
0
}
3162
3163
unsigned
3164
samr_dissect_struct_DomInfo7(tvbuff_t *tvb _U_, unsigned 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_)
3165
0
{
3166
0
  proto_item *item = NULL;
3167
0
  proto_tree *tree = NULL;
3168
0
  unsigned old_offset;
3169
3170
0
  ALIGN_TO_4_BYTES;
3171
3172
0
  old_offset = offset;
3173
3174
0
  if (parent_tree) {
3175
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3176
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo7);
3177
0
  }
3178
3179
0
  offset = samr_dissect_element_DomInfo7_role(tvb, offset, pinfo, tree, di, drep);
3180
3181
3182
0
  proto_item_set_len(item, offset-old_offset);
3183
3184
3185
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3186
0
    ALIGN_TO_4_BYTES;
3187
0
  }
3188
3189
0
  return offset;
3190
0
}
3191
3192
3193
/* IDL: struct { */
3194
/* IDL:   hyper sequence_num; */
3195
/* IDL:   NTTIME domain_create_time; */
3196
/* IDL: } */
3197
3198
static unsigned
3199
samr_dissect_element_DomInfo8_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3200
0
{
3201
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo8_sequence_num, NULL);
3202
3203
0
  return offset;
3204
0
}
3205
3206
static unsigned
3207
samr_dissect_element_DomInfo8_domain_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3208
0
{
3209
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo8_domain_create_time);
3210
3211
0
  return offset;
3212
0
}
3213
3214
unsigned
3215
samr_dissect_struct_DomInfo8(tvbuff_t *tvb _U_, unsigned 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_)
3216
0
{
3217
0
  proto_item *item = NULL;
3218
0
  proto_tree *tree = NULL;
3219
0
  unsigned old_offset;
3220
3221
0
  ALIGN_TO_8_BYTES;
3222
3223
0
  old_offset = offset;
3224
3225
0
  if (parent_tree) {
3226
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3227
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo8);
3228
0
  }
3229
3230
0
  offset = samr_dissect_element_DomInfo8_sequence_num(tvb, offset, pinfo, tree, di, drep);
3231
3232
0
  offset = samr_dissect_element_DomInfo8_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3233
3234
3235
0
  proto_item_set_len(item, offset-old_offset);
3236
3237
3238
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3239
0
    ALIGN_TO_8_BYTES;
3240
0
  }
3241
3242
0
  return offset;
3243
0
}
3244
3245
3246
/* IDL: struct { */
3247
/* IDL:   samr_DomainServerState domain_server_state; */
3248
/* IDL: } */
3249
3250
static unsigned
3251
samr_dissect_element_DomInfo9_domain_server_state(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3252
0
{
3253
0
  offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo9_domain_server_state, 0);
3254
3255
0
  return offset;
3256
0
}
3257
3258
unsigned
3259
samr_dissect_struct_DomInfo9(tvbuff_t *tvb _U_, unsigned 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_)
3260
0
{
3261
0
  proto_item *item = NULL;
3262
0
  proto_tree *tree = NULL;
3263
0
  unsigned old_offset;
3264
3265
0
  ALIGN_TO_4_BYTES;
3266
3267
0
  old_offset = offset;
3268
3269
0
  if (parent_tree) {
3270
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3271
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo9);
3272
0
  }
3273
3274
0
  offset = samr_dissect_element_DomInfo9_domain_server_state(tvb, offset, pinfo, tree, di, drep);
3275
3276
3277
0
  proto_item_set_len(item, offset-old_offset);
3278
3279
3280
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3281
0
    ALIGN_TO_4_BYTES;
3282
0
  }
3283
3284
0
  return offset;
3285
0
}
3286
3287
3288
/* IDL: struct { */
3289
/* IDL:   samr_DomGeneralInformation general; */
3290
/* IDL:   hyper lockout_duration; */
3291
/* IDL:   hyper lockout_window; */
3292
/* IDL:   uint16 lockout_threshold; */
3293
/* IDL: } */
3294
3295
static unsigned
3296
samr_dissect_element_DomGeneralInformation2_general(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3297
0
{
3298
0
  offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomGeneralInformation2_general,0);
3299
3300
0
  return offset;
3301
0
}
3302
3303
static unsigned
3304
samr_dissect_element_DomGeneralInformation2_lockout_duration(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3305
0
{
3306
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation2_lockout_duration, NULL);
3307
3308
0
  return offset;
3309
0
}
3310
3311
static unsigned
3312
samr_dissect_element_DomGeneralInformation2_lockout_window(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3313
0
{
3314
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation2_lockout_window, NULL);
3315
3316
0
  return offset;
3317
0
}
3318
3319
static unsigned
3320
samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3321
0
{
3322
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation2_lockout_threshold, 0);
3323
3324
0
  return offset;
3325
0
}
3326
3327
unsigned
3328
samr_dissect_struct_DomGeneralInformation2(tvbuff_t *tvb _U_, unsigned 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_)
3329
0
{
3330
0
  proto_item *item = NULL;
3331
0
  proto_tree *tree = NULL;
3332
0
  unsigned old_offset;
3333
3334
0
  ALIGN_TO_8_BYTES;
3335
3336
0
  old_offset = offset;
3337
3338
0
  if (parent_tree) {
3339
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3340
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation2);
3341
0
  }
3342
3343
0
  offset = samr_dissect_element_DomGeneralInformation2_general(tvb, offset, pinfo, tree, di, drep);
3344
3345
0
  offset = samr_dissect_element_DomGeneralInformation2_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3346
3347
0
  offset = samr_dissect_element_DomGeneralInformation2_lockout_window(tvb, offset, pinfo, tree, di, drep);
3348
3349
0
  offset = samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3350
3351
3352
0
  proto_item_set_len(item, offset-old_offset);
3353
3354
3355
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3356
0
    ALIGN_TO_8_BYTES;
3357
0
  }
3358
3359
0
  return offset;
3360
0
}
3361
3362
3363
/* IDL: struct { */
3364
/* IDL:   hyper lockout_duration; */
3365
/* IDL:   hyper lockout_window; */
3366
/* IDL:   uint16 lockout_threshold; */
3367
/* IDL: } */
3368
3369
static unsigned
3370
samr_dissect_element_DomInfo12_lockout_duration(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3371
0
{
3372
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo12_lockout_duration, NULL);
3373
3374
0
  return offset;
3375
0
}
3376
3377
static unsigned
3378
samr_dissect_element_DomInfo12_lockout_window(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3379
0
{
3380
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo12_lockout_window, NULL);
3381
3382
0
  return offset;
3383
0
}
3384
3385
static unsigned
3386
samr_dissect_element_DomInfo12_lockout_threshold(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3387
0
{
3388
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo12_lockout_threshold, 0);
3389
3390
0
  return offset;
3391
0
}
3392
3393
unsigned
3394
samr_dissect_struct_DomInfo12(tvbuff_t *tvb _U_, unsigned 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_)
3395
0
{
3396
0
  proto_item *item = NULL;
3397
0
  proto_tree *tree = NULL;
3398
0
  unsigned old_offset;
3399
3400
0
  ALIGN_TO_8_BYTES;
3401
3402
0
  old_offset = offset;
3403
3404
0
  if (parent_tree) {
3405
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3406
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo12);
3407
0
  }
3408
3409
0
  offset = samr_dissect_element_DomInfo12_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3410
3411
0
  offset = samr_dissect_element_DomInfo12_lockout_window(tvb, offset, pinfo, tree, di, drep);
3412
3413
0
  offset = samr_dissect_element_DomInfo12_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3414
3415
3416
0
  proto_item_set_len(item, offset-old_offset);
3417
3418
3419
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3420
0
    ALIGN_TO_8_BYTES;
3421
0
  }
3422
3423
0
  return offset;
3424
0
}
3425
3426
3427
/* IDL: struct { */
3428
/* IDL:   hyper sequence_num; */
3429
/* IDL:   NTTIME domain_create_time; */
3430
/* IDL:   hyper modified_count_at_last_promotion; */
3431
/* IDL: } */
3432
3433
static unsigned
3434
samr_dissect_element_DomInfo13_sequence_num(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3435
0
{
3436
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo13_sequence_num, NULL);
3437
3438
0
  return offset;
3439
0
}
3440
3441
static unsigned
3442
samr_dissect_element_DomInfo13_domain_create_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3443
0
{
3444
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo13_domain_create_time);
3445
3446
0
  return offset;
3447
0
}
3448
3449
static unsigned
3450
samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3451
0
{
3452
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo13_modified_count_at_last_promotion, NULL);
3453
3454
0
  return offset;
3455
0
}
3456
3457
unsigned
3458
samr_dissect_struct_DomInfo13(tvbuff_t *tvb _U_, unsigned 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_)
3459
0
{
3460
0
  proto_item *item = NULL;
3461
0
  proto_tree *tree = NULL;
3462
0
  unsigned old_offset;
3463
3464
0
  ALIGN_TO_8_BYTES;
3465
3466
0
  old_offset = offset;
3467
3468
0
  if (parent_tree) {
3469
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3470
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo13);
3471
0
  }
3472
3473
0
  offset = samr_dissect_element_DomInfo13_sequence_num(tvb, offset, pinfo, tree, di, drep);
3474
3475
0
  offset = samr_dissect_element_DomInfo13_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3476
3477
0
  offset = samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvb, offset, pinfo, tree, di, drep);
3478
3479
3480
0
  proto_item_set_len(item, offset-old_offset);
3481
3482
3483
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3484
0
    ALIGN_TO_8_BYTES;
3485
0
  }
3486
3487
0
  return offset;
3488
0
}
3489
3490
3491
/* IDL: [switch_type(uint16)] union { */
3492
/* IDL: [case(1)] [case(1)] samr_DomInfo1 info1; */
3493
/* IDL: [case(2)] [case(2)] samr_DomGeneralInformation general; */
3494
/* IDL: [case(3)] [case(3)] samr_DomInfo3 info3; */
3495
/* IDL: [case(4)] [case(4)] samr_DomOEMInformation oem; */
3496
/* IDL: [case(5)] [case(5)] samr_DomInfo5 info5; */
3497
/* IDL: [case(6)] [case(6)] samr_DomInfo6 info6; */
3498
/* IDL: [case(7)] [case(7)] samr_DomInfo7 info7; */
3499
/* IDL: [case(8)] [case(8)] samr_DomInfo8 info8; */
3500
/* IDL: [case(9)] [case(9)] samr_DomInfo9 info9; */
3501
/* IDL: [case(11)] [case(11)] samr_DomGeneralInformation2 general2; */
3502
/* IDL: [case(12)] [case(12)] samr_DomInfo12 info12; */
3503
/* IDL: [case(13)] [case(13)] samr_DomInfo13 info13; */
3504
/* IDL: } */
3505
3506
static unsigned
3507
samr_dissect_element_DomainInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3508
0
{
3509
0
  offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info1,0);
3510
3511
0
  return offset;
3512
0
}
3513
3514
static unsigned
3515
samr_dissect_element_DomainInfo_general(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3516
0
{
3517
0
  offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general,0);
3518
3519
0
  return offset;
3520
0
}
3521
3522
static unsigned
3523
samr_dissect_element_DomainInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3524
0
{
3525
0
  offset = samr_dissect_struct_DomInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info3,0);
3526
3527
0
  return offset;
3528
0
}
3529
3530
static unsigned
3531
samr_dissect_element_DomainInfo_oem(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3532
0
{
3533
0
  offset = samr_dissect_struct_DomOEMInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_oem,0);
3534
3535
0
  return offset;
3536
0
}
3537
3538
static unsigned
3539
samr_dissect_element_DomainInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3540
0
{
3541
0
  offset = samr_dissect_struct_DomInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info5,0);
3542
3543
0
  return offset;
3544
0
}
3545
3546
static unsigned
3547
samr_dissect_element_DomainInfo_info6(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3548
0
{
3549
0
  offset = samr_dissect_struct_DomInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info6,0);
3550
3551
0
  return offset;
3552
0
}
3553
3554
static unsigned
3555
samr_dissect_element_DomainInfo_info7(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3556
0
{
3557
0
  offset = samr_dissect_struct_DomInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info7,0);
3558
3559
0
  return offset;
3560
0
}
3561
3562
static unsigned
3563
samr_dissect_element_DomainInfo_info8(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3564
0
{
3565
0
  offset = samr_dissect_struct_DomInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info8,0);
3566
3567
0
  return offset;
3568
0
}
3569
3570
static unsigned
3571
samr_dissect_element_DomainInfo_info9(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3572
0
{
3573
0
  offset = samr_dissect_struct_DomInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info9,0);
3574
3575
0
  return offset;
3576
0
}
3577
3578
static unsigned
3579
samr_dissect_element_DomainInfo_general2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3580
0
{
3581
0
  offset = samr_dissect_struct_DomGeneralInformation2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general2,0);
3582
3583
0
  return offset;
3584
0
}
3585
3586
static unsigned
3587
samr_dissect_element_DomainInfo_info12(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3588
0
{
3589
0
  offset = samr_dissect_struct_DomInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info12,0);
3590
3591
0
  return offset;
3592
0
}
3593
3594
static unsigned
3595
samr_dissect_element_DomainInfo_info13(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3596
0
{
3597
0
  offset = samr_dissect_struct_DomInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info13,0);
3598
3599
0
  return offset;
3600
0
}
3601
3602
static unsigned
3603
samr_dissect_DomainInfo(tvbuff_t *tvb _U_, unsigned 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_)
3604
0
{
3605
0
  proto_item *item = NULL;
3606
0
  proto_tree *tree = NULL;
3607
0
  unsigned old_offset;
3608
0
  uint16_t level;
3609
3610
0
  old_offset = offset;
3611
0
  if (parent_tree) {
3612
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_DomainInfo, &item, "samr_DomainInfo");
3613
0
  }
3614
3615
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3616
0
  ALIGN_TO_8_BYTES;
3617
3618
0
  switch(level) {
3619
0
    case 1:
3620
0
      offset = samr_dissect_element_DomainInfo_info1(tvb, offset, pinfo, tree, di, drep);
3621
0
    break;
3622
3623
0
    case 2:
3624
0
      offset = samr_dissect_element_DomainInfo_general(tvb, offset, pinfo, tree, di, drep);
3625
0
    break;
3626
3627
0
    case 3:
3628
0
      offset = samr_dissect_element_DomainInfo_info3(tvb, offset, pinfo, tree, di, drep);
3629
0
    break;
3630
3631
0
    case 4:
3632
0
      offset = samr_dissect_element_DomainInfo_oem(tvb, offset, pinfo, tree, di, drep);
3633
0
    break;
3634
3635
0
    case 5:
3636
0
      offset = samr_dissect_element_DomainInfo_info5(tvb, offset, pinfo, tree, di, drep);
3637
0
    break;
3638
3639
0
    case 6:
3640
0
      offset = samr_dissect_element_DomainInfo_info6(tvb, offset, pinfo, tree, di, drep);
3641
0
    break;
3642
3643
0
    case 7:
3644
0
      offset = samr_dissect_element_DomainInfo_info7(tvb, offset, pinfo, tree, di, drep);
3645
0
    break;
3646
3647
0
    case 8:
3648
0
      offset = samr_dissect_element_DomainInfo_info8(tvb, offset, pinfo, tree, di, drep);
3649
0
    break;
3650
3651
0
    case 9:
3652
0
      offset = samr_dissect_element_DomainInfo_info9(tvb, offset, pinfo, tree, di, drep);
3653
0
    break;
3654
3655
0
    case 11:
3656
0
      offset = samr_dissect_element_DomainInfo_general2(tvb, offset, pinfo, tree, di, drep);
3657
0
    break;
3658
3659
0
    case 12:
3660
0
      offset = samr_dissect_element_DomainInfo_info12(tvb, offset, pinfo, tree, di, drep);
3661
0
    break;
3662
3663
0
    case 13:
3664
0
      offset = samr_dissect_element_DomainInfo_info13(tvb, offset, pinfo, tree, di, drep);
3665
0
    break;
3666
0
  }
3667
0
  proto_item_set_len(item, offset-old_offset);
3668
3669
3670
0
  return offset;
3671
0
}
3672
3673
/* IDL: struct { */
3674
/* IDL:   [range(0,1024)] uint32 count; */
3675
/* IDL:   [size_is(count)] [unique(1)] uint32 *ids; */
3676
/* IDL: } */
3677
3678
static unsigned
3679
samr_dissect_element_Ids_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3680
0
{
3681
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Ids_count, 0);
3682
3683
0
  return offset;
3684
0
}
3685
3686
static unsigned
3687
samr_dissect_element_Ids_ids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3688
0
{
3689
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Ids_ids_, NDR_POINTER_UNIQUE, "Pointer to Ids (uint32)",hf_samr_rid);
3690
3691
0
  return offset;
3692
0
}
3693
3694
static unsigned
3695
samr_dissect_element_Ids_ids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3696
0
{
3697
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Ids_ids__);
3698
3699
0
  return offset;
3700
0
}
3701
3702
static unsigned
3703
samr_dissect_element_Ids_ids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3704
0
{
3705
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
3706
3707
0
  return offset;
3708
0
}
3709
3710
unsigned
3711
samr_dissect_struct_Ids(tvbuff_t *tvb _U_, unsigned 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_)
3712
0
{
3713
0
  proto_item *item = NULL;
3714
0
  proto_tree *tree = NULL;
3715
0
  unsigned old_offset;
3716
3717
0
  ALIGN_TO_5_BYTES;
3718
3719
0
  old_offset = offset;
3720
3721
0
  if (parent_tree) {
3722
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3723
0
    tree = proto_item_add_subtree(item, ett_samr_samr_Ids);
3724
0
  }
3725
3726
0
  offset = samr_dissect_element_Ids_count(tvb, offset, pinfo, tree, di, drep);
3727
3728
0
  offset = samr_dissect_element_Ids_ids(tvb, offset, pinfo, tree, di, drep);
3729
3730
3731
0
  proto_item_set_len(item, offset-old_offset);
3732
3733
3734
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3735
0
    ALIGN_TO_5_BYTES;
3736
0
  }
3737
3738
0
  return offset;
3739
0
}
3740
3741
3742
/* IDL: bitmap { */
3743
/* IDL:   SE_GROUP_MANDATORY =  0x00000001 , */
3744
/* IDL:   SE_GROUP_ENABLED_BY_DEFAULT =  0x00000002 , */
3745
/* IDL:   SE_GROUP_ENABLED =  0x00000004 , */
3746
/* IDL:   SE_GROUP_OWNER =  0x00000008 , */
3747
/* IDL:   SE_GROUP_USE_FOR_DENY_ONLY =  0x00000010 , */
3748
/* IDL:   SE_GROUP_RESOURCE =  0x20000000 , */
3749
/* IDL:   SE_GROUP_LOGON_ID =  0xC0000000 , */
3750
/* IDL: } */
3751
3752
unsigned
3753
samr_dissect_bitmap_GroupAttrs(tvbuff_t *tvb _U_, unsigned 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_)
3754
0
{
3755
0
  proto_item *item;
3756
0
  static int * const samr_samr_GroupAttrs_fields[] = {
3757
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY,
3758
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT,
3759
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED,
3760
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_OWNER,
3761
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY,
3762
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE,
3763
0
    &hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID,
3764
0
    NULL
3765
0
  };
3766
0
  uint32_t flags;
3767
0
  ALIGN_TO_4_BYTES;
3768
3769
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
3770
0
        ett_samr_samr_GroupAttrs, samr_samr_GroupAttrs_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
3771
3772
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
3773
3774
0
  if (!flags)
3775
0
    proto_item_append_text(item, ": (No values set)");
3776
3777
0
  if (flags & (~0xe000001f)) {
3778
0
    flags &= (~0xe000001f);
3779
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
3780
0
  }
3781
3782
0
  return offset;
3783
0
}
3784
3785
3786
/* IDL: struct { */
3787
/* IDL:   lsa_String name; */
3788
/* IDL:   samr_GroupAttrs attributes; */
3789
/* IDL:   uint32 num_members; */
3790
/* IDL:   lsa_String description; */
3791
/* IDL: } */
3792
3793
static unsigned
3794
samr_dissect_element_GroupInfoAll_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3795
0
{
3796
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_name);
3797
3798
0
  return offset;
3799
0
}
3800
3801
static unsigned
3802
samr_dissect_element_GroupInfoAll_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3803
0
{
3804
0
  offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_attributes, 0);
3805
3806
0
  return offset;
3807
0
}
3808
3809
static unsigned
3810
samr_dissect_element_GroupInfoAll_num_members(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3811
0
{
3812
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_num_members, 0);
3813
3814
0
  return offset;
3815
0
}
3816
3817
static unsigned
3818
samr_dissect_element_GroupInfoAll_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3819
0
{
3820
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_description);
3821
3822
0
  return offset;
3823
0
}
3824
3825
unsigned
3826
samr_dissect_struct_GroupInfoAll(tvbuff_t *tvb _U_, unsigned 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_)
3827
0
{
3828
0
  proto_item *item = NULL;
3829
0
  proto_tree *tree = NULL;
3830
0
  unsigned old_offset;
3831
3832
0
  ALIGN_TO_5_BYTES;
3833
3834
0
  old_offset = offset;
3835
3836
0
  if (parent_tree) {
3837
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3838
0
    tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAll);
3839
0
  }
3840
3841
0
  offset = samr_dissect_element_GroupInfoAll_name(tvb, offset, pinfo, tree, di, drep);
3842
3843
0
  offset = samr_dissect_element_GroupInfoAll_attributes(tvb, offset, pinfo, tree, di, drep);
3844
3845
0
  offset = samr_dissect_element_GroupInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
3846
3847
0
  offset = samr_dissect_element_GroupInfoAll_description(tvb, offset, pinfo, tree, di, drep);
3848
3849
3850
0
  proto_item_set_len(item, offset-old_offset);
3851
3852
3853
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3854
0
    ALIGN_TO_5_BYTES;
3855
0
  }
3856
3857
0
  return offset;
3858
0
}
3859
3860
3861
/* IDL: struct { */
3862
/* IDL:   samr_GroupAttrs attributes; */
3863
/* IDL: } */
3864
3865
static unsigned
3866
samr_dissect_element_GroupInfoAttributes_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3867
0
{
3868
0
  offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAttributes_attributes, 0);
3869
3870
0
  return offset;
3871
0
}
3872
3873
unsigned
3874
samr_dissect_struct_GroupInfoAttributes(tvbuff_t *tvb _U_, unsigned 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_)
3875
0
{
3876
0
  proto_item *item = NULL;
3877
0
  proto_tree *tree = NULL;
3878
0
  unsigned old_offset;
3879
3880
0
  ALIGN_TO_4_BYTES;
3881
3882
0
  old_offset = offset;
3883
3884
0
  if (parent_tree) {
3885
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3886
0
    tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAttributes);
3887
0
  }
3888
3889
0
  offset = samr_dissect_element_GroupInfoAttributes_attributes(tvb, offset, pinfo, tree, di, drep);
3890
3891
3892
0
  proto_item_set_len(item, offset-old_offset);
3893
3894
3895
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3896
0
    ALIGN_TO_4_BYTES;
3897
0
  }
3898
3899
0
  return offset;
3900
0
}
3901
3902
3903
/* IDL: struct { */
3904
/* IDL:   lsa_String description; */
3905
/* IDL: } */
3906
3907
static unsigned
3908
samr_dissect_element_GroupInfoDescription_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3909
0
{
3910
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoDescription_description);
3911
3912
0
  return offset;
3913
0
}
3914
3915
unsigned
3916
samr_dissect_struct_GroupInfoDescription(tvbuff_t *tvb _U_, unsigned 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_)
3917
0
{
3918
0
  proto_item *item = NULL;
3919
0
  proto_tree *tree = NULL;
3920
0
  unsigned old_offset;
3921
3922
0
  ALIGN_TO_5_BYTES;
3923
3924
0
  old_offset = offset;
3925
3926
0
  if (parent_tree) {
3927
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3928
0
    tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoDescription);
3929
0
  }
3930
3931
0
  offset = samr_dissect_element_GroupInfoDescription_description(tvb, offset, pinfo, tree, di, drep);
3932
3933
3934
0
  proto_item_set_len(item, offset-old_offset);
3935
3936
3937
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
3938
0
    ALIGN_TO_5_BYTES;
3939
0
  }
3940
3941
0
  return offset;
3942
0
}
3943
3944
3945
/* IDL: enum { */
3946
/* IDL:   GROUPINFOALL=1, */
3947
/* IDL:   GROUPINFONAME=2, */
3948
/* IDL:   GROUPINFOATTRIBUTES=3, */
3949
/* IDL:   GROUPINFODESCRIPTION=4, */
3950
/* IDL:   GROUPINFOALL2=5, */
3951
/* IDL: } */
3952
3953
unsigned
3954
samr_dissect_enum_GroupInfoEnum(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
3955
0
{
3956
0
  uint32_t parameter=0;
3957
0
  if (param) {
3958
0
    parameter = *param;
3959
0
  }
3960
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
3961
0
  if (param) {
3962
0
    *param = parameter;
3963
0
  }
3964
0
  return offset;
3965
0
}
3966
3967
3968
/* IDL: [switch_type(samr_GroupInfoEnum)] union { */
3969
/* IDL: [case(GROUPINFOALL)] [case(GROUPINFOALL)] samr_GroupInfoAll all; */
3970
/* IDL: [case(GROUPINFONAME)] [case(GROUPINFONAME)] lsa_String name; */
3971
/* IDL: [case(GROUPINFOATTRIBUTES)] [case(GROUPINFOATTRIBUTES)] samr_GroupInfoAttributes attributes; */
3972
/* IDL: [case(GROUPINFODESCRIPTION)] [case(GROUPINFODESCRIPTION)] lsa_String description; */
3973
/* IDL: [case(GROUPINFOALL2)] [case(GROUPINFOALL2)] samr_GroupInfoAll all2; */
3974
/* IDL: } */
3975
3976
static unsigned
3977
samr_dissect_element_GroupInfo_all(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3978
0
{
3979
0
  offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all,0);
3980
3981
0
  return offset;
3982
0
}
3983
3984
static unsigned
3985
samr_dissect_element_GroupInfo_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3986
0
{
3987
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_name);
3988
3989
0
  return offset;
3990
0
}
3991
3992
static unsigned
3993
samr_dissect_element_GroupInfo_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3994
0
{
3995
0
  offset = samr_dissect_struct_GroupInfoAttributes(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_attributes,0);
3996
3997
0
  return offset;
3998
0
}
3999
4000
static unsigned
4001
samr_dissect_element_GroupInfo_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4002
0
{
4003
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_description);
4004
4005
0
  return offset;
4006
0
}
4007
4008
static unsigned
4009
samr_dissect_element_GroupInfo_all2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4010
0
{
4011
0
  offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all2,0);
4012
4013
0
  return offset;
4014
0
}
4015
4016
static unsigned
4017
samr_dissect_GroupInfo(tvbuff_t *tvb _U_, unsigned 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_)
4018
0
{
4019
0
  proto_item *item = NULL;
4020
0
  proto_tree *tree = NULL;
4021
0
  unsigned old_offset;
4022
0
  uint32_t level;
4023
4024
0
  old_offset = offset;
4025
0
  if (parent_tree) {
4026
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_GroupInfo, &item, "samr_GroupInfo");
4027
0
  }
4028
4029
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4030
0
  ALIGN_TO_5_BYTES;
4031
4032
0
  switch(level) {
4033
0
    case GROUPINFOALL:
4034
0
      offset = samr_dissect_element_GroupInfo_all(tvb, offset, pinfo, tree, di, drep);
4035
0
    break;
4036
4037
0
    case GROUPINFONAME:
4038
0
      offset = samr_dissect_element_GroupInfo_name(tvb, offset, pinfo, tree, di, drep);
4039
0
    break;
4040
4041
0
    case GROUPINFOATTRIBUTES:
4042
0
      offset = samr_dissect_element_GroupInfo_attributes(tvb, offset, pinfo, tree, di, drep);
4043
0
    break;
4044
4045
0
    case GROUPINFODESCRIPTION:
4046
0
      offset = samr_dissect_element_GroupInfo_description(tvb, offset, pinfo, tree, di, drep);
4047
0
    break;
4048
4049
0
    case GROUPINFOALL2:
4050
0
      offset = samr_dissect_element_GroupInfo_all2(tvb, offset, pinfo, tree, di, drep);
4051
0
    break;
4052
0
  }
4053
0
  proto_item_set_len(item, offset-old_offset);
4054
4055
4056
0
  return offset;
4057
0
}
4058
4059
/* IDL: struct { */
4060
/* IDL:   uint32 count; */
4061
/* IDL:   [size_is(count)] [unique(1)] uint32 *rids; */
4062
/* IDL:   [size_is(count)] [unique(1)] uint32 *types; */
4063
/* IDL: } */
4064
4065
static unsigned
4066
samr_dissect_element_RidTypeArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4067
0
{
4068
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_count, 0);
4069
4070
0
  return offset;
4071
0
}
4072
4073
static unsigned
4074
samr_dissect_element_RidTypeArray_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4075
0
{
4076
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_rids_, NDR_POINTER_UNIQUE, "Pointer to Rids (uint32)",hf_samr_rid);
4077
4078
0
  return offset;
4079
0
}
4080
4081
static unsigned
4082
samr_dissect_element_RidTypeArray_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4083
0
{
4084
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_rids__);
4085
4086
0
  return offset;
4087
0
}
4088
4089
static unsigned
4090
samr_dissect_element_RidTypeArray_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4091
0
{
4092
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4093
4094
0
  return offset;
4095
0
}
4096
4097
static unsigned
4098
samr_dissect_element_RidTypeArray_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4099
0
{
4100
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_types_, NDR_POINTER_UNIQUE, "Pointer to Types (uint32)",hf_samr_samr_RidTypeArray_types);
4101
4102
0
  return offset;
4103
0
}
4104
4105
static unsigned
4106
samr_dissect_element_RidTypeArray_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4107
0
{
4108
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_types__);
4109
4110
0
  return offset;
4111
0
}
4112
4113
static unsigned
4114
samr_dissect_element_RidTypeArray_types__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4115
0
{
4116
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_types, 0);
4117
4118
0
  return offset;
4119
0
}
4120
4121
unsigned
4122
samr_dissect_struct_RidTypeArray(tvbuff_t *tvb _U_, unsigned 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_)
4123
0
{
4124
0
  proto_item *item = NULL;
4125
0
  proto_tree *tree = NULL;
4126
0
  unsigned old_offset;
4127
4128
0
  ALIGN_TO_5_BYTES;
4129
4130
0
  old_offset = offset;
4131
4132
0
  if (parent_tree) {
4133
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4134
0
    tree = proto_item_add_subtree(item, ett_samr_samr_RidTypeArray);
4135
0
  }
4136
4137
0
  offset = samr_dissect_element_RidTypeArray_count(tvb, offset, pinfo, tree, di, drep);
4138
4139
0
  offset = samr_dissect_element_RidTypeArray_rids(tvb, offset, pinfo, tree, di, drep);
4140
4141
0
  offset = samr_dissect_element_RidTypeArray_types(tvb, offset, pinfo, tree, di, drep);
4142
4143
4144
0
  proto_item_set_len(item, offset-old_offset);
4145
4146
4147
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4148
0
    ALIGN_TO_5_BYTES;
4149
0
  }
4150
4151
0
  return offset;
4152
0
}
4153
4154
4155
/* IDL: struct { */
4156
/* IDL:   lsa_String name; */
4157
/* IDL:   uint32 num_members; */
4158
/* IDL:   lsa_String description; */
4159
/* IDL: } */
4160
4161
static unsigned
4162
samr_dissect_element_AliasInfoAll_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4163
0
{
4164
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_name);
4165
4166
0
  return offset;
4167
0
}
4168
4169
static unsigned
4170
samr_dissect_element_AliasInfoAll_num_members(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4171
0
{
4172
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AliasInfoAll_num_members, 0);
4173
4174
0
  return offset;
4175
0
}
4176
4177
static unsigned
4178
samr_dissect_element_AliasInfoAll_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4179
0
{
4180
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_description);
4181
4182
0
  return offset;
4183
0
}
4184
4185
unsigned
4186
samr_dissect_struct_AliasInfoAll(tvbuff_t *tvb _U_, unsigned 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_)
4187
0
{
4188
0
  proto_item *item = NULL;
4189
0
  proto_tree *tree = NULL;
4190
0
  unsigned old_offset;
4191
4192
0
  ALIGN_TO_5_BYTES;
4193
4194
0
  old_offset = offset;
4195
4196
0
  if (parent_tree) {
4197
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4198
0
    tree = proto_item_add_subtree(item, ett_samr_samr_AliasInfoAll);
4199
0
  }
4200
4201
0
  offset = samr_dissect_element_AliasInfoAll_name(tvb, offset, pinfo, tree, di, drep);
4202
4203
0
  offset = samr_dissect_element_AliasInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
4204
4205
0
  offset = samr_dissect_element_AliasInfoAll_description(tvb, offset, pinfo, tree, di, drep);
4206
4207
4208
0
  proto_item_set_len(item, offset-old_offset);
4209
4210
4211
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4212
0
    ALIGN_TO_5_BYTES;
4213
0
  }
4214
4215
0
  return offset;
4216
0
}
4217
4218
4219
/* IDL: enum { */
4220
/* IDL:   ALIASINFOALL=1, */
4221
/* IDL:   ALIASINFONAME=2, */
4222
/* IDL:   ALIASINFODESCRIPTION=3, */
4223
/* IDL: } */
4224
4225
unsigned
4226
samr_dissect_enum_AliasInfoEnum(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
4227
0
{
4228
0
  uint32_t parameter=0;
4229
0
  if (param) {
4230
0
    parameter = *param;
4231
0
  }
4232
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4233
0
  if (param) {
4234
0
    *param = parameter;
4235
0
  }
4236
0
  return offset;
4237
0
}
4238
4239
4240
/* IDL: [switch_type(samr_AliasInfoEnum)] union { */
4241
/* IDL: [case(ALIASINFOALL)] [case(ALIASINFOALL)] samr_AliasInfoAll all; */
4242
/* IDL: [case(ALIASINFONAME)] [case(ALIASINFONAME)] lsa_String name; */
4243
/* IDL: [case(ALIASINFODESCRIPTION)] [case(ALIASINFODESCRIPTION)] lsa_String description; */
4244
/* IDL: } */
4245
4246
static unsigned
4247
samr_dissect_element_AliasInfo_all(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4248
0
{
4249
0
  offset = samr_dissect_struct_AliasInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_AliasInfo_all,0);
4250
4251
0
  return offset;
4252
0
}
4253
4254
static unsigned
4255
samr_dissect_element_AliasInfo_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4256
0
{
4257
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_name);
4258
4259
0
  return offset;
4260
0
}
4261
4262
static unsigned
4263
samr_dissect_element_AliasInfo_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4264
0
{
4265
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_description);
4266
4267
0
  return offset;
4268
0
}
4269
4270
static unsigned
4271
samr_dissect_AliasInfo(tvbuff_t *tvb _U_, unsigned 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_)
4272
0
{
4273
0
  proto_item *item = NULL;
4274
0
  proto_tree *tree = NULL;
4275
0
  unsigned old_offset;
4276
0
  uint32_t level;
4277
4278
0
  old_offset = offset;
4279
0
  if (parent_tree) {
4280
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_AliasInfo, &item, "samr_AliasInfo");
4281
0
  }
4282
4283
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4284
0
  ALIGN_TO_5_BYTES;
4285
4286
0
  switch(level) {
4287
0
    case ALIASINFOALL:
4288
0
      offset = samr_dissect_element_AliasInfo_all(tvb, offset, pinfo, tree, di, drep);
4289
0
    break;
4290
4291
0
    case ALIASINFONAME:
4292
0
      offset = samr_dissect_element_AliasInfo_name(tvb, offset, pinfo, tree, di, drep);
4293
0
    break;
4294
4295
0
    case ALIASINFODESCRIPTION:
4296
0
      offset = samr_dissect_element_AliasInfo_description(tvb, offset, pinfo, tree, di, drep);
4297
0
    break;
4298
0
  }
4299
0
  proto_item_set_len(item, offset-old_offset);
4300
4301
4302
0
  return offset;
4303
0
}
4304
4305
/* IDL: enum { */
4306
/* IDL:   UserGeneralInformation=1, */
4307
/* IDL:   UserPreferencesInformation=2, */
4308
/* IDL:   UserLogonInformation=3, */
4309
/* IDL:   UserLogonHoursInformation=4, */
4310
/* IDL:   UserAccountInformation=5, */
4311
/* IDL:   UserNameInformation=6, */
4312
/* IDL:   UserAccountNameInformation=7, */
4313
/* IDL:   UserFullNameInformation=8, */
4314
/* IDL:   UserPrimaryGroupInformation=9, */
4315
/* IDL:   UserHomeInformation=10, */
4316
/* IDL:   UserScriptInformation=11, */
4317
/* IDL:   UserProfileInformation=12, */
4318
/* IDL:   UserAdminCommentInformation=13, */
4319
/* IDL:   UserWorkStationsInformation=14, */
4320
/* IDL:   UserControlInformation=16, */
4321
/* IDL:   UserExpiresInformation=17, */
4322
/* IDL:   UserInternal1Information=18, */
4323
/* IDL:   UserParametersInformation=20, */
4324
/* IDL:   UserAllInformation=21, */
4325
/* IDL:   UserInternal4Information=23, */
4326
/* IDL:   UserInternal5Information=24, */
4327
/* IDL:   UserInternal4InformationNew=25, */
4328
/* IDL:   UserInternal5InformationNew=26, */
4329
/* IDL:   UserInternal7InformationNew=31, */
4330
/* IDL:   UserInternal8InformationNew=32, */
4331
/* IDL: } */
4332
4333
unsigned
4334
samr_dissect_enum_UserInfoLevel(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
4335
0
{
4336
0
  uint32_t parameter=0;
4337
0
  if (param) {
4338
0
    parameter = *param;
4339
0
  }
4340
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4341
0
  if (param) {
4342
0
    *param = parameter;
4343
0
  }
4344
0
  return offset;
4345
0
}
4346
4347
4348
/* IDL: struct { */
4349
/* IDL:   lsa_String account_name; */
4350
/* IDL:   lsa_String full_name; */
4351
/* IDL:   uint32 primary_gid; */
4352
/* IDL:   lsa_String description; */
4353
/* IDL:   lsa_String comment; */
4354
/* IDL: } */
4355
4356
static unsigned
4357
samr_dissect_element_UserInfo1_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4358
0
{
4359
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_account_name);
4360
4361
0
  return offset;
4362
0
}
4363
4364
static unsigned
4365
samr_dissect_element_UserInfo1_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4366
0
{
4367
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_full_name);
4368
4369
0
  return offset;
4370
0
}
4371
4372
static unsigned
4373
samr_dissect_element_UserInfo1_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4374
0
{
4375
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo1_primary_gid, 0);
4376
4377
0
  return offset;
4378
0
}
4379
4380
static unsigned
4381
samr_dissect_element_UserInfo1_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4382
0
{
4383
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_description);
4384
4385
0
  return offset;
4386
0
}
4387
4388
static unsigned
4389
samr_dissect_element_UserInfo1_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4390
0
{
4391
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_comment);
4392
4393
0
  return offset;
4394
0
}
4395
4396
unsigned
4397
samr_dissect_struct_UserInfo1(tvbuff_t *tvb _U_, unsigned 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_)
4398
0
{
4399
0
  proto_item *item = NULL;
4400
0
  proto_tree *tree = NULL;
4401
0
  unsigned old_offset;
4402
4403
0
  ALIGN_TO_5_BYTES;
4404
4405
0
  old_offset = offset;
4406
4407
0
  if (parent_tree) {
4408
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4409
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo1);
4410
0
  }
4411
4412
0
  offset = samr_dissect_element_UserInfo1_account_name(tvb, offset, pinfo, tree, di, drep);
4413
4414
0
  offset = samr_dissect_element_UserInfo1_full_name(tvb, offset, pinfo, tree, di, drep);
4415
4416
0
  offset = samr_dissect_element_UserInfo1_primary_gid(tvb, offset, pinfo, tree, di, drep);
4417
4418
0
  offset = samr_dissect_element_UserInfo1_description(tvb, offset, pinfo, tree, di, drep);
4419
4420
0
  offset = samr_dissect_element_UserInfo1_comment(tvb, offset, pinfo, tree, di, drep);
4421
4422
4423
0
  proto_item_set_len(item, offset-old_offset);
4424
4425
4426
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4427
0
    ALIGN_TO_5_BYTES;
4428
0
  }
4429
4430
0
  return offset;
4431
0
}
4432
4433
4434
/* IDL: struct { */
4435
/* IDL:   lsa_String comment; */
4436
/* IDL:   lsa_String reserved; */
4437
/* IDL:   uint16 country_code; */
4438
/* IDL:   uint16 code_page; */
4439
/* IDL: } */
4440
4441
static unsigned
4442
samr_dissect_element_UserInfo2_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4443
0
{
4444
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_comment);
4445
4446
0
  return offset;
4447
0
}
4448
4449
static unsigned
4450
samr_dissect_element_UserInfo2_reserved(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4451
0
{
4452
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_reserved);
4453
4454
0
  return offset;
4455
0
}
4456
4457
static unsigned
4458
samr_dissect_element_UserInfo2_country_code(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4459
0
{
4460
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_country_code, 0);
4461
4462
0
  return offset;
4463
0
}
4464
4465
static unsigned
4466
samr_dissect_element_UserInfo2_code_page(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4467
0
{
4468
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_code_page, 0);
4469
4470
0
  return offset;
4471
0
}
4472
4473
unsigned
4474
samr_dissect_struct_UserInfo2(tvbuff_t *tvb _U_, unsigned 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_)
4475
0
{
4476
0
  proto_item *item = NULL;
4477
0
  proto_tree *tree = NULL;
4478
0
  unsigned old_offset;
4479
4480
0
  ALIGN_TO_5_BYTES;
4481
4482
0
  old_offset = offset;
4483
4484
0
  if (parent_tree) {
4485
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4486
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo2);
4487
0
  }
4488
4489
0
  offset = samr_dissect_element_UserInfo2_comment(tvb, offset, pinfo, tree, di, drep);
4490
4491
0
  offset = samr_dissect_element_UserInfo2_reserved(tvb, offset, pinfo, tree, di, drep);
4492
4493
0
  offset = samr_dissect_element_UserInfo2_country_code(tvb, offset, pinfo, tree, di, drep);
4494
4495
0
  offset = samr_dissect_element_UserInfo2_code_page(tvb, offset, pinfo, tree, di, drep);
4496
4497
4498
0
  proto_item_set_len(item, offset-old_offset);
4499
4500
4501
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4502
0
    ALIGN_TO_5_BYTES;
4503
0
  }
4504
4505
0
  return offset;
4506
0
}
4507
4508
4509
/* IDL: struct { */
4510
/* IDL:   uint16 units_per_week; */
4511
/* IDL:   [length_is(units_per_week/8)] [size_is(1260)] [unique(1)] uint8 *bits; */
4512
/* IDL: } */
4513
4514
static unsigned
4515
samr_dissect_element_LogonHours_units_per_week(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4516
0
{
4517
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_units_per_week, 0);
4518
4519
0
  return offset;
4520
0
}
4521
4522
static unsigned
4523
samr_dissect_element_LogonHours_bits(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4524
0
{
4525
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LogonHours_bits_, NDR_POINTER_UNIQUE, "Pointer to Bits (uint8)",hf_samr_samr_LogonHours_bits);
4526
4527
0
  return offset;
4528
0
}
4529
4530
static unsigned
4531
samr_dissect_element_LogonHours_bits_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4532
0
{
4533
0
  offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LogonHours_bits__);
4534
4535
0
  return offset;
4536
0
}
4537
4538
static unsigned
4539
samr_dissect_element_LogonHours_bits__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4540
0
{
4541
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_bits, 0);
4542
4543
0
  return offset;
4544
0
}
4545
4546
unsigned
4547
samr_dissect_struct_LogonHours(tvbuff_t *tvb _U_, unsigned 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_)
4548
0
{
4549
0
  proto_item *item = NULL;
4550
0
  proto_tree *tree = NULL;
4551
0
  unsigned old_offset;
4552
4553
0
  ALIGN_TO_5_BYTES;
4554
4555
0
  old_offset = offset;
4556
4557
0
  if (parent_tree) {
4558
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4559
0
    tree = proto_item_add_subtree(item, ett_samr_samr_LogonHours);
4560
0
  }
4561
4562
0
  offset = samr_dissect_element_LogonHours_units_per_week(tvb, offset, pinfo, tree, di, drep);
4563
4564
0
  offset = samr_dissect_element_LogonHours_bits(tvb, offset, pinfo, tree, di, drep);
4565
4566
4567
0
  proto_item_set_len(item, offset-old_offset);
4568
4569
4570
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4571
0
    ALIGN_TO_5_BYTES;
4572
0
  }
4573
4574
0
  return offset;
4575
0
}
4576
4577
4578
/* IDL: struct { */
4579
/* IDL:   lsa_String account_name; */
4580
/* IDL:   lsa_String full_name; */
4581
/* IDL:   uint32 rid; */
4582
/* IDL:   uint32 primary_gid; */
4583
/* IDL:   lsa_String home_directory; */
4584
/* IDL:   lsa_String home_drive; */
4585
/* IDL:   lsa_String logon_script; */
4586
/* IDL:   lsa_String profile_path; */
4587
/* IDL:   lsa_String workstations; */
4588
/* IDL:   NTTIME last_logon; */
4589
/* IDL:   NTTIME last_logoff; */
4590
/* IDL:   NTTIME last_password_change; */
4591
/* IDL:   NTTIME allow_password_change; */
4592
/* IDL:   NTTIME force_password_change; */
4593
/* IDL:   samr_LogonHours logon_hours; */
4594
/* IDL:   uint16 bad_password_count; */
4595
/* IDL:   uint16 logon_count; */
4596
/* IDL:   samr_AcctFlags acct_flags; */
4597
/* IDL: } */
4598
4599
static unsigned
4600
samr_dissect_element_UserInfo3_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4601
0
{
4602
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_account_name);
4603
4604
0
  return offset;
4605
0
}
4606
4607
static unsigned
4608
samr_dissect_element_UserInfo3_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4609
0
{
4610
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_full_name);
4611
4612
0
  return offset;
4613
0
}
4614
4615
static unsigned
4616
samr_dissect_element_UserInfo3_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4617
0
{
4618
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4619
4620
0
  return offset;
4621
0
}
4622
4623
static unsigned
4624
samr_dissect_element_UserInfo3_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4625
0
{
4626
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_primary_gid, 0);
4627
4628
0
  return offset;
4629
0
}
4630
4631
static unsigned
4632
samr_dissect_element_UserInfo3_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4633
0
{
4634
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_directory);
4635
4636
0
  return offset;
4637
0
}
4638
4639
static unsigned
4640
samr_dissect_element_UserInfo3_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4641
0
{
4642
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_drive);
4643
4644
0
  return offset;
4645
0
}
4646
4647
static unsigned
4648
samr_dissect_element_UserInfo3_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4649
0
{
4650
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_logon_script);
4651
4652
0
  return offset;
4653
0
}
4654
4655
static unsigned
4656
samr_dissect_element_UserInfo3_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4657
0
{
4658
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_profile_path);
4659
4660
0
  return offset;
4661
0
}
4662
4663
static unsigned
4664
samr_dissect_element_UserInfo3_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4665
0
{
4666
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_workstations);
4667
4668
0
  return offset;
4669
0
}
4670
4671
static unsigned
4672
samr_dissect_element_UserInfo3_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4673
0
{
4674
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logon);
4675
4676
0
  return offset;
4677
0
}
4678
4679
static unsigned
4680
samr_dissect_element_UserInfo3_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4681
0
{
4682
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logoff);
4683
4684
0
  return offset;
4685
0
}
4686
4687
static unsigned
4688
samr_dissect_element_UserInfo3_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4689
0
{
4690
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_password_change);
4691
4692
0
  return offset;
4693
0
}
4694
4695
static unsigned
4696
samr_dissect_element_UserInfo3_allow_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4697
0
{
4698
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_allow_password_change);
4699
4700
0
  return offset;
4701
0
}
4702
4703
static unsigned
4704
samr_dissect_element_UserInfo3_force_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4705
0
{
4706
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_force_password_change);
4707
4708
0
  return offset;
4709
0
}
4710
4711
static unsigned
4712
samr_dissect_element_UserInfo3_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4713
0
{
4714
0
  offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo3_logon_hours,0);
4715
4716
0
  return offset;
4717
0
}
4718
4719
static unsigned
4720
samr_dissect_element_UserInfo3_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4721
0
{
4722
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_bad_password_count, 0);
4723
4724
0
  return offset;
4725
0
}
4726
4727
static unsigned
4728
samr_dissect_element_UserInfo3_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4729
0
{
4730
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_logon_count, 0);
4731
4732
0
  return offset;
4733
0
}
4734
4735
static unsigned
4736
samr_dissect_element_UserInfo3_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4737
0
{
4738
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_acct_flags, 0);
4739
4740
0
  return offset;
4741
0
}
4742
4743
unsigned
4744
samr_dissect_struct_UserInfo3(tvbuff_t *tvb _U_, unsigned 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_)
4745
0
{
4746
0
  proto_item *item = NULL;
4747
0
  proto_tree *tree = NULL;
4748
0
  unsigned old_offset;
4749
4750
0
  ALIGN_TO_5_BYTES;
4751
4752
0
  old_offset = offset;
4753
4754
0
  if (parent_tree) {
4755
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4756
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo3);
4757
0
  }
4758
4759
0
  offset = samr_dissect_element_UserInfo3_account_name(tvb, offset, pinfo, tree, di, drep);
4760
4761
0
  offset = samr_dissect_element_UserInfo3_full_name(tvb, offset, pinfo, tree, di, drep);
4762
4763
0
  offset = samr_dissect_element_UserInfo3_rid(tvb, offset, pinfo, tree, di, drep);
4764
4765
0
  offset = samr_dissect_element_UserInfo3_primary_gid(tvb, offset, pinfo, tree, di, drep);
4766
4767
0
  offset = samr_dissect_element_UserInfo3_home_directory(tvb, offset, pinfo, tree, di, drep);
4768
4769
0
  offset = samr_dissect_element_UserInfo3_home_drive(tvb, offset, pinfo, tree, di, drep);
4770
4771
0
  offset = samr_dissect_element_UserInfo3_logon_script(tvb, offset, pinfo, tree, di, drep);
4772
4773
0
  offset = samr_dissect_element_UserInfo3_profile_path(tvb, offset, pinfo, tree, di, drep);
4774
4775
0
  offset = samr_dissect_element_UserInfo3_workstations(tvb, offset, pinfo, tree, di, drep);
4776
4777
0
  offset = samr_dissect_element_UserInfo3_last_logon(tvb, offset, pinfo, tree, di, drep);
4778
4779
0
  offset = samr_dissect_element_UserInfo3_last_logoff(tvb, offset, pinfo, tree, di, drep);
4780
4781
0
  offset = samr_dissect_element_UserInfo3_last_password_change(tvb, offset, pinfo, tree, di, drep);
4782
4783
0
  offset = samr_dissect_element_UserInfo3_allow_password_change(tvb, offset, pinfo, tree, di, drep);
4784
4785
0
  offset = samr_dissect_element_UserInfo3_force_password_change(tvb, offset, pinfo, tree, di, drep);
4786
4787
0
  offset = samr_dissect_element_UserInfo3_logon_hours(tvb, offset, pinfo, tree, di, drep);
4788
4789
0
  offset = samr_dissect_element_UserInfo3_bad_password_count(tvb, offset, pinfo, tree, di, drep);
4790
4791
0
  offset = samr_dissect_element_UserInfo3_logon_count(tvb, offset, pinfo, tree, di, drep);
4792
4793
0
  offset = samr_dissect_element_UserInfo3_acct_flags(tvb, offset, pinfo, tree, di, drep);
4794
4795
4796
0
  proto_item_set_len(item, offset-old_offset);
4797
4798
4799
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4800
0
    ALIGN_TO_5_BYTES;
4801
0
  }
4802
4803
0
  return offset;
4804
0
}
4805
4806
4807
/* IDL: struct { */
4808
/* IDL:   samr_LogonHours logon_hours; */
4809
/* IDL: } */
4810
4811
static unsigned
4812
samr_dissect_element_UserInfo4_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4813
0
{
4814
0
  offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo4_logon_hours,0);
4815
4816
0
  return offset;
4817
0
}
4818
4819
unsigned
4820
samr_dissect_struct_UserInfo4(tvbuff_t *tvb _U_, unsigned 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_)
4821
0
{
4822
0
  proto_item *item = NULL;
4823
0
  proto_tree *tree = NULL;
4824
0
  unsigned old_offset;
4825
4826
0
  ALIGN_TO_5_BYTES;
4827
4828
0
  old_offset = offset;
4829
4830
0
  if (parent_tree) {
4831
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4832
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo4);
4833
0
  }
4834
4835
0
  offset = samr_dissect_element_UserInfo4_logon_hours(tvb, offset, pinfo, tree, di, drep);
4836
4837
4838
0
  proto_item_set_len(item, offset-old_offset);
4839
4840
4841
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
4842
0
    ALIGN_TO_5_BYTES;
4843
0
  }
4844
4845
0
  return offset;
4846
0
}
4847
4848
4849
/* IDL: struct { */
4850
/* IDL:   lsa_String account_name; */
4851
/* IDL:   lsa_String full_name; */
4852
/* IDL:   uint32 rid; */
4853
/* IDL:   uint32 primary_gid; */
4854
/* IDL:   lsa_String home_directory; */
4855
/* IDL:   lsa_String home_drive; */
4856
/* IDL:   lsa_String logon_script; */
4857
/* IDL:   lsa_String profile_path; */
4858
/* IDL:   lsa_String description; */
4859
/* IDL:   lsa_String workstations; */
4860
/* IDL:   NTTIME last_logon; */
4861
/* IDL:   NTTIME last_logoff; */
4862
/* IDL:   samr_LogonHours logon_hours; */
4863
/* IDL:   uint16 bad_password_count; */
4864
/* IDL:   uint16 logon_count; */
4865
/* IDL:   NTTIME last_password_change; */
4866
/* IDL:   NTTIME acct_expiry; */
4867
/* IDL:   samr_AcctFlags acct_flags; */
4868
/* IDL: } */
4869
4870
static unsigned
4871
samr_dissect_element_UserInfo5_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4872
0
{
4873
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_account_name);
4874
4875
0
  return offset;
4876
0
}
4877
4878
static unsigned
4879
samr_dissect_element_UserInfo5_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4880
0
{
4881
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_full_name);
4882
4883
0
  return offset;
4884
0
}
4885
4886
static unsigned
4887
samr_dissect_element_UserInfo5_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4888
0
{
4889
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4890
4891
0
  return offset;
4892
0
}
4893
4894
static unsigned
4895
samr_dissect_element_UserInfo5_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4896
0
{
4897
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_primary_gid, 0);
4898
4899
0
  return offset;
4900
0
}
4901
4902
static unsigned
4903
samr_dissect_element_UserInfo5_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4904
0
{
4905
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_directory);
4906
4907
0
  return offset;
4908
0
}
4909
4910
static unsigned
4911
samr_dissect_element_UserInfo5_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4912
0
{
4913
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_drive);
4914
4915
0
  return offset;
4916
0
}
4917
4918
static unsigned
4919
samr_dissect_element_UserInfo5_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4920
0
{
4921
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_logon_script);
4922
4923
0
  return offset;
4924
0
}
4925
4926
static unsigned
4927
samr_dissect_element_UserInfo5_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4928
0
{
4929
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_profile_path);
4930
4931
0
  return offset;
4932
0
}
4933
4934
static unsigned
4935
samr_dissect_element_UserInfo5_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4936
0
{
4937
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_description);
4938
4939
0
  return offset;
4940
0
}
4941
4942
static unsigned
4943
samr_dissect_element_UserInfo5_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4944
0
{
4945
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_workstations);
4946
4947
0
  return offset;
4948
0
}
4949
4950
static unsigned
4951
samr_dissect_element_UserInfo5_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4952
0
{
4953
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logon);
4954
4955
0
  return offset;
4956
0
}
4957
4958
static unsigned
4959
samr_dissect_element_UserInfo5_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4960
0
{
4961
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logoff);
4962
4963
0
  return offset;
4964
0
}
4965
4966
static unsigned
4967
samr_dissect_element_UserInfo5_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4968
0
{
4969
0
  offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo5_logon_hours,0);
4970
4971
0
  return offset;
4972
0
}
4973
4974
static unsigned
4975
samr_dissect_element_UserInfo5_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4976
0
{
4977
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_bad_password_count, 0);
4978
4979
0
  return offset;
4980
0
}
4981
4982
static unsigned
4983
samr_dissect_element_UserInfo5_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4984
0
{
4985
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_logon_count, 0);
4986
4987
0
  return offset;
4988
0
}
4989
4990
static unsigned
4991
samr_dissect_element_UserInfo5_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4992
0
{
4993
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_password_change);
4994
4995
0
  return offset;
4996
0
}
4997
4998
static unsigned
4999
samr_dissect_element_UserInfo5_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5000
0
{
5001
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_expiry);
5002
5003
0
  return offset;
5004
0
}
5005
5006
static unsigned
5007
samr_dissect_element_UserInfo5_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5008
0
{
5009
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_flags, 0);
5010
5011
0
  return offset;
5012
0
}
5013
5014
unsigned
5015
samr_dissect_struct_UserInfo5(tvbuff_t *tvb _U_, unsigned 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_)
5016
0
{
5017
0
  proto_item *item = NULL;
5018
0
  proto_tree *tree = NULL;
5019
0
  unsigned old_offset;
5020
5021
0
  ALIGN_TO_5_BYTES;
5022
5023
0
  old_offset = offset;
5024
5025
0
  if (parent_tree) {
5026
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5027
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo5);
5028
0
  }
5029
5030
0
  offset = samr_dissect_element_UserInfo5_account_name(tvb, offset, pinfo, tree, di, drep);
5031
5032
0
  offset = samr_dissect_element_UserInfo5_full_name(tvb, offset, pinfo, tree, di, drep);
5033
5034
0
  offset = samr_dissect_element_UserInfo5_rid(tvb, offset, pinfo, tree, di, drep);
5035
5036
0
  offset = samr_dissect_element_UserInfo5_primary_gid(tvb, offset, pinfo, tree, di, drep);
5037
5038
0
  offset = samr_dissect_element_UserInfo5_home_directory(tvb, offset, pinfo, tree, di, drep);
5039
5040
0
  offset = samr_dissect_element_UserInfo5_home_drive(tvb, offset, pinfo, tree, di, drep);
5041
5042
0
  offset = samr_dissect_element_UserInfo5_logon_script(tvb, offset, pinfo, tree, di, drep);
5043
5044
0
  offset = samr_dissect_element_UserInfo5_profile_path(tvb, offset, pinfo, tree, di, drep);
5045
5046
0
  offset = samr_dissect_element_UserInfo5_description(tvb, offset, pinfo, tree, di, drep);
5047
5048
0
  offset = samr_dissect_element_UserInfo5_workstations(tvb, offset, pinfo, tree, di, drep);
5049
5050
0
  offset = samr_dissect_element_UserInfo5_last_logon(tvb, offset, pinfo, tree, di, drep);
5051
5052
0
  offset = samr_dissect_element_UserInfo5_last_logoff(tvb, offset, pinfo, tree, di, drep);
5053
5054
0
  offset = samr_dissect_element_UserInfo5_logon_hours(tvb, offset, pinfo, tree, di, drep);
5055
5056
0
  offset = samr_dissect_element_UserInfo5_bad_password_count(tvb, offset, pinfo, tree, di, drep);
5057
5058
0
  offset = samr_dissect_element_UserInfo5_logon_count(tvb, offset, pinfo, tree, di, drep);
5059
5060
0
  offset = samr_dissect_element_UserInfo5_last_password_change(tvb, offset, pinfo, tree, di, drep);
5061
5062
0
  offset = samr_dissect_element_UserInfo5_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5063
5064
0
  offset = samr_dissect_element_UserInfo5_acct_flags(tvb, offset, pinfo, tree, di, drep);
5065
5066
5067
0
  proto_item_set_len(item, offset-old_offset);
5068
5069
5070
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5071
0
    ALIGN_TO_5_BYTES;
5072
0
  }
5073
5074
0
  return offset;
5075
0
}
5076
5077
5078
/* IDL: struct { */
5079
/* IDL:   lsa_String account_name; */
5080
/* IDL:   lsa_String full_name; */
5081
/* IDL: } */
5082
5083
static unsigned
5084
samr_dissect_element_UserInfo6_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5085
0
{
5086
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_account_name);
5087
5088
0
  return offset;
5089
0
}
5090
5091
static unsigned
5092
samr_dissect_element_UserInfo6_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5093
0
{
5094
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_full_name);
5095
5096
0
  return offset;
5097
0
}
5098
5099
unsigned
5100
samr_dissect_struct_UserInfo6(tvbuff_t *tvb _U_, unsigned 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_)
5101
0
{
5102
0
  proto_item *item = NULL;
5103
0
  proto_tree *tree = NULL;
5104
0
  unsigned old_offset;
5105
5106
0
  ALIGN_TO_5_BYTES;
5107
5108
0
  old_offset = offset;
5109
5110
0
  if (parent_tree) {
5111
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5112
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo6);
5113
0
  }
5114
5115
0
  offset = samr_dissect_element_UserInfo6_account_name(tvb, offset, pinfo, tree, di, drep);
5116
5117
0
  offset = samr_dissect_element_UserInfo6_full_name(tvb, offset, pinfo, tree, di, drep);
5118
5119
5120
0
  proto_item_set_len(item, offset-old_offset);
5121
5122
5123
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5124
0
    ALIGN_TO_5_BYTES;
5125
0
  }
5126
5127
0
  return offset;
5128
0
}
5129
5130
5131
/* IDL: struct { */
5132
/* IDL:   lsa_String account_name; */
5133
/* IDL: } */
5134
5135
static unsigned
5136
samr_dissect_element_UserInfo7_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5137
0
{
5138
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo7_account_name);
5139
5140
0
  return offset;
5141
0
}
5142
5143
unsigned
5144
samr_dissect_struct_UserInfo7(tvbuff_t *tvb _U_, unsigned 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_)
5145
0
{
5146
0
  proto_item *item = NULL;
5147
0
  proto_tree *tree = NULL;
5148
0
  unsigned old_offset;
5149
5150
0
  ALIGN_TO_5_BYTES;
5151
5152
0
  old_offset = offset;
5153
5154
0
  if (parent_tree) {
5155
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5156
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo7);
5157
0
  }
5158
5159
0
  offset = samr_dissect_element_UserInfo7_account_name(tvb, offset, pinfo, tree, di, drep);
5160
5161
5162
0
  proto_item_set_len(item, offset-old_offset);
5163
5164
5165
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5166
0
    ALIGN_TO_5_BYTES;
5167
0
  }
5168
5169
0
  return offset;
5170
0
}
5171
5172
5173
/* IDL: struct { */
5174
/* IDL:   lsa_String full_name; */
5175
/* IDL: } */
5176
5177
static unsigned
5178
samr_dissect_element_UserInfo8_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5179
0
{
5180
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo8_full_name);
5181
5182
0
  return offset;
5183
0
}
5184
5185
unsigned
5186
samr_dissect_struct_UserInfo8(tvbuff_t *tvb _U_, unsigned 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_)
5187
0
{
5188
0
  proto_item *item = NULL;
5189
0
  proto_tree *tree = NULL;
5190
0
  unsigned old_offset;
5191
5192
0
  ALIGN_TO_5_BYTES;
5193
5194
0
  old_offset = offset;
5195
5196
0
  if (parent_tree) {
5197
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5198
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo8);
5199
0
  }
5200
5201
0
  offset = samr_dissect_element_UserInfo8_full_name(tvb, offset, pinfo, tree, di, drep);
5202
5203
5204
0
  proto_item_set_len(item, offset-old_offset);
5205
5206
5207
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5208
0
    ALIGN_TO_5_BYTES;
5209
0
  }
5210
5211
0
  return offset;
5212
0
}
5213
5214
5215
/* IDL: struct { */
5216
/* IDL:   uint32 primary_gid; */
5217
/* IDL: } */
5218
5219
static unsigned
5220
samr_dissect_element_UserInfo9_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5221
0
{
5222
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo9_primary_gid, 0);
5223
5224
0
  return offset;
5225
0
}
5226
5227
unsigned
5228
samr_dissect_struct_UserInfo9(tvbuff_t *tvb _U_, unsigned 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_)
5229
0
{
5230
0
  proto_item *item = NULL;
5231
0
  proto_tree *tree = NULL;
5232
0
  unsigned old_offset;
5233
5234
0
  ALIGN_TO_4_BYTES;
5235
5236
0
  old_offset = offset;
5237
5238
0
  if (parent_tree) {
5239
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5240
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo9);
5241
0
  }
5242
5243
0
  offset = samr_dissect_element_UserInfo9_primary_gid(tvb, offset, pinfo, tree, di, drep);
5244
5245
5246
0
  proto_item_set_len(item, offset-old_offset);
5247
5248
5249
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5250
0
    ALIGN_TO_4_BYTES;
5251
0
  }
5252
5253
0
  return offset;
5254
0
}
5255
5256
5257
/* IDL: struct { */
5258
/* IDL:   lsa_String home_directory; */
5259
/* IDL:   lsa_String home_drive; */
5260
/* IDL: } */
5261
5262
static unsigned
5263
samr_dissect_element_UserInfo10_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5264
0
{
5265
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_directory);
5266
5267
0
  return offset;
5268
0
}
5269
5270
static unsigned
5271
samr_dissect_element_UserInfo10_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5272
0
{
5273
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_drive);
5274
5275
0
  return offset;
5276
0
}
5277
5278
unsigned
5279
samr_dissect_struct_UserInfo10(tvbuff_t *tvb _U_, unsigned 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_)
5280
0
{
5281
0
  proto_item *item = NULL;
5282
0
  proto_tree *tree = NULL;
5283
0
  unsigned old_offset;
5284
5285
0
  ALIGN_TO_5_BYTES;
5286
5287
0
  old_offset = offset;
5288
5289
0
  if (parent_tree) {
5290
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5291
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo10);
5292
0
  }
5293
5294
0
  offset = samr_dissect_element_UserInfo10_home_directory(tvb, offset, pinfo, tree, di, drep);
5295
5296
0
  offset = samr_dissect_element_UserInfo10_home_drive(tvb, offset, pinfo, tree, di, drep);
5297
5298
5299
0
  proto_item_set_len(item, offset-old_offset);
5300
5301
5302
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5303
0
    ALIGN_TO_5_BYTES;
5304
0
  }
5305
5306
0
  return offset;
5307
0
}
5308
5309
5310
/* IDL: struct { */
5311
/* IDL:   lsa_String logon_script; */
5312
/* IDL: } */
5313
5314
static unsigned
5315
samr_dissect_element_UserInfo11_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5316
0
{
5317
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo11_logon_script);
5318
5319
0
  return offset;
5320
0
}
5321
5322
unsigned
5323
samr_dissect_struct_UserInfo11(tvbuff_t *tvb _U_, unsigned 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_)
5324
0
{
5325
0
  proto_item *item = NULL;
5326
0
  proto_tree *tree = NULL;
5327
0
  unsigned old_offset;
5328
5329
0
  ALIGN_TO_5_BYTES;
5330
5331
0
  old_offset = offset;
5332
5333
0
  if (parent_tree) {
5334
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5335
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo11);
5336
0
  }
5337
5338
0
  offset = samr_dissect_element_UserInfo11_logon_script(tvb, offset, pinfo, tree, di, drep);
5339
5340
5341
0
  proto_item_set_len(item, offset-old_offset);
5342
5343
5344
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5345
0
    ALIGN_TO_5_BYTES;
5346
0
  }
5347
5348
0
  return offset;
5349
0
}
5350
5351
5352
/* IDL: struct { */
5353
/* IDL:   lsa_String profile_path; */
5354
/* IDL: } */
5355
5356
static unsigned
5357
samr_dissect_element_UserInfo12_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5358
0
{
5359
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo12_profile_path);
5360
5361
0
  return offset;
5362
0
}
5363
5364
unsigned
5365
samr_dissect_struct_UserInfo12(tvbuff_t *tvb _U_, unsigned 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_)
5366
0
{
5367
0
  proto_item *item = NULL;
5368
0
  proto_tree *tree = NULL;
5369
0
  unsigned old_offset;
5370
5371
0
  ALIGN_TO_5_BYTES;
5372
5373
0
  old_offset = offset;
5374
5375
0
  if (parent_tree) {
5376
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5377
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo12);
5378
0
  }
5379
5380
0
  offset = samr_dissect_element_UserInfo12_profile_path(tvb, offset, pinfo, tree, di, drep);
5381
5382
5383
0
  proto_item_set_len(item, offset-old_offset);
5384
5385
5386
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5387
0
    ALIGN_TO_5_BYTES;
5388
0
  }
5389
5390
0
  return offset;
5391
0
}
5392
5393
5394
/* IDL: struct { */
5395
/* IDL:   lsa_String description; */
5396
/* IDL: } */
5397
5398
static unsigned
5399
samr_dissect_element_UserInfo13_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5400
0
{
5401
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo13_description);
5402
5403
0
  return offset;
5404
0
}
5405
5406
unsigned
5407
samr_dissect_struct_UserInfo13(tvbuff_t *tvb _U_, unsigned 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_)
5408
0
{
5409
0
  proto_item *item = NULL;
5410
0
  proto_tree *tree = NULL;
5411
0
  unsigned old_offset;
5412
5413
0
  ALIGN_TO_5_BYTES;
5414
5415
0
  old_offset = offset;
5416
5417
0
  if (parent_tree) {
5418
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5419
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo13);
5420
0
  }
5421
5422
0
  offset = samr_dissect_element_UserInfo13_description(tvb, offset, pinfo, tree, di, drep);
5423
5424
5425
0
  proto_item_set_len(item, offset-old_offset);
5426
5427
5428
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5429
0
    ALIGN_TO_5_BYTES;
5430
0
  }
5431
5432
0
  return offset;
5433
0
}
5434
5435
5436
/* IDL: struct { */
5437
/* IDL:   lsa_String workstations; */
5438
/* IDL: } */
5439
5440
static unsigned
5441
samr_dissect_element_UserInfo14_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5442
0
{
5443
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo14_workstations);
5444
5445
0
  return offset;
5446
0
}
5447
5448
unsigned
5449
samr_dissect_struct_UserInfo14(tvbuff_t *tvb _U_, unsigned 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_)
5450
0
{
5451
0
  proto_item *item = NULL;
5452
0
  proto_tree *tree = NULL;
5453
0
  unsigned old_offset;
5454
5455
0
  ALIGN_TO_5_BYTES;
5456
5457
0
  old_offset = offset;
5458
5459
0
  if (parent_tree) {
5460
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5461
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo14);
5462
0
  }
5463
5464
0
  offset = samr_dissect_element_UserInfo14_workstations(tvb, offset, pinfo, tree, di, drep);
5465
5466
5467
0
  proto_item_set_len(item, offset-old_offset);
5468
5469
5470
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5471
0
    ALIGN_TO_5_BYTES;
5472
0
  }
5473
5474
0
  return offset;
5475
0
}
5476
5477
5478
/* IDL: struct { */
5479
/* IDL:   samr_AcctFlags acct_flags; */
5480
/* IDL: } */
5481
5482
static unsigned
5483
samr_dissect_element_UserInfo16_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5484
0
{
5485
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo16_acct_flags, 0);
5486
5487
0
  return offset;
5488
0
}
5489
5490
unsigned
5491
samr_dissect_struct_UserInfo16(tvbuff_t *tvb _U_, unsigned 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_)
5492
0
{
5493
0
  proto_item *item = NULL;
5494
0
  proto_tree *tree = NULL;
5495
0
  unsigned old_offset;
5496
5497
0
  ALIGN_TO_4_BYTES;
5498
5499
0
  old_offset = offset;
5500
5501
0
  if (parent_tree) {
5502
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5503
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo16);
5504
0
  }
5505
5506
0
  offset = samr_dissect_element_UserInfo16_acct_flags(tvb, offset, pinfo, tree, di, drep);
5507
5508
5509
0
  proto_item_set_len(item, offset-old_offset);
5510
5511
5512
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5513
0
    ALIGN_TO_4_BYTES;
5514
0
  }
5515
5516
0
  return offset;
5517
0
}
5518
5519
5520
/* IDL: struct { */
5521
/* IDL:   NTTIME acct_expiry; */
5522
/* IDL: } */
5523
5524
static unsigned
5525
samr_dissect_element_UserInfo17_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5526
0
{
5527
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo17_acct_expiry);
5528
5529
0
  return offset;
5530
0
}
5531
5532
unsigned
5533
samr_dissect_struct_UserInfo17(tvbuff_t *tvb _U_, unsigned 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_)
5534
0
{
5535
0
  proto_item *item = NULL;
5536
0
  proto_tree *tree = NULL;
5537
0
  unsigned old_offset;
5538
5539
0
  ALIGN_TO_4_BYTES;
5540
5541
0
  old_offset = offset;
5542
5543
0
  if (parent_tree) {
5544
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5545
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo17);
5546
0
  }
5547
5548
0
  offset = samr_dissect_element_UserInfo17_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5549
5550
5551
0
  proto_item_set_len(item, offset-old_offset);
5552
5553
5554
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5555
0
    ALIGN_TO_4_BYTES;
5556
0
  }
5557
5558
0
  return offset;
5559
0
}
5560
5561
5562
/* IDL: struct { */
5563
/* IDL:   uint8 hash[16]; */
5564
/* IDL: } */
5565
5566
static unsigned
5567
samr_dissect_element_Password_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5568
0
{
5569
0
  int i;
5570
0
  for (i = 0; i < 16; i++)
5571
0
    offset = samr_dissect_element_Password_hash_(tvb, offset, pinfo, tree, di, drep);
5572
5573
0
  return offset;
5574
0
}
5575
5576
static unsigned
5577
samr_dissect_element_Password_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5578
0
{
5579
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Password_hash, 0);
5580
5581
0
  return offset;
5582
0
}
5583
5584
unsigned
5585
samr_dissect_struct_Password(tvbuff_t *tvb _U_, unsigned 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_)
5586
0
{
5587
0
  proto_item *item = NULL;
5588
0
  proto_tree *tree = NULL;
5589
0
  unsigned old_offset;
5590
5591
0
  old_offset = offset;
5592
5593
0
  if (parent_tree) {
5594
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5595
0
    tree = proto_item_add_subtree(item, ett_samr_samr_Password);
5596
0
  }
5597
5598
0
  offset = samr_dissect_element_Password_hash(tvb, offset, pinfo, tree, di, drep);
5599
5600
5601
0
  proto_item_set_len(item, offset-old_offset);
5602
5603
5604
0
  return offset;
5605
0
}
5606
5607
5608
/* IDL: struct { */
5609
/* IDL:   samr_Password nt_pwd; */
5610
/* IDL:   samr_Password lm_pwd; */
5611
/* IDL:   uint8 nt_pwd_active; */
5612
/* IDL:   uint8 lm_pwd_active; */
5613
/* IDL:   uint8 password_expired; */
5614
/* IDL: } */
5615
5616
static unsigned
5617
samr_dissect_element_UserInfo18_nt_pwd(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5618
0
{
5619
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_nt_pwd,0);
5620
5621
0
  return offset;
5622
0
}
5623
5624
static unsigned
5625
samr_dissect_element_UserInfo18_lm_pwd(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5626
0
{
5627
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_lm_pwd,0);
5628
5629
0
  return offset;
5630
0
}
5631
5632
static unsigned
5633
samr_dissect_element_UserInfo18_nt_pwd_active(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5634
0
{
5635
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_nt_pwd_active, 0);
5636
5637
0
  return offset;
5638
0
}
5639
5640
static unsigned
5641
samr_dissect_element_UserInfo18_lm_pwd_active(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5642
0
{
5643
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_lm_pwd_active, 0);
5644
5645
0
  return offset;
5646
0
}
5647
5648
static unsigned
5649
samr_dissect_element_UserInfo18_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5650
0
{
5651
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_password_expired, 0);
5652
5653
0
  return offset;
5654
0
}
5655
5656
unsigned
5657
samr_dissect_struct_UserInfo18(tvbuff_t *tvb _U_, unsigned 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_)
5658
0
{
5659
0
  proto_item *item = NULL;
5660
0
  proto_tree *tree = NULL;
5661
0
  unsigned old_offset;
5662
5663
0
  old_offset = offset;
5664
5665
0
  if (parent_tree) {
5666
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5667
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo18);
5668
0
  }
5669
5670
0
  offset = samr_dissect_element_UserInfo18_nt_pwd(tvb, offset, pinfo, tree, di, drep);
5671
5672
0
  offset = samr_dissect_element_UserInfo18_lm_pwd(tvb, offset, pinfo, tree, di, drep);
5673
5674
0
  offset = samr_dissect_element_UserInfo18_nt_pwd_active(tvb, offset, pinfo, tree, di, drep);
5675
5676
0
  offset = samr_dissect_element_UserInfo18_lm_pwd_active(tvb, offset, pinfo, tree, di, drep);
5677
5678
0
  offset = samr_dissect_element_UserInfo18_password_expired(tvb, offset, pinfo, tree, di, drep);
5679
5680
5681
0
  proto_item_set_len(item, offset-old_offset);
5682
5683
5684
0
  return offset;
5685
0
}
5686
5687
5688
/* IDL: struct { */
5689
/* IDL:   lsa_BinaryString parameters; */
5690
/* IDL: } */
5691
5692
static unsigned
5693
samr_dissect_element_UserInfo20_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5694
0
{
5695
0
  offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo20_parameters, 0);
5696
5697
0
  return offset;
5698
0
}
5699
5700
unsigned
5701
samr_dissect_struct_UserInfo20(tvbuff_t *tvb _U_, unsigned 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_)
5702
0
{
5703
0
  proto_item *item = NULL;
5704
0
  proto_tree *tree = NULL;
5705
0
  unsigned old_offset;
5706
5707
0
  ALIGN_TO_5_BYTES;
5708
5709
0
  old_offset = offset;
5710
5711
0
  if (parent_tree) {
5712
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5713
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo20);
5714
0
  }
5715
5716
0
  offset = samr_dissect_element_UserInfo20_parameters(tvb, offset, pinfo, tree, di, drep);
5717
5718
5719
0
  proto_item_set_len(item, offset-old_offset);
5720
5721
5722
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
5723
0
    ALIGN_TO_5_BYTES;
5724
0
  }
5725
5726
0
  return offset;
5727
0
}
5728
5729
5730
/* IDL: bitmap { */
5731
/* IDL:   SAMR_FIELD_ACCOUNT_NAME =  0x00000001 , */
5732
/* IDL:   SAMR_FIELD_FULL_NAME =  0x00000002 , */
5733
/* IDL:   SAMR_FIELD_RID =  0x00000004 , */
5734
/* IDL:   SAMR_FIELD_PRIMARY_GID =  0x00000008 , */
5735
/* IDL:   SAMR_FIELD_DESCRIPTION =  0x00000010 , */
5736
/* IDL:   SAMR_FIELD_COMMENT =  0x00000020 , */
5737
/* IDL:   SAMR_FIELD_HOME_DIRECTORY =  0x00000040 , */
5738
/* IDL:   SAMR_FIELD_HOME_DRIVE =  0x00000080 , */
5739
/* IDL:   SAMR_FIELD_LOGON_SCRIPT =  0x00000100 , */
5740
/* IDL:   SAMR_FIELD_PROFILE_PATH =  0x00000200 , */
5741
/* IDL:   SAMR_FIELD_WORKSTATIONS =  0x00000400 , */
5742
/* IDL:   SAMR_FIELD_LAST_LOGON =  0x00000800 , */
5743
/* IDL:   SAMR_FIELD_LAST_LOGOFF =  0x00001000 , */
5744
/* IDL:   SAMR_FIELD_LOGON_HOURS =  0x00002000 , */
5745
/* IDL:   SAMR_FIELD_BAD_PWD_COUNT =  0x00004000 , */
5746
/* IDL:   SAMR_FIELD_NUM_LOGONS =  0x00008000 , */
5747
/* IDL:   SAMR_FIELD_ALLOW_PWD_CHANGE =  0x00010000 , */
5748
/* IDL:   SAMR_FIELD_FORCE_PWD_CHANGE =  0x00020000 , */
5749
/* IDL:   SAMR_FIELD_LAST_PWD_CHANGE =  0x00040000 , */
5750
/* IDL:   SAMR_FIELD_ACCT_EXPIRY =  0x00080000 , */
5751
/* IDL:   SAMR_FIELD_ACCT_FLAGS =  0x00100000 , */
5752
/* IDL:   SAMR_FIELD_PARAMETERS =  0x00200000 , */
5753
/* IDL:   SAMR_FIELD_COUNTRY_CODE =  0x00400000 , */
5754
/* IDL:   SAMR_FIELD_CODE_PAGE =  0x00800000 , */
5755
/* IDL:   SAMR_FIELD_NT_PASSWORD_PRESENT =  0x01000000 , */
5756
/* IDL:   SAMR_FIELD_LM_PASSWORD_PRESENT =  0x02000000 , */
5757
/* IDL:   SAMR_FIELD_PRIVATE_DATA =  0x04000000 , */
5758
/* IDL:   SAMR_FIELD_EXPIRED_FLAG =  0x08000000 , */
5759
/* IDL:   SAMR_FIELD_SEC_DESC =  0x10000000 , */
5760
/* IDL:   SAMR_FIELD_OWF_PWD =  0x20000000 , */
5761
/* IDL: } */
5762
5763
unsigned
5764
samr_dissect_bitmap_FieldsPresent(tvbuff_t *tvb _U_, unsigned 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_)
5765
0
{
5766
0
  proto_item *item;
5767
0
  static int * const samr_samr_FieldsPresent_fields[] = {
5768
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME,
5769
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME,
5770
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_RID,
5771
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID,
5772
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION,
5773
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT,
5774
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY,
5775
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE,
5776
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT,
5777
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH,
5778
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS,
5779
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON,
5780
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF,
5781
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS,
5782
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT,
5783
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS,
5784
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE,
5785
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE,
5786
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE,
5787
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY,
5788
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS,
5789
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS,
5790
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE,
5791
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE,
5792
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT,
5793
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT,
5794
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA,
5795
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG,
5796
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC,
5797
0
    &hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD,
5798
0
    NULL
5799
0
  };
5800
0
  uint32_t flags;
5801
0
  ALIGN_TO_4_BYTES;
5802
5803
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
5804
0
        ett_samr_samr_FieldsPresent, samr_samr_FieldsPresent_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
5805
5806
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
5807
5808
0
  if (!flags)
5809
0
    proto_item_append_text(item, ": (No values set)");
5810
5811
0
  if (flags & (~0x3fffffff)) {
5812
0
    flags &= (~0x3fffffff);
5813
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
5814
0
  }
5815
5816
0
  return offset;
5817
0
}
5818
5819
5820
/* IDL: struct { */
5821
/* IDL:   NTTIME last_logon; */
5822
/* IDL:   NTTIME last_logoff; */
5823
/* IDL:   NTTIME last_password_change; */
5824
/* IDL:   NTTIME acct_expiry; */
5825
/* IDL:   NTTIME allow_password_change; */
5826
/* IDL:   NTTIME force_password_change; */
5827
/* IDL:   lsa_String account_name; */
5828
/* IDL:   lsa_String full_name; */
5829
/* IDL:   lsa_String home_directory; */
5830
/* IDL:   lsa_String home_drive; */
5831
/* IDL:   lsa_String logon_script; */
5832
/* IDL:   lsa_String profile_path; */
5833
/* IDL:   lsa_String description; */
5834
/* IDL:   lsa_String workstations; */
5835
/* IDL:   lsa_String comment; */
5836
/* IDL:   lsa_BinaryString parameters; */
5837
/* IDL:   lsa_BinaryString lm_owf_password; */
5838
/* IDL:   lsa_BinaryString nt_owf_password; */
5839
/* IDL:   lsa_String private_data; */
5840
/* IDL:   uint32 buf_count; */
5841
/* IDL:   [size_is(buf_count)] [unique(1)] uint8 *buffer; */
5842
/* IDL:   uint32 rid; */
5843
/* IDL:   uint32 primary_gid; */
5844
/* IDL:   samr_AcctFlags acct_flags; */
5845
/* IDL:   samr_FieldsPresent fields_present; */
5846
/* IDL:   samr_LogonHours logon_hours; */
5847
/* IDL:   uint16 bad_password_count; */
5848
/* IDL:   uint16 logon_count; */
5849
/* IDL:   uint16 country_code; */
5850
/* IDL:   uint16 code_page; */
5851
/* IDL:   uint8 lm_password_set; */
5852
/* IDL:   uint8 nt_password_set; */
5853
/* IDL:   uint8 password_expired; */
5854
/* IDL:   uint8 private_data_sensitive; */
5855
/* IDL: } */
5856
5857
static unsigned
5858
samr_dissect_element_UserInfo21_last_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5859
0
{
5860
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logon);
5861
5862
0
  return offset;
5863
0
}
5864
5865
static unsigned
5866
samr_dissect_element_UserInfo21_last_logoff(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5867
0
{
5868
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logoff);
5869
5870
0
  return offset;
5871
0
}
5872
5873
static unsigned
5874
samr_dissect_element_UserInfo21_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5875
0
{
5876
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_password_change);
5877
5878
0
  return offset;
5879
0
}
5880
5881
static unsigned
5882
samr_dissect_element_UserInfo21_acct_expiry(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5883
0
{
5884
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_expiry);
5885
5886
0
  return offset;
5887
0
}
5888
5889
static unsigned
5890
samr_dissect_element_UserInfo21_allow_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5891
0
{
5892
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_allow_password_change);
5893
5894
0
  return offset;
5895
0
}
5896
5897
static unsigned
5898
samr_dissect_element_UserInfo21_force_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5899
0
{
5900
0
  offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_force_password_change);
5901
5902
0
  return offset;
5903
0
}
5904
5905
static unsigned
5906
samr_dissect_element_UserInfo21_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5907
0
{
5908
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_account_name);
5909
5910
0
  return offset;
5911
0
}
5912
5913
static unsigned
5914
samr_dissect_element_UserInfo21_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5915
0
{
5916
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_full_name);
5917
5918
0
  return offset;
5919
0
}
5920
5921
static unsigned
5922
samr_dissect_element_UserInfo21_home_directory(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5923
0
{
5924
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_directory);
5925
5926
0
  return offset;
5927
0
}
5928
5929
static unsigned
5930
samr_dissect_element_UserInfo21_home_drive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5931
0
{
5932
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_drive);
5933
5934
0
  return offset;
5935
0
}
5936
5937
static unsigned
5938
samr_dissect_element_UserInfo21_logon_script(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5939
0
{
5940
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_logon_script);
5941
5942
0
  return offset;
5943
0
}
5944
5945
static unsigned
5946
samr_dissect_element_UserInfo21_profile_path(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5947
0
{
5948
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_profile_path);
5949
5950
0
  return offset;
5951
0
}
5952
5953
static unsigned
5954
samr_dissect_element_UserInfo21_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5955
0
{
5956
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_description);
5957
5958
0
  return offset;
5959
0
}
5960
5961
static unsigned
5962
samr_dissect_element_UserInfo21_workstations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5963
0
{
5964
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_workstations);
5965
5966
0
  return offset;
5967
0
}
5968
5969
static unsigned
5970
samr_dissect_element_UserInfo21_comment(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5971
0
{
5972
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_comment);
5973
5974
0
  return offset;
5975
0
}
5976
5977
static unsigned
5978
samr_dissect_element_UserInfo21_parameters(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5979
0
{
5980
0
  offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_parameters, 0);
5981
5982
0
  return offset;
5983
0
}
5984
5985
static unsigned
5986
samr_dissect_element_UserInfo21_lm_owf_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5987
0
{
5988
0
  offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_lm_owf_password, 0);
5989
5990
0
  return offset;
5991
0
}
5992
5993
static unsigned
5994
samr_dissect_element_UserInfo21_nt_owf_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5995
0
{
5996
0
  offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_nt_owf_password, 0);
5997
5998
0
  return offset;
5999
0
}
6000
6001
static unsigned
6002
samr_dissect_element_UserInfo21_private_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6003
0
{
6004
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_private_data);
6005
6006
0
  return offset;
6007
0
}
6008
6009
static unsigned
6010
samr_dissect_element_UserInfo21_buf_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6011
0
{
6012
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buf_count, 0);
6013
6014
0
  return offset;
6015
0
}
6016
6017
static unsigned
6018
samr_dissect_element_UserInfo21_buffer(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6019
0
{
6020
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_UserInfo21_buffer_, NDR_POINTER_UNIQUE, "Pointer to Buffer (uint8)",hf_samr_samr_UserInfo21_buffer);
6021
6022
0
  return offset;
6023
0
}
6024
6025
static unsigned
6026
samr_dissect_element_UserInfo21_buffer_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6027
0
{
6028
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_UserInfo21_buffer__);
6029
6030
0
  return offset;
6031
0
}
6032
6033
static unsigned
6034
samr_dissect_element_UserInfo21_buffer__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6035
0
{
6036
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buffer, 0);
6037
6038
0
  return offset;
6039
0
}
6040
6041
static unsigned
6042
samr_dissect_element_UserInfo21_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6043
0
{
6044
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
6045
6046
0
  return offset;
6047
0
}
6048
6049
static unsigned
6050
samr_dissect_element_UserInfo21_primary_gid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6051
0
{
6052
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_primary_gid, 0);
6053
6054
0
  return offset;
6055
0
}
6056
6057
static unsigned
6058
samr_dissect_element_UserInfo21_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6059
0
{
6060
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_flags, 0);
6061
6062
0
  return offset;
6063
0
}
6064
6065
static unsigned
6066
samr_dissect_element_UserInfo21_fields_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6067
0
{
6068
0
  offset = samr_dissect_bitmap_FieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_fields_present, 0);
6069
6070
0
  return offset;
6071
0
}
6072
6073
static unsigned
6074
samr_dissect_element_UserInfo21_logon_hours(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6075
0
{
6076
0
  offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo21_logon_hours,0);
6077
6078
0
  return offset;
6079
0
}
6080
6081
static unsigned
6082
samr_dissect_element_UserInfo21_bad_password_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6083
0
{
6084
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_bad_password_count, 0);
6085
6086
0
  return offset;
6087
0
}
6088
6089
static unsigned
6090
samr_dissect_element_UserInfo21_logon_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6091
0
{
6092
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_logon_count, 0);
6093
6094
0
  return offset;
6095
0
}
6096
6097
static unsigned
6098
samr_dissect_element_UserInfo21_country_code(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6099
0
{
6100
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_country_code, 0);
6101
6102
0
  return offset;
6103
0
}
6104
6105
static unsigned
6106
samr_dissect_element_UserInfo21_code_page(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6107
0
{
6108
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_code_page, 0);
6109
6110
0
  return offset;
6111
0
}
6112
6113
static unsigned
6114
samr_dissect_element_UserInfo21_lm_password_set(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6115
0
{
6116
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_lm_password_set, 0);
6117
6118
0
  return offset;
6119
0
}
6120
6121
static unsigned
6122
samr_dissect_element_UserInfo21_nt_password_set(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6123
0
{
6124
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_nt_password_set, 0);
6125
6126
0
  return offset;
6127
0
}
6128
6129
static unsigned
6130
samr_dissect_element_UserInfo21_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6131
0
{
6132
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_password_expired, 0);
6133
6134
0
  return offset;
6135
0
}
6136
6137
static unsigned
6138
samr_dissect_element_UserInfo21_private_data_sensitive(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6139
0
{
6140
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_private_data_sensitive, 0);
6141
6142
0
  return offset;
6143
0
}
6144
6145
unsigned
6146
samr_dissect_struct_UserInfo21(tvbuff_t *tvb _U_, unsigned 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_)
6147
0
{
6148
0
  proto_item *item = NULL;
6149
0
  proto_tree *tree = NULL;
6150
0
  unsigned old_offset;
6151
6152
0
  ALIGN_TO_5_BYTES;
6153
6154
0
  old_offset = offset;
6155
6156
0
  if (parent_tree) {
6157
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6158
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo21);
6159
0
  }
6160
6161
0
  offset = samr_dissect_element_UserInfo21_last_logon(tvb, offset, pinfo, tree, di, drep);
6162
6163
0
  offset = samr_dissect_element_UserInfo21_last_logoff(tvb, offset, pinfo, tree, di, drep);
6164
6165
0
  offset = samr_dissect_element_UserInfo21_last_password_change(tvb, offset, pinfo, tree, di, drep);
6166
6167
0
  offset = samr_dissect_element_UserInfo21_acct_expiry(tvb, offset, pinfo, tree, di, drep);
6168
6169
0
  offset = samr_dissect_element_UserInfo21_allow_password_change(tvb, offset, pinfo, tree, di, drep);
6170
6171
0
  offset = samr_dissect_element_UserInfo21_force_password_change(tvb, offset, pinfo, tree, di, drep);
6172
6173
0
  offset = samr_dissect_element_UserInfo21_account_name(tvb, offset, pinfo, tree, di, drep);
6174
6175
0
  offset = samr_dissect_element_UserInfo21_full_name(tvb, offset, pinfo, tree, di, drep);
6176
6177
0
  offset = samr_dissect_element_UserInfo21_home_directory(tvb, offset, pinfo, tree, di, drep);
6178
6179
0
  offset = samr_dissect_element_UserInfo21_home_drive(tvb, offset, pinfo, tree, di, drep);
6180
6181
0
  offset = samr_dissect_element_UserInfo21_logon_script(tvb, offset, pinfo, tree, di, drep);
6182
6183
0
  offset = samr_dissect_element_UserInfo21_profile_path(tvb, offset, pinfo, tree, di, drep);
6184
6185
0
  offset = samr_dissect_element_UserInfo21_description(tvb, offset, pinfo, tree, di, drep);
6186
6187
0
  offset = samr_dissect_element_UserInfo21_workstations(tvb, offset, pinfo, tree, di, drep);
6188
6189
0
  offset = samr_dissect_element_UserInfo21_comment(tvb, offset, pinfo, tree, di, drep);
6190
6191
0
  offset = samr_dissect_element_UserInfo21_parameters(tvb, offset, pinfo, tree, di, drep);
6192
6193
0
  offset = samr_dissect_element_UserInfo21_lm_owf_password(tvb, offset, pinfo, tree, di, drep);
6194
6195
0
  offset = samr_dissect_element_UserInfo21_nt_owf_password(tvb, offset, pinfo, tree, di, drep);
6196
6197
0
  offset = samr_dissect_element_UserInfo21_private_data(tvb, offset, pinfo, tree, di, drep);
6198
6199
0
  offset = samr_dissect_element_UserInfo21_buf_count(tvb, offset, pinfo, tree, di, drep);
6200
6201
0
  offset = samr_dissect_element_UserInfo21_buffer(tvb, offset, pinfo, tree, di, drep);
6202
6203
0
  offset = samr_dissect_element_UserInfo21_rid(tvb, offset, pinfo, tree, di, drep);
6204
6205
0
  offset = samr_dissect_element_UserInfo21_primary_gid(tvb, offset, pinfo, tree, di, drep);
6206
6207
0
  offset = samr_dissect_element_UserInfo21_acct_flags(tvb, offset, pinfo, tree, di, drep);
6208
6209
0
  offset = samr_dissect_element_UserInfo21_fields_present(tvb, offset, pinfo, tree, di, drep);
6210
6211
0
  offset = samr_dissect_element_UserInfo21_logon_hours(tvb, offset, pinfo, tree, di, drep);
6212
6213
0
  offset = samr_dissect_element_UserInfo21_bad_password_count(tvb, offset, pinfo, tree, di, drep);
6214
6215
0
  offset = samr_dissect_element_UserInfo21_logon_count(tvb, offset, pinfo, tree, di, drep);
6216
6217
0
  offset = samr_dissect_element_UserInfo21_country_code(tvb, offset, pinfo, tree, di, drep);
6218
6219
0
  offset = samr_dissect_element_UserInfo21_code_page(tvb, offset, pinfo, tree, di, drep);
6220
6221
0
  offset = samr_dissect_element_UserInfo21_lm_password_set(tvb, offset, pinfo, tree, di, drep);
6222
6223
0
  offset = samr_dissect_element_UserInfo21_nt_password_set(tvb, offset, pinfo, tree, di, drep);
6224
6225
0
  offset = samr_dissect_element_UserInfo21_password_expired(tvb, offset, pinfo, tree, di, drep);
6226
6227
0
  offset = samr_dissect_element_UserInfo21_private_data_sensitive(tvb, offset, pinfo, tree, di, drep);
6228
6229
6230
0
  proto_item_set_len(item, offset-old_offset);
6231
6232
6233
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6234
0
    ALIGN_TO_5_BYTES;
6235
0
  }
6236
6237
0
  return offset;
6238
0
}
6239
6240
6241
/* IDL: struct { */
6242
/* IDL:   uint8 data[516]; */
6243
/* IDL: } */
6244
6245
static unsigned
6246
samr_dissect_element_CryptPassword_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6247
0
{
6248
0
  int i;
6249
0
  for (i = 0; i < 516; i++)
6250
0
    offset = samr_dissect_element_CryptPassword_data_(tvb, offset, pinfo, tree, di, drep);
6251
6252
0
  return offset;
6253
0
}
6254
6255
static unsigned
6256
samr_dissect_element_CryptPassword_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6257
0
{
6258
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPassword_data, 0);
6259
6260
0
  return offset;
6261
0
}
6262
6263
unsigned
6264
samr_dissect_struct_CryptPassword(tvbuff_t *tvb _U_, unsigned 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_)
6265
0
{
6266
0
  proto_item *item = NULL;
6267
0
  proto_tree *tree = NULL;
6268
0
  unsigned old_offset;
6269
6270
0
  old_offset = offset;
6271
6272
0
  if (parent_tree) {
6273
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6274
0
    tree = proto_item_add_subtree(item, ett_samr_samr_CryptPassword);
6275
0
  }
6276
6277
0
  offset = samr_dissect_element_CryptPassword_data(tvb, offset, pinfo, tree, di, drep);
6278
6279
6280
0
  proto_item_set_len(item, offset-old_offset);
6281
6282
6283
0
  return offset;
6284
0
}
6285
6286
6287
/* IDL: struct { */
6288
/* IDL:   samr_UserInfo21 info; */
6289
/* IDL:   samr_CryptPassword password; */
6290
/* IDL: } */
6291
6292
static unsigned
6293
samr_dissect_element_UserInfo23_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6294
0
{
6295
0
  offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_info,0);
6296
6297
0
  return offset;
6298
0
}
6299
6300
static unsigned
6301
samr_dissect_element_UserInfo23_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6302
0
{
6303
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_password,0);
6304
6305
0
  return offset;
6306
0
}
6307
6308
unsigned
6309
samr_dissect_struct_UserInfo23(tvbuff_t *tvb _U_, unsigned 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_)
6310
0
{
6311
0
  proto_item *item = NULL;
6312
0
  proto_tree *tree = NULL;
6313
0
  unsigned old_offset;
6314
6315
0
  ALIGN_TO_5_BYTES;
6316
6317
0
  old_offset = offset;
6318
6319
0
  if (parent_tree) {
6320
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6321
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo23);
6322
0
  }
6323
6324
0
  offset = samr_dissect_element_UserInfo23_info(tvb, offset, pinfo, tree, di, drep);
6325
6326
0
  offset = samr_dissect_element_UserInfo23_password(tvb, offset, pinfo, tree, di, drep);
6327
6328
6329
0
  proto_item_set_len(item, offset-old_offset);
6330
6331
6332
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6333
0
    ALIGN_TO_5_BYTES;
6334
0
  }
6335
6336
0
  return offset;
6337
0
}
6338
6339
6340
/* IDL: struct { */
6341
/* IDL:   samr_CryptPassword password; */
6342
/* IDL:   uint8 password_expired; */
6343
/* IDL: } */
6344
6345
static unsigned
6346
samr_dissect_element_UserInfo24_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6347
0
{
6348
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo24_password,0);
6349
6350
0
  return offset;
6351
0
}
6352
6353
static unsigned
6354
samr_dissect_element_UserInfo24_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6355
0
{
6356
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo24_password_expired, 0);
6357
6358
0
  return offset;
6359
0
}
6360
6361
unsigned
6362
samr_dissect_struct_UserInfo24(tvbuff_t *tvb _U_, unsigned 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_)
6363
0
{
6364
0
  proto_item *item = NULL;
6365
0
  proto_tree *tree = NULL;
6366
0
  unsigned old_offset;
6367
6368
0
  old_offset = offset;
6369
6370
0
  if (parent_tree) {
6371
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6372
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo24);
6373
0
  }
6374
6375
0
  offset = samr_dissect_element_UserInfo24_password(tvb, offset, pinfo, tree, di, drep);
6376
6377
0
  offset = samr_dissect_element_UserInfo24_password_expired(tvb, offset, pinfo, tree, di, drep);
6378
6379
6380
0
  proto_item_set_len(item, offset-old_offset);
6381
6382
6383
0
  return offset;
6384
0
}
6385
6386
6387
/* IDL: struct { */
6388
/* IDL:   uint8 data[532]; */
6389
/* IDL: } */
6390
6391
static unsigned
6392
samr_dissect_element_CryptPasswordEx_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6393
0
{
6394
0
  int i;
6395
0
  for (i = 0; i < 532; i++)
6396
0
    offset = samr_dissect_element_CryptPasswordEx_data_(tvb, offset, pinfo, tree, di, drep);
6397
6398
0
  return offset;
6399
0
}
6400
6401
static unsigned
6402
samr_dissect_element_CryptPasswordEx_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6403
0
{
6404
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPasswordEx_data, 0);
6405
6406
0
  return offset;
6407
0
}
6408
6409
unsigned
6410
samr_dissect_struct_CryptPasswordEx(tvbuff_t *tvb _U_, unsigned 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_)
6411
0
{
6412
0
  proto_item *item = NULL;
6413
0
  proto_tree *tree = NULL;
6414
0
  unsigned old_offset;
6415
6416
0
  old_offset = offset;
6417
6418
0
  if (parent_tree) {
6419
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6420
0
    tree = proto_item_add_subtree(item, ett_samr_samr_CryptPasswordEx);
6421
0
  }
6422
6423
0
  offset = samr_dissect_element_CryptPasswordEx_data(tvb, offset, pinfo, tree, di, drep);
6424
6425
6426
0
  proto_item_set_len(item, offset-old_offset);
6427
6428
6429
0
  return offset;
6430
0
}
6431
6432
6433
/* IDL: struct { */
6434
/* IDL:   samr_UserInfo21 info; */
6435
/* IDL:   samr_CryptPasswordEx password; */
6436
/* IDL: } */
6437
6438
static unsigned
6439
samr_dissect_element_UserInfo25_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6440
0
{
6441
0
  offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_info,0);
6442
6443
0
  return offset;
6444
0
}
6445
6446
static unsigned
6447
samr_dissect_element_UserInfo25_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6448
0
{
6449
0
  offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_password,0);
6450
6451
0
  return offset;
6452
0
}
6453
6454
unsigned
6455
samr_dissect_struct_UserInfo25(tvbuff_t *tvb _U_, unsigned 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_)
6456
0
{
6457
0
  proto_item *item = NULL;
6458
0
  proto_tree *tree = NULL;
6459
0
  unsigned old_offset;
6460
6461
0
  ALIGN_TO_5_BYTES;
6462
6463
0
  old_offset = offset;
6464
6465
0
  if (parent_tree) {
6466
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6467
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo25);
6468
0
  }
6469
6470
0
  offset = samr_dissect_element_UserInfo25_info(tvb, offset, pinfo, tree, di, drep);
6471
6472
0
  offset = samr_dissect_element_UserInfo25_password(tvb, offset, pinfo, tree, di, drep);
6473
6474
6475
0
  proto_item_set_len(item, offset-old_offset);
6476
6477
6478
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6479
0
    ALIGN_TO_5_BYTES;
6480
0
  }
6481
6482
0
  return offset;
6483
0
}
6484
6485
6486
/* IDL: struct { */
6487
/* IDL:   samr_CryptPasswordEx password; */
6488
/* IDL:   uint8 password_expired; */
6489
/* IDL: } */
6490
6491
static unsigned
6492
samr_dissect_element_UserInfo26_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6493
0
{
6494
0
  offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo26_password,0);
6495
6496
0
  return offset;
6497
0
}
6498
6499
static unsigned
6500
samr_dissect_element_UserInfo26_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6501
0
{
6502
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo26_password_expired, 0);
6503
6504
0
  return offset;
6505
0
}
6506
6507
unsigned
6508
samr_dissect_struct_UserInfo26(tvbuff_t *tvb _U_, unsigned 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_)
6509
0
{
6510
0
  proto_item *item = NULL;
6511
0
  proto_tree *tree = NULL;
6512
0
  unsigned old_offset;
6513
6514
0
  old_offset = offset;
6515
6516
0
  if (parent_tree) {
6517
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6518
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo26);
6519
0
  }
6520
6521
0
  offset = samr_dissect_element_UserInfo26_password(tvb, offset, pinfo, tree, di, drep);
6522
6523
0
  offset = samr_dissect_element_UserInfo26_password_expired(tvb, offset, pinfo, tree, di, drep);
6524
6525
6526
0
  proto_item_set_len(item, offset-old_offset);
6527
6528
6529
0
  return offset;
6530
0
}
6531
6532
6533
/* IDL: struct { */
6534
/* IDL:   uint8 auth_data[64]; */
6535
/* IDL:   uint8 salt[16]; */
6536
/* IDL:   uint32 cipher_len; */
6537
/* IDL:   [size_is(cipher_len)] [unique(1)] uint8 *cipher; */
6538
/* IDL:   hyper PBKDF2Iterations; */
6539
/* IDL: } */
6540
6541
static unsigned
6542
samr_dissect_element_EncryptedPasswordAES_auth_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6543
0
{
6544
0
  int i;
6545
0
  for (i = 0; i < 64; i++)
6546
0
    offset = samr_dissect_element_EncryptedPasswordAES_auth_data_(tvb, offset, pinfo, tree, di, drep);
6547
6548
0
  return offset;
6549
0
}
6550
6551
static unsigned
6552
samr_dissect_element_EncryptedPasswordAES_auth_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6553
0
{
6554
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_auth_data, 0);
6555
6556
0
  return offset;
6557
0
}
6558
6559
static unsigned
6560
samr_dissect_element_EncryptedPasswordAES_salt(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6561
0
{
6562
0
  int i;
6563
0
  for (i = 0; i < 16; i++)
6564
0
    offset = samr_dissect_element_EncryptedPasswordAES_salt_(tvb, offset, pinfo, tree, di, drep);
6565
6566
0
  return offset;
6567
0
}
6568
6569
static unsigned
6570
samr_dissect_element_EncryptedPasswordAES_salt_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6571
0
{
6572
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_salt, 0);
6573
6574
0
  return offset;
6575
0
}
6576
6577
static unsigned
6578
samr_dissect_element_EncryptedPasswordAES_cipher_len(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6579
0
{
6580
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_cipher_len, 0);
6581
6582
0
  return offset;
6583
0
}
6584
6585
static unsigned
6586
samr_dissect_element_EncryptedPasswordAES_cipher(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6587
0
{
6588
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EncryptedPasswordAES_cipher_, NDR_POINTER_UNIQUE, "Pointer to Cipher (uint8)",hf_samr_samr_EncryptedPasswordAES_cipher);
6589
6590
0
  return offset;
6591
0
}
6592
6593
static unsigned
6594
samr_dissect_element_EncryptedPasswordAES_cipher_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6595
0
{
6596
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EncryptedPasswordAES_cipher__);
6597
6598
0
  return offset;
6599
0
}
6600
6601
static unsigned
6602
samr_dissect_element_EncryptedPasswordAES_cipher__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6603
0
{
6604
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_cipher, 0);
6605
6606
0
  return offset;
6607
0
}
6608
6609
static unsigned
6610
samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6611
0
{
6612
0
  offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations, NULL);
6613
6614
0
  return offset;
6615
0
}
6616
6617
unsigned
6618
samr_dissect_struct_EncryptedPasswordAES(tvbuff_t *tvb _U_, unsigned 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_)
6619
0
{
6620
0
  proto_item *item = NULL;
6621
0
  proto_tree *tree = NULL;
6622
0
  unsigned old_offset;
6623
6624
0
  ALIGN_TO_8_BYTES;
6625
6626
0
  old_offset = offset;
6627
6628
0
  if (parent_tree) {
6629
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6630
0
    tree = proto_item_add_subtree(item, ett_samr_samr_EncryptedPasswordAES);
6631
0
  }
6632
6633
0
  offset = samr_dissect_element_EncryptedPasswordAES_auth_data(tvb, offset, pinfo, tree, di, drep);
6634
6635
0
  offset = samr_dissect_element_EncryptedPasswordAES_salt(tvb, offset, pinfo, tree, di, drep);
6636
6637
0
  offset = samr_dissect_element_EncryptedPasswordAES_cipher_len(tvb, offset, pinfo, tree, di, drep);
6638
6639
0
  offset = samr_dissect_element_EncryptedPasswordAES_cipher(tvb, offset, pinfo, tree, di, drep);
6640
6641
0
  offset = samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvb, offset, pinfo, tree, di, drep);
6642
6643
6644
0
  proto_item_set_len(item, offset-old_offset);
6645
6646
6647
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6648
0
    ALIGN_TO_8_BYTES;
6649
0
  }
6650
6651
0
  return offset;
6652
0
}
6653
6654
6655
/* IDL: struct { */
6656
/* IDL:   samr_EncryptedPasswordAES password; */
6657
/* IDL:   uint8 password_expired; */
6658
/* IDL: } */
6659
6660
static unsigned
6661
samr_dissect_element_UserInfo31_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6662
0
{
6663
0
  offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo31_password,0);
6664
6665
0
  return offset;
6666
0
}
6667
6668
static unsigned
6669
samr_dissect_element_UserInfo31_password_expired(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6670
0
{
6671
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo31_password_expired, 0);
6672
6673
0
  return offset;
6674
0
}
6675
6676
unsigned
6677
samr_dissect_struct_UserInfo31(tvbuff_t *tvb _U_, unsigned 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_)
6678
0
{
6679
0
  proto_item *item = NULL;
6680
0
  proto_tree *tree = NULL;
6681
0
  unsigned old_offset;
6682
6683
0
  ALIGN_TO_8_BYTES;
6684
6685
0
  old_offset = offset;
6686
6687
0
  if (parent_tree) {
6688
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6689
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo31);
6690
0
  }
6691
6692
0
  offset = samr_dissect_element_UserInfo31_password(tvb, offset, pinfo, tree, di, drep);
6693
6694
0
  offset = samr_dissect_element_UserInfo31_password_expired(tvb, offset, pinfo, tree, di, drep);
6695
6696
6697
0
  proto_item_set_len(item, offset-old_offset);
6698
6699
6700
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6701
0
    ALIGN_TO_8_BYTES;
6702
0
  }
6703
6704
0
  return offset;
6705
0
}
6706
6707
6708
/* IDL: struct { */
6709
/* IDL:   samr_UserInfo21 info; */
6710
/* IDL:   samr_EncryptedPasswordAES password; */
6711
/* IDL: } */
6712
6713
static unsigned
6714
samr_dissect_element_UserInfo32_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6715
0
{
6716
0
  offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo32_info,0);
6717
6718
0
  return offset;
6719
0
}
6720
6721
static unsigned
6722
samr_dissect_element_UserInfo32_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6723
0
{
6724
0
  offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo32_password,0);
6725
6726
0
  return offset;
6727
0
}
6728
6729
unsigned
6730
samr_dissect_struct_UserInfo32(tvbuff_t *tvb _U_, unsigned 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_)
6731
0
{
6732
0
  proto_item *item = NULL;
6733
0
  proto_tree *tree = NULL;
6734
0
  unsigned old_offset;
6735
6736
0
  ALIGN_TO_8_BYTES;
6737
6738
0
  old_offset = offset;
6739
6740
0
  if (parent_tree) {
6741
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6742
0
    tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo32);
6743
0
  }
6744
6745
0
  offset = samr_dissect_element_UserInfo32_info(tvb, offset, pinfo, tree, di, drep);
6746
6747
0
  offset = samr_dissect_element_UserInfo32_password(tvb, offset, pinfo, tree, di, drep);
6748
6749
6750
0
  proto_item_set_len(item, offset-old_offset);
6751
6752
6753
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
6754
0
    ALIGN_TO_8_BYTES;
6755
0
  }
6756
6757
0
  return offset;
6758
0
}
6759
6760
6761
/* IDL: [switch_type(uint16)] union { */
6762
/* IDL: [case(1)] [case(1)] samr_UserInfo1 info1; */
6763
/* IDL: [case(2)] [case(2)] samr_UserInfo2 info2; */
6764
/* IDL: [case(3)] [case(3)] samr_UserInfo3 info3; */
6765
/* IDL: [case(4)] [case(4)] samr_UserInfo4 info4; */
6766
/* IDL: [case(5)] [case(5)] samr_UserInfo5 info5; */
6767
/* IDL: [case(6)] [case(6)] samr_UserInfo6 info6; */
6768
/* IDL: [case(7)] [case(7)] samr_UserInfo7 info7; */
6769
/* IDL: [case(8)] [case(8)] samr_UserInfo8 info8; */
6770
/* IDL: [case(9)] [case(9)] samr_UserInfo9 info9; */
6771
/* IDL: [case(10)] [case(10)] samr_UserInfo10 info10; */
6772
/* IDL: [case(11)] [case(11)] samr_UserInfo11 info11; */
6773
/* IDL: [case(12)] [case(12)] samr_UserInfo12 info12; */
6774
/* IDL: [case(13)] [case(13)] samr_UserInfo13 info13; */
6775
/* IDL: [case(14)] [case(14)] samr_UserInfo14 info14; */
6776
/* IDL: [case(16)] [case(16)] samr_UserInfo16 info16; */
6777
/* IDL: [case(17)] [case(17)] samr_UserInfo17 info17; */
6778
/* IDL: [case(18)] [case(18)] samr_UserInfo18 info18; */
6779
/* IDL: [case(20)] [case(20)] samr_UserInfo20 info20; */
6780
/* IDL: [case(21)] [case(21)] samr_UserInfo21 info21; */
6781
/* IDL: [case(23)] [case(23)] samr_UserInfo23 info23; */
6782
/* IDL: [case(24)] [case(24)] samr_UserInfo24 info24; */
6783
/* IDL: [case(25)] [case(25)] samr_UserInfo25 info25; */
6784
/* IDL: [case(26)] [case(26)] samr_UserInfo26 info26; */
6785
/* IDL: [case(31)] [case(31)] samr_UserInfo31 info31; */
6786
/* IDL: [case(32)] [case(32)] samr_UserInfo32 info32; */
6787
/* IDL: } */
6788
6789
static unsigned
6790
samr_dissect_element_UserInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6791
0
{
6792
0
  offset = samr_dissect_struct_UserInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info1,0);
6793
6794
0
  return offset;
6795
0
}
6796
6797
static unsigned
6798
samr_dissect_element_UserInfo_info2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6799
0
{
6800
0
  offset = samr_dissect_struct_UserInfo2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info2,0);
6801
6802
0
  return offset;
6803
0
}
6804
6805
static unsigned
6806
samr_dissect_element_UserInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6807
0
{
6808
0
  offset = samr_dissect_struct_UserInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info3,0);
6809
6810
0
  return offset;
6811
0
}
6812
6813
static unsigned
6814
samr_dissect_element_UserInfo_info4(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6815
0
{
6816
0
  offset = samr_dissect_struct_UserInfo4(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info4,0);
6817
6818
0
  return offset;
6819
0
}
6820
6821
static unsigned
6822
samr_dissect_element_UserInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6823
0
{
6824
0
  offset = samr_dissect_struct_UserInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info5,0);
6825
6826
0
  return offset;
6827
0
}
6828
6829
static unsigned
6830
samr_dissect_element_UserInfo_info6(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6831
0
{
6832
0
  offset = samr_dissect_struct_UserInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info6,0);
6833
6834
0
  return offset;
6835
0
}
6836
6837
static unsigned
6838
samr_dissect_element_UserInfo_info7(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6839
0
{
6840
0
  offset = samr_dissect_struct_UserInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info7,0);
6841
6842
0
  return offset;
6843
0
}
6844
6845
static unsigned
6846
samr_dissect_element_UserInfo_info8(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6847
0
{
6848
0
  offset = samr_dissect_struct_UserInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info8,0);
6849
6850
0
  return offset;
6851
0
}
6852
6853
static unsigned
6854
samr_dissect_element_UserInfo_info9(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6855
0
{
6856
0
  offset = samr_dissect_struct_UserInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info9,0);
6857
6858
0
  return offset;
6859
0
}
6860
6861
static unsigned
6862
samr_dissect_element_UserInfo_info10(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6863
0
{
6864
0
  offset = samr_dissect_struct_UserInfo10(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info10,0);
6865
6866
0
  return offset;
6867
0
}
6868
6869
static unsigned
6870
samr_dissect_element_UserInfo_info11(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6871
0
{
6872
0
  offset = samr_dissect_struct_UserInfo11(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info11,0);
6873
6874
0
  return offset;
6875
0
}
6876
6877
static unsigned
6878
samr_dissect_element_UserInfo_info12(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6879
0
{
6880
0
  offset = samr_dissect_struct_UserInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info12,0);
6881
6882
0
  return offset;
6883
0
}
6884
6885
static unsigned
6886
samr_dissect_element_UserInfo_info13(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6887
0
{
6888
0
  offset = samr_dissect_struct_UserInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info13,0);
6889
6890
0
  return offset;
6891
0
}
6892
6893
static unsigned
6894
samr_dissect_element_UserInfo_info14(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6895
0
{
6896
0
  offset = samr_dissect_struct_UserInfo14(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info14,0);
6897
6898
0
  return offset;
6899
0
}
6900
6901
static unsigned
6902
samr_dissect_element_UserInfo_info16(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6903
0
{
6904
0
  offset = samr_dissect_struct_UserInfo16(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info16,0);
6905
6906
0
  return offset;
6907
0
}
6908
6909
static unsigned
6910
samr_dissect_element_UserInfo_info17(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6911
0
{
6912
0
  offset = samr_dissect_struct_UserInfo17(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info17,0);
6913
6914
0
  return offset;
6915
0
}
6916
6917
static unsigned
6918
samr_dissect_element_UserInfo_info18(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6919
0
{
6920
0
  offset = samr_dissect_struct_UserInfo18(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info18,0);
6921
6922
0
  return offset;
6923
0
}
6924
6925
static unsigned
6926
samr_dissect_element_UserInfo_info20(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6927
0
{
6928
0
  offset = samr_dissect_struct_UserInfo20(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info20,0);
6929
6930
0
  return offset;
6931
0
}
6932
6933
static unsigned
6934
samr_dissect_element_UserInfo_info21(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6935
0
{
6936
0
  offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info21,0);
6937
6938
0
  return offset;
6939
0
}
6940
6941
static unsigned
6942
samr_dissect_element_UserInfo_info23(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6943
0
{
6944
0
  offset = samr_dissect_struct_UserInfo23(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info23,0);
6945
6946
0
  return offset;
6947
0
}
6948
6949
static unsigned
6950
samr_dissect_element_UserInfo_info24(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6951
0
{
6952
0
  offset = samr_dissect_struct_UserInfo24(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info24,0);
6953
6954
0
  return offset;
6955
0
}
6956
6957
static unsigned
6958
samr_dissect_element_UserInfo_info25(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6959
0
{
6960
0
  offset = samr_dissect_struct_UserInfo25(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info25,0);
6961
6962
0
  return offset;
6963
0
}
6964
6965
static unsigned
6966
samr_dissect_element_UserInfo_info26(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6967
0
{
6968
0
  offset = samr_dissect_struct_UserInfo26(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info26,0);
6969
6970
0
  return offset;
6971
0
}
6972
6973
static unsigned
6974
samr_dissect_element_UserInfo_info31(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6975
0
{
6976
0
  offset = samr_dissect_struct_UserInfo31(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info31,0);
6977
6978
0
  return offset;
6979
0
}
6980
6981
static unsigned
6982
samr_dissect_element_UserInfo_info32(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6983
0
{
6984
0
  offset = samr_dissect_struct_UserInfo32(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info32,0);
6985
6986
0
  return offset;
6987
0
}
6988
6989
static unsigned
6990
samr_dissect_UserInfo(tvbuff_t *tvb _U_, unsigned 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_)
6991
0
{
6992
0
  proto_item *item = NULL;
6993
0
  proto_tree *tree = NULL;
6994
0
  unsigned old_offset;
6995
0
  uint16_t level;
6996
6997
0
  old_offset = offset;
6998
0
  if (parent_tree) {
6999
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_UserInfo, &item, "samr_UserInfo");
7000
0
  }
7001
7002
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
7003
0
  ALIGN_TO_8_BYTES;
7004
7005
0
  switch(level) {
7006
0
    case 1:
7007
0
      offset = samr_dissect_element_UserInfo_info1(tvb, offset, pinfo, tree, di, drep);
7008
0
    break;
7009
7010
0
    case 2:
7011
0
      offset = samr_dissect_element_UserInfo_info2(tvb, offset, pinfo, tree, di, drep);
7012
0
    break;
7013
7014
0
    case 3:
7015
0
      offset = samr_dissect_element_UserInfo_info3(tvb, offset, pinfo, tree, di, drep);
7016
0
    break;
7017
7018
0
    case 4:
7019
0
      offset = samr_dissect_element_UserInfo_info4(tvb, offset, pinfo, tree, di, drep);
7020
0
    break;
7021
7022
0
    case 5:
7023
0
      offset = samr_dissect_element_UserInfo_info5(tvb, offset, pinfo, tree, di, drep);
7024
0
    break;
7025
7026
0
    case 6:
7027
0
      offset = samr_dissect_element_UserInfo_info6(tvb, offset, pinfo, tree, di, drep);
7028
0
    break;
7029
7030
0
    case 7:
7031
0
      offset = samr_dissect_element_UserInfo_info7(tvb, offset, pinfo, tree, di, drep);
7032
0
    break;
7033
7034
0
    case 8:
7035
0
      offset = samr_dissect_element_UserInfo_info8(tvb, offset, pinfo, tree, di, drep);
7036
0
    break;
7037
7038
0
    case 9:
7039
0
      offset = samr_dissect_element_UserInfo_info9(tvb, offset, pinfo, tree, di, drep);
7040
0
    break;
7041
7042
0
    case 10:
7043
0
      offset = samr_dissect_element_UserInfo_info10(tvb, offset, pinfo, tree, di, drep);
7044
0
    break;
7045
7046
0
    case 11:
7047
0
      offset = samr_dissect_element_UserInfo_info11(tvb, offset, pinfo, tree, di, drep);
7048
0
    break;
7049
7050
0
    case 12:
7051
0
      offset = samr_dissect_element_UserInfo_info12(tvb, offset, pinfo, tree, di, drep);
7052
0
    break;
7053
7054
0
    case 13:
7055
0
      offset = samr_dissect_element_UserInfo_info13(tvb, offset, pinfo, tree, di, drep);
7056
0
    break;
7057
7058
0
    case 14:
7059
0
      offset = samr_dissect_element_UserInfo_info14(tvb, offset, pinfo, tree, di, drep);
7060
0
    break;
7061
7062
0
    case 16:
7063
0
      offset = samr_dissect_element_UserInfo_info16(tvb, offset, pinfo, tree, di, drep);
7064
0
    break;
7065
7066
0
    case 17:
7067
0
      offset = samr_dissect_element_UserInfo_info17(tvb, offset, pinfo, tree, di, drep);
7068
0
    break;
7069
7070
0
    case 18:
7071
0
      offset = samr_dissect_element_UserInfo_info18(tvb, offset, pinfo, tree, di, drep);
7072
0
    break;
7073
7074
0
    case 20:
7075
0
      offset = samr_dissect_element_UserInfo_info20(tvb, offset, pinfo, tree, di, drep);
7076
0
    break;
7077
7078
0
    case 21:
7079
0
      offset = samr_dissect_element_UserInfo_info21(tvb, offset, pinfo, tree, di, drep);
7080
0
    break;
7081
7082
0
    case 23:
7083
0
      offset = samr_dissect_element_UserInfo_info23(tvb, offset, pinfo, tree, di, drep);
7084
0
    break;
7085
7086
0
    case 24:
7087
0
      offset = samr_dissect_element_UserInfo_info24(tvb, offset, pinfo, tree, di, drep);
7088
0
    break;
7089
7090
0
    case 25:
7091
0
      offset = samr_dissect_element_UserInfo_info25(tvb, offset, pinfo, tree, di, drep);
7092
0
    break;
7093
7094
0
    case 26:
7095
0
      offset = samr_dissect_element_UserInfo_info26(tvb, offset, pinfo, tree, di, drep);
7096
0
    break;
7097
7098
0
    case 31:
7099
0
      offset = samr_dissect_element_UserInfo_info31(tvb, offset, pinfo, tree, di, drep);
7100
0
    break;
7101
7102
0
    case 32:
7103
0
      offset = samr_dissect_element_UserInfo_info32(tvb, offset, pinfo, tree, di, drep);
7104
0
    break;
7105
0
  }
7106
0
  proto_item_set_len(item, offset-old_offset);
7107
7108
7109
0
  return offset;
7110
0
}
7111
7112
/* IDL: struct { */
7113
/* IDL:   uint32 rid; */
7114
/* IDL:   samr_GroupAttrs attributes; */
7115
/* IDL: } */
7116
7117
static unsigned
7118
samr_dissect_element_RidWithAttribute_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7119
0
{
7120
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7121
7122
0
  return offset;
7123
0
}
7124
7125
static unsigned
7126
samr_dissect_element_RidWithAttribute_attributes(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7127
0
{
7128
0
  offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttribute_attributes, 0);
7129
7130
0
  return offset;
7131
0
}
7132
7133
unsigned
7134
samr_dissect_struct_RidWithAttribute(tvbuff_t *tvb _U_, unsigned 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_)
7135
0
{
7136
0
  proto_item *item = NULL;
7137
0
  proto_tree *tree = NULL;
7138
0
  unsigned old_offset;
7139
7140
0
  ALIGN_TO_4_BYTES;
7141
7142
0
  old_offset = offset;
7143
7144
0
  if (parent_tree) {
7145
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7146
0
    tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttribute);
7147
0
  }
7148
7149
0
  offset = samr_dissect_element_RidWithAttribute_rid(tvb, offset, pinfo, tree, di, drep);
7150
7151
0
  offset = samr_dissect_element_RidWithAttribute_attributes(tvb, offset, pinfo, tree, di, drep);
7152
7153
7154
0
  proto_item_set_len(item, offset-old_offset);
7155
7156
7157
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7158
0
    ALIGN_TO_4_BYTES;
7159
0
  }
7160
7161
0
  return offset;
7162
0
}
7163
7164
7165
/* IDL: struct { */
7166
/* IDL:   uint32 count; */
7167
/* IDL:   [size_is(count)] [unique(1)] samr_RidWithAttribute *rids; */
7168
/* IDL: } */
7169
7170
static unsigned
7171
samr_dissect_element_RidWithAttributeArray_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7172
0
{
7173
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttributeArray_count, 0);
7174
7175
0
  return offset;
7176
0
}
7177
7178
static unsigned
7179
samr_dissect_element_RidWithAttributeArray_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7180
0
{
7181
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidWithAttributeArray_rids_, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidWithAttribute)",hf_samr_samr_RidWithAttributeArray_rids);
7182
7183
0
  return offset;
7184
0
}
7185
7186
static unsigned
7187
samr_dissect_element_RidWithAttributeArray_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7188
0
{
7189
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidWithAttributeArray_rids__);
7190
7191
0
  return offset;
7192
0
}
7193
7194
static unsigned
7195
samr_dissect_element_RidWithAttributeArray_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7196
0
{
7197
0
  offset = samr_dissect_struct_RidWithAttribute(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_RidWithAttributeArray_rids,0);
7198
7199
0
  return offset;
7200
0
}
7201
7202
unsigned
7203
samr_dissect_struct_RidWithAttributeArray(tvbuff_t *tvb _U_, unsigned 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_)
7204
0
{
7205
0
  proto_item *item = NULL;
7206
0
  proto_tree *tree = NULL;
7207
0
  unsigned old_offset;
7208
7209
0
  ALIGN_TO_5_BYTES;
7210
7211
0
  old_offset = offset;
7212
7213
0
  if (parent_tree) {
7214
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7215
0
    tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttributeArray);
7216
0
  }
7217
7218
0
  offset = samr_dissect_element_RidWithAttributeArray_count(tvb, offset, pinfo, tree, di, drep);
7219
7220
0
  offset = samr_dissect_element_RidWithAttributeArray_rids(tvb, offset, pinfo, tree, di, drep);
7221
7222
7223
0
  proto_item_set_len(item, offset-old_offset);
7224
7225
7226
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7227
0
    ALIGN_TO_5_BYTES;
7228
0
  }
7229
7230
0
  return offset;
7231
0
}
7232
7233
7234
/* IDL: struct { */
7235
/* IDL:   uint32 idx; */
7236
/* IDL:   uint32 rid; */
7237
/* IDL:   samr_AcctFlags acct_flags; */
7238
/* IDL:   lsa_String account_name; */
7239
/* IDL:   lsa_String description; */
7240
/* IDL:   lsa_String full_name; */
7241
/* IDL: } */
7242
7243
static unsigned
7244
samr_dissect_element_DispEntryGeneral_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7245
0
{
7246
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_idx, 0);
7247
7248
0
  return offset;
7249
0
}
7250
7251
static unsigned
7252
samr_dissect_element_DispEntryGeneral_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7253
0
{
7254
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7255
7256
0
  return offset;
7257
0
}
7258
7259
static unsigned
7260
samr_dissect_element_DispEntryGeneral_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7261
0
{
7262
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_acct_flags, 0);
7263
7264
0
  return offset;
7265
0
}
7266
7267
static unsigned
7268
samr_dissect_element_DispEntryGeneral_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7269
0
{
7270
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_account_name);
7271
7272
0
  return offset;
7273
0
}
7274
7275
static unsigned
7276
samr_dissect_element_DispEntryGeneral_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7277
0
{
7278
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_description);
7279
7280
0
  return offset;
7281
0
}
7282
7283
static unsigned
7284
samr_dissect_element_DispEntryGeneral_full_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7285
0
{
7286
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_full_name);
7287
7288
0
  return offset;
7289
0
}
7290
7291
unsigned
7292
samr_dissect_struct_DispEntryGeneral(tvbuff_t *tvb _U_, unsigned 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_)
7293
0
{
7294
0
  proto_item *item = NULL;
7295
0
  proto_tree *tree = NULL;
7296
0
  unsigned old_offset;
7297
7298
0
  ALIGN_TO_5_BYTES;
7299
7300
0
  old_offset = offset;
7301
7302
0
  if (parent_tree) {
7303
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7304
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryGeneral);
7305
0
  }
7306
7307
0
  offset = samr_dissect_element_DispEntryGeneral_idx(tvb, offset, pinfo, tree, di, drep);
7308
7309
0
  offset = samr_dissect_element_DispEntryGeneral_rid(tvb, offset, pinfo, tree, di, drep);
7310
7311
0
  offset = samr_dissect_element_DispEntryGeneral_acct_flags(tvb, offset, pinfo, tree, di, drep);
7312
7313
0
  offset = samr_dissect_element_DispEntryGeneral_account_name(tvb, offset, pinfo, tree, di, drep);
7314
7315
0
  offset = samr_dissect_element_DispEntryGeneral_description(tvb, offset, pinfo, tree, di, drep);
7316
7317
0
  offset = samr_dissect_element_DispEntryGeneral_full_name(tvb, offset, pinfo, tree, di, drep);
7318
7319
7320
0
  proto_item_set_len(item, offset-old_offset);
7321
7322
7323
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7324
0
    ALIGN_TO_5_BYTES;
7325
0
  }
7326
7327
0
  return offset;
7328
0
}
7329
7330
7331
/* IDL: struct { */
7332
/* IDL:   uint32 count; */
7333
/* IDL:   [size_is(count)] [unique(1)] samr_DispEntryGeneral *entries; */
7334
/* IDL: } */
7335
7336
static unsigned
7337
samr_dissect_element_DispInfoGeneral_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7338
0
{
7339
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoGeneral_count, 0);
7340
7341
0
  return offset;
7342
0
}
7343
7344
static unsigned
7345
samr_dissect_element_DispInfoGeneral_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7346
0
{
7347
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoGeneral_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryGeneral)",hf_samr_samr_DispInfoGeneral_entries);
7348
7349
0
  return offset;
7350
0
}
7351
7352
static unsigned
7353
samr_dissect_element_DispInfoGeneral_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7354
0
{
7355
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoGeneral_entries__);
7356
7357
0
  return offset;
7358
0
}
7359
7360
static unsigned
7361
samr_dissect_element_DispInfoGeneral_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7362
0
{
7363
0
  offset = samr_dissect_struct_DispEntryGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoGeneral_entries,0);
7364
7365
0
  return offset;
7366
0
}
7367
7368
unsigned
7369
samr_dissect_struct_DispInfoGeneral(tvbuff_t *tvb _U_, unsigned 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_)
7370
0
{
7371
0
  proto_item *item = NULL;
7372
0
  proto_tree *tree = NULL;
7373
0
  unsigned old_offset;
7374
7375
0
  ALIGN_TO_5_BYTES;
7376
7377
0
  old_offset = offset;
7378
7379
0
  if (parent_tree) {
7380
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7381
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoGeneral);
7382
0
  }
7383
7384
0
  offset = samr_dissect_element_DispInfoGeneral_count(tvb, offset, pinfo, tree, di, drep);
7385
7386
0
  offset = samr_dissect_element_DispInfoGeneral_entries(tvb, offset, pinfo, tree, di, drep);
7387
7388
7389
0
  proto_item_set_len(item, offset-old_offset);
7390
7391
7392
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7393
0
    ALIGN_TO_5_BYTES;
7394
0
  }
7395
7396
0
  return offset;
7397
0
}
7398
7399
7400
/* IDL: struct { */
7401
/* IDL:   uint32 idx; */
7402
/* IDL:   uint32 rid; */
7403
/* IDL:   samr_AcctFlags acct_flags; */
7404
/* IDL:   lsa_String account_name; */
7405
/* IDL:   lsa_String description; */
7406
/* IDL: } */
7407
7408
static unsigned
7409
samr_dissect_element_DispEntryFull_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7410
0
{
7411
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_idx, 0);
7412
7413
0
  return offset;
7414
0
}
7415
7416
static unsigned
7417
samr_dissect_element_DispEntryFull_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7418
0
{
7419
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7420
7421
0
  return offset;
7422
0
}
7423
7424
static unsigned
7425
samr_dissect_element_DispEntryFull_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7426
0
{
7427
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_acct_flags, 0);
7428
7429
0
  return offset;
7430
0
}
7431
7432
static unsigned
7433
samr_dissect_element_DispEntryFull_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7434
0
{
7435
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_account_name);
7436
7437
0
  return offset;
7438
0
}
7439
7440
static unsigned
7441
samr_dissect_element_DispEntryFull_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7442
0
{
7443
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_description);
7444
7445
0
  return offset;
7446
0
}
7447
7448
unsigned
7449
samr_dissect_struct_DispEntryFull(tvbuff_t *tvb _U_, unsigned 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_)
7450
0
{
7451
0
  proto_item *item = NULL;
7452
0
  proto_tree *tree = NULL;
7453
0
  unsigned old_offset;
7454
7455
0
  ALIGN_TO_5_BYTES;
7456
7457
0
  old_offset = offset;
7458
7459
0
  if (parent_tree) {
7460
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7461
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFull);
7462
0
  }
7463
7464
0
  offset = samr_dissect_element_DispEntryFull_idx(tvb, offset, pinfo, tree, di, drep);
7465
7466
0
  offset = samr_dissect_element_DispEntryFull_rid(tvb, offset, pinfo, tree, di, drep);
7467
7468
0
  offset = samr_dissect_element_DispEntryFull_acct_flags(tvb, offset, pinfo, tree, di, drep);
7469
7470
0
  offset = samr_dissect_element_DispEntryFull_account_name(tvb, offset, pinfo, tree, di, drep);
7471
7472
0
  offset = samr_dissect_element_DispEntryFull_description(tvb, offset, pinfo, tree, di, drep);
7473
7474
7475
0
  proto_item_set_len(item, offset-old_offset);
7476
7477
7478
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7479
0
    ALIGN_TO_5_BYTES;
7480
0
  }
7481
7482
0
  return offset;
7483
0
}
7484
7485
7486
/* IDL: struct { */
7487
/* IDL:   uint32 count; */
7488
/* IDL:   [size_is(count)] [unique(1)] samr_DispEntryFull *entries; */
7489
/* IDL: } */
7490
7491
static unsigned
7492
samr_dissect_element_DispInfoFull_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7493
0
{
7494
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFull_count, 0);
7495
7496
0
  return offset;
7497
0
}
7498
7499
static unsigned
7500
samr_dissect_element_DispInfoFull_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7501
0
{
7502
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFull_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryFull)",hf_samr_samr_DispInfoFull_entries);
7503
7504
0
  return offset;
7505
0
}
7506
7507
static unsigned
7508
samr_dissect_element_DispInfoFull_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7509
0
{
7510
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFull_entries__);
7511
7512
0
  return offset;
7513
0
}
7514
7515
static unsigned
7516
samr_dissect_element_DispInfoFull_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7517
0
{
7518
0
  offset = samr_dissect_struct_DispEntryFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFull_entries,0);
7519
7520
0
  return offset;
7521
0
}
7522
7523
unsigned
7524
samr_dissect_struct_DispInfoFull(tvbuff_t *tvb _U_, unsigned 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_)
7525
0
{
7526
0
  proto_item *item = NULL;
7527
0
  proto_tree *tree = NULL;
7528
0
  unsigned old_offset;
7529
7530
0
  ALIGN_TO_5_BYTES;
7531
7532
0
  old_offset = offset;
7533
7534
0
  if (parent_tree) {
7535
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7536
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFull);
7537
0
  }
7538
7539
0
  offset = samr_dissect_element_DispInfoFull_count(tvb, offset, pinfo, tree, di, drep);
7540
7541
0
  offset = samr_dissect_element_DispInfoFull_entries(tvb, offset, pinfo, tree, di, drep);
7542
7543
7544
0
  proto_item_set_len(item, offset-old_offset);
7545
7546
7547
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7548
0
    ALIGN_TO_5_BYTES;
7549
0
  }
7550
7551
0
  return offset;
7552
0
}
7553
7554
7555
/* IDL: struct { */
7556
/* IDL:   uint32 idx; */
7557
/* IDL:   uint32 rid; */
7558
/* IDL:   samr_GroupAttrs acct_flags; */
7559
/* IDL:   lsa_String account_name; */
7560
/* IDL:   lsa_String description; */
7561
/* IDL: } */
7562
7563
static unsigned
7564
samr_dissect_element_DispEntryFullGroup_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7565
0
{
7566
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_idx, 0);
7567
7568
0
  return offset;
7569
0
}
7570
7571
static unsigned
7572
samr_dissect_element_DispEntryFullGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7573
0
{
7574
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7575
7576
0
  return offset;
7577
0
}
7578
7579
static unsigned
7580
samr_dissect_element_DispEntryFullGroup_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7581
0
{
7582
0
  offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_acct_flags, 0);
7583
7584
0
  return offset;
7585
0
}
7586
7587
static unsigned
7588
samr_dissect_element_DispEntryFullGroup_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7589
0
{
7590
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_account_name);
7591
7592
0
  return offset;
7593
0
}
7594
7595
static unsigned
7596
samr_dissect_element_DispEntryFullGroup_description(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7597
0
{
7598
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_description);
7599
7600
0
  return offset;
7601
0
}
7602
7603
unsigned
7604
samr_dissect_struct_DispEntryFullGroup(tvbuff_t *tvb _U_, unsigned 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_)
7605
0
{
7606
0
  proto_item *item = NULL;
7607
0
  proto_tree *tree = NULL;
7608
0
  unsigned old_offset;
7609
7610
0
  ALIGN_TO_5_BYTES;
7611
7612
0
  old_offset = offset;
7613
7614
0
  if (parent_tree) {
7615
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7616
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFullGroup);
7617
0
  }
7618
7619
0
  offset = samr_dissect_element_DispEntryFullGroup_idx(tvb, offset, pinfo, tree, di, drep);
7620
7621
0
  offset = samr_dissect_element_DispEntryFullGroup_rid(tvb, offset, pinfo, tree, di, drep);
7622
7623
0
  offset = samr_dissect_element_DispEntryFullGroup_acct_flags(tvb, offset, pinfo, tree, di, drep);
7624
7625
0
  offset = samr_dissect_element_DispEntryFullGroup_account_name(tvb, offset, pinfo, tree, di, drep);
7626
7627
0
  offset = samr_dissect_element_DispEntryFullGroup_description(tvb, offset, pinfo, tree, di, drep);
7628
7629
7630
0
  proto_item_set_len(item, offset-old_offset);
7631
7632
7633
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7634
0
    ALIGN_TO_5_BYTES;
7635
0
  }
7636
7637
0
  return offset;
7638
0
}
7639
7640
7641
/* IDL: struct { */
7642
/* IDL:   uint32 count; */
7643
/* IDL:   [size_is(count)] [unique(1)] samr_DispEntryFullGroup *entries; */
7644
/* IDL: } */
7645
7646
static unsigned
7647
samr_dissect_element_DispInfoFullGroups_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7648
0
{
7649
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFullGroups_count, 0);
7650
7651
0
  return offset;
7652
0
}
7653
7654
static unsigned
7655
samr_dissect_element_DispInfoFullGroups_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7656
0
{
7657
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFullGroups_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryFullGroup)",hf_samr_samr_DispInfoFullGroups_entries);
7658
7659
0
  return offset;
7660
0
}
7661
7662
static unsigned
7663
samr_dissect_element_DispInfoFullGroups_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7664
0
{
7665
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFullGroups_entries__);
7666
7667
0
  return offset;
7668
0
}
7669
7670
static unsigned
7671
samr_dissect_element_DispInfoFullGroups_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7672
0
{
7673
0
  offset = samr_dissect_struct_DispEntryFullGroup(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFullGroups_entries,0);
7674
7675
0
  return offset;
7676
0
}
7677
7678
unsigned
7679
samr_dissect_struct_DispInfoFullGroups(tvbuff_t *tvb _U_, unsigned 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_)
7680
0
{
7681
0
  proto_item *item = NULL;
7682
0
  proto_tree *tree = NULL;
7683
0
  unsigned old_offset;
7684
7685
0
  ALIGN_TO_5_BYTES;
7686
7687
0
  old_offset = offset;
7688
7689
0
  if (parent_tree) {
7690
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7691
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFullGroups);
7692
0
  }
7693
7694
0
  offset = samr_dissect_element_DispInfoFullGroups_count(tvb, offset, pinfo, tree, di, drep);
7695
7696
0
  offset = samr_dissect_element_DispInfoFullGroups_entries(tvb, offset, pinfo, tree, di, drep);
7697
7698
7699
0
  proto_item_set_len(item, offset-old_offset);
7700
7701
7702
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7703
0
    ALIGN_TO_5_BYTES;
7704
0
  }
7705
7706
0
  return offset;
7707
0
}
7708
7709
7710
/* IDL: struct { */
7711
/* IDL:   uint32 idx; */
7712
/* IDL:   lsa_AsciiStringLarge account_name; */
7713
/* IDL: } */
7714
7715
static unsigned
7716
samr_dissect_element_DispEntryAscii_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7717
0
{
7718
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryAscii_idx, 0);
7719
7720
0
  return offset;
7721
0
}
7722
7723
static unsigned
7724
samr_dissect_element_DispEntryAscii_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7725
0
{
7726
0
  offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryAscii_account_name);
7727
7728
0
  return offset;
7729
0
}
7730
7731
unsigned
7732
samr_dissect_struct_DispEntryAscii(tvbuff_t *tvb _U_, unsigned 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_)
7733
0
{
7734
0
  proto_item *item = NULL;
7735
0
  proto_tree *tree = NULL;
7736
0
  unsigned old_offset;
7737
7738
0
  ALIGN_TO_5_BYTES;
7739
7740
0
  old_offset = offset;
7741
7742
0
  if (parent_tree) {
7743
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7744
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryAscii);
7745
0
  }
7746
7747
0
  offset = samr_dissect_element_DispEntryAscii_idx(tvb, offset, pinfo, tree, di, drep);
7748
7749
0
  offset = samr_dissect_element_DispEntryAscii_account_name(tvb, offset, pinfo, tree, di, drep);
7750
7751
7752
0
  proto_item_set_len(item, offset-old_offset);
7753
7754
7755
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7756
0
    ALIGN_TO_5_BYTES;
7757
0
  }
7758
7759
0
  return offset;
7760
0
}
7761
7762
7763
/* IDL: struct { */
7764
/* IDL:   uint32 count; */
7765
/* IDL:   [size_is(count)] [unique(1)] samr_DispEntryAscii *entries; */
7766
/* IDL: } */
7767
7768
static unsigned
7769
samr_dissect_element_DispInfoAscii_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7770
0
{
7771
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoAscii_count, 0);
7772
7773
0
  return offset;
7774
0
}
7775
7776
static unsigned
7777
samr_dissect_element_DispInfoAscii_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7778
0
{
7779
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoAscii_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryAscii)",hf_samr_samr_DispInfoAscii_entries);
7780
7781
0
  return offset;
7782
0
}
7783
7784
static unsigned
7785
samr_dissect_element_DispInfoAscii_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7786
0
{
7787
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoAscii_entries__);
7788
7789
0
  return offset;
7790
0
}
7791
7792
static unsigned
7793
samr_dissect_element_DispInfoAscii_entries__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7794
0
{
7795
0
  offset = samr_dissect_struct_DispEntryAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoAscii_entries,0);
7796
7797
0
  return offset;
7798
0
}
7799
7800
unsigned
7801
samr_dissect_struct_DispInfoAscii(tvbuff_t *tvb _U_, unsigned 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_)
7802
0
{
7803
0
  proto_item *item = NULL;
7804
0
  proto_tree *tree = NULL;
7805
0
  unsigned old_offset;
7806
7807
0
  ALIGN_TO_5_BYTES;
7808
7809
0
  old_offset = offset;
7810
7811
0
  if (parent_tree) {
7812
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7813
0
    tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoAscii);
7814
0
  }
7815
7816
0
  offset = samr_dissect_element_DispInfoAscii_count(tvb, offset, pinfo, tree, di, drep);
7817
7818
0
  offset = samr_dissect_element_DispInfoAscii_entries(tvb, offset, pinfo, tree, di, drep);
7819
7820
7821
0
  proto_item_set_len(item, offset-old_offset);
7822
7823
7824
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7825
0
    ALIGN_TO_5_BYTES;
7826
0
  }
7827
7828
0
  return offset;
7829
0
}
7830
7831
7832
/* IDL: enum { */
7833
/* IDL:   SAMR_DOMAIN_DISPLAY_USER=1, */
7834
/* IDL:   SAMR_DOMAIN_DISPLAY_MACHINE=2, */
7835
/* IDL:   SAMR_DOMAIN_DISPLAY_GROUP=3, */
7836
/* IDL:   SAMR_DOMAIN_DISPLAY_OEM_USER=4, */
7837
/* IDL:   SAMR_DOMAIN_DISPLAY_OEM_GROUP=5, */
7838
/* IDL: } */
7839
7840
unsigned
7841
samr_dissect_enum_DomainDisplayInformation(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
7842
0
{
7843
0
  uint32_t parameter=0;
7844
0
  if (param) {
7845
0
    parameter = *param;
7846
0
  }
7847
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
7848
0
  if (param) {
7849
0
    *param = parameter;
7850
0
  }
7851
0
  return offset;
7852
0
}
7853
7854
7855
/* IDL: [switch_type(uint16)] union { */
7856
/* IDL: [case(SAMR_DOMAIN_DISPLAY_USER)] [case(SAMR_DOMAIN_DISPLAY_USER)] samr_DispInfoGeneral info1; */
7857
/* IDL: [case(SAMR_DOMAIN_DISPLAY_MACHINE)] [case(SAMR_DOMAIN_DISPLAY_MACHINE)] samr_DispInfoFull info2; */
7858
/* IDL: [case(SAMR_DOMAIN_DISPLAY_GROUP)] [case(SAMR_DOMAIN_DISPLAY_GROUP)] samr_DispInfoFullGroups info3; */
7859
/* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] samr_DispInfoAscii info4; */
7860
/* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] samr_DispInfoAscii info5; */
7861
/* IDL: } */
7862
7863
static unsigned
7864
samr_dissect_element_DispInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7865
0
{
7866
0
  offset = samr_dissect_struct_DispInfoGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info1,0);
7867
7868
0
  return offset;
7869
0
}
7870
7871
static unsigned
7872
samr_dissect_element_DispInfo_info2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7873
0
{
7874
0
  offset = samr_dissect_struct_DispInfoFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info2,0);
7875
7876
0
  return offset;
7877
0
}
7878
7879
static unsigned
7880
samr_dissect_element_DispInfo_info3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7881
0
{
7882
0
  offset = samr_dissect_struct_DispInfoFullGroups(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info3,0);
7883
7884
0
  return offset;
7885
0
}
7886
7887
static unsigned
7888
samr_dissect_element_DispInfo_info4(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7889
0
{
7890
0
  offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info4,0);
7891
7892
0
  return offset;
7893
0
}
7894
7895
static unsigned
7896
samr_dissect_element_DispInfo_info5(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7897
0
{
7898
0
  offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info5,0);
7899
7900
0
  return offset;
7901
0
}
7902
7903
static unsigned
7904
samr_dissect_DispInfo(tvbuff_t *tvb _U_, unsigned 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_)
7905
0
{
7906
0
  proto_item *item = NULL;
7907
0
  proto_tree *tree = NULL;
7908
0
  unsigned old_offset;
7909
0
  uint16_t level;
7910
7911
0
  old_offset = offset;
7912
0
  if (parent_tree) {
7913
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_DispInfo, &item, "samr_DispInfo");
7914
0
  }
7915
7916
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
7917
0
  ALIGN_TO_5_BYTES;
7918
7919
0
  switch(level) {
7920
0
    case SAMR_DOMAIN_DISPLAY_USER:
7921
0
      offset = samr_dissect_element_DispInfo_info1(tvb, offset, pinfo, tree, di, drep);
7922
0
    break;
7923
7924
0
    case SAMR_DOMAIN_DISPLAY_MACHINE:
7925
0
      offset = samr_dissect_element_DispInfo_info2(tvb, offset, pinfo, tree, di, drep);
7926
0
    break;
7927
7928
0
    case SAMR_DOMAIN_DISPLAY_GROUP:
7929
0
      offset = samr_dissect_element_DispInfo_info3(tvb, offset, pinfo, tree, di, drep);
7930
0
    break;
7931
7932
0
    case SAMR_DOMAIN_DISPLAY_OEM_USER:
7933
0
      offset = samr_dissect_element_DispInfo_info4(tvb, offset, pinfo, tree, di, drep);
7934
0
    break;
7935
7936
0
    case SAMR_DOMAIN_DISPLAY_OEM_GROUP:
7937
0
      offset = samr_dissect_element_DispInfo_info5(tvb, offset, pinfo, tree, di, drep);
7938
0
    break;
7939
0
  }
7940
0
  proto_item_set_len(item, offset-old_offset);
7941
7942
7943
0
  return offset;
7944
0
}
7945
7946
/* IDL: struct { */
7947
/* IDL:   uint16 min_password_length; */
7948
/* IDL:   samr_PasswordProperties password_properties; */
7949
/* IDL: } */
7950
7951
static unsigned
7952
samr_dissect_element_PwInfo_min_password_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7953
0
{
7954
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_min_password_length, 0);
7955
7956
0
  return offset;
7957
0
}
7958
7959
static unsigned
7960
samr_dissect_element_PwInfo_password_properties(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7961
0
{
7962
0
  offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_password_properties, 0);
7963
7964
0
  return offset;
7965
0
}
7966
7967
unsigned
7968
samr_dissect_struct_PwInfo(tvbuff_t *tvb _U_, unsigned 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_)
7969
0
{
7970
0
  proto_item *item = NULL;
7971
0
  proto_tree *tree = NULL;
7972
0
  unsigned old_offset;
7973
7974
0
  ALIGN_TO_4_BYTES;
7975
7976
0
  old_offset = offset;
7977
7978
0
  if (parent_tree) {
7979
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7980
0
    tree = proto_item_add_subtree(item, ett_samr_samr_PwInfo);
7981
0
  }
7982
7983
0
  offset = samr_dissect_element_PwInfo_min_password_length(tvb, offset, pinfo, tree, di, drep);
7984
7985
0
  offset = samr_dissect_element_PwInfo_password_properties(tvb, offset, pinfo, tree, di, drep);
7986
7987
7988
0
  proto_item_set_len(item, offset-old_offset);
7989
7990
7991
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
7992
0
    ALIGN_TO_4_BYTES;
7993
0
  }
7994
7995
0
  return offset;
7996
0
}
7997
7998
7999
/* IDL: enum { */
8000
/* IDL:   SAMR_CONNECT_PRE_W2K=1, */
8001
/* IDL:   SAMR_CONNECT_W2K=2, */
8002
/* IDL:   SAMR_CONNECT_AFTER_W2K=3, */
8003
/* IDL: } */
8004
8005
unsigned
8006
samr_dissect_enum_ConnectVersion(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8007
0
{
8008
0
  uint32_t parameter=0;
8009
0
  if (param) {
8010
0
    parameter = *param;
8011
0
  }
8012
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8013
0
  if (param) {
8014
0
    *param = parameter;
8015
0
  }
8016
0
  return offset;
8017
0
}
8018
8019
8020
/* IDL: enum { */
8021
/* IDL:   SAM_PWD_CHANGE_NO_ERROR=0, */
8022
/* IDL:   SAM_PWD_CHANGE_PASSWORD_TOO_SHORT=1, */
8023
/* IDL:   SAM_PWD_CHANGE_PWD_IN_HISTORY=2, */
8024
/* IDL:   SAM_PWD_CHANGE_USERNAME_IN_PASSWORD=3, */
8025
/* IDL:   SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD=4, */
8026
/* IDL:   SAM_PWD_CHANGE_NOT_COMPLEX=5, */
8027
/* IDL:   SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT=6, */
8028
/* IDL:   SAM_PWD_CHANGE_FAILED_BY_FILTER=7, */
8029
/* IDL:   SAM_PWD_CHANGE_PASSWORD_TOO_LONG=8, */
8030
/* IDL: } */
8031
8032
unsigned
8033
samr_dissect_enum_samPwdChangeReason(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8034
0
{
8035
0
  uint32_t parameter=0;
8036
0
  if (param) {
8037
0
    parameter = *param;
8038
0
  }
8039
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8040
0
  if (param) {
8041
0
    *param = parameter;
8042
0
  }
8043
0
  return offset;
8044
0
}
8045
8046
8047
/* IDL: struct { */
8048
/* IDL:   samPwdChangeReason extendedFailureReason; */
8049
/* IDL:   lsa_String filterModuleName; */
8050
/* IDL: } */
8051
8052
static unsigned
8053
samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8054
0
{
8055
0
  offset = samr_dissect_enum_samPwdChangeReason(tvb, offset, pinfo, tree, di, drep, hf_samr_userPwdChangeFailureInformation_extendedFailureReason, 0);
8056
8057
0
  return offset;
8058
0
}
8059
8060
static unsigned
8061
samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8062
0
{
8063
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_userPwdChangeFailureInformation_filterModuleName);
8064
8065
0
  return offset;
8066
0
}
8067
8068
unsigned
8069
samr_dissect_struct_userPwdChangeFailureInformation(tvbuff_t *tvb _U_, unsigned 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_)
8070
0
{
8071
0
  proto_item *item = NULL;
8072
0
  proto_tree *tree = NULL;
8073
0
  unsigned old_offset;
8074
8075
0
  ALIGN_TO_5_BYTES;
8076
8077
0
  old_offset = offset;
8078
8079
0
  if (parent_tree) {
8080
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8081
0
    tree = proto_item_add_subtree(item, ett_samr_userPwdChangeFailureInformation);
8082
0
  }
8083
8084
0
  offset = samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvb, offset, pinfo, tree, di, drep);
8085
8086
0
  offset = samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvb, offset, pinfo, tree, di, drep);
8087
8088
8089
0
  proto_item_set_len(item, offset-old_offset);
8090
8091
8092
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8093
0
    ALIGN_TO_5_BYTES;
8094
0
  }
8095
8096
0
  return offset;
8097
0
}
8098
8099
8100
/* IDL: enum { */
8101
/* IDL:   SAMR_CONNECT_FEATURE_RID_ONLY=0x00000001, */
8102
/* IDL:   SAMR_CONNECT_FEATURE_RESRVED1=0x00000002, */
8103
/* IDL:   SAMR_CONNECT_FEATURE_RESRVED2=0x00000004, */
8104
/* IDL:   SAMR_CONNECT_FEATURE_USE_AES=0x00000010, */
8105
/* IDL: } */
8106
8107
unsigned
8108
samr_dissect_enum_SupportedFeatures(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8109
0
{
8110
0
  uint32_t parameter=0;
8111
0
  if (param) {
8112
0
    parameter = *param;
8113
0
  }
8114
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8115
0
  if (param) {
8116
0
    *param = parameter;
8117
0
  }
8118
0
  return offset;
8119
0
}
8120
8121
8122
/* IDL: struct { */
8123
/* IDL:   samr_ConnectVersion client_version; */
8124
/* IDL:   samr_SupportedFeatures supported_features; */
8125
/* IDL: } */
8126
8127
static unsigned
8128
samr_dissect_element_ConnectInfo1_client_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8129
0
{
8130
0
  offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_client_version, 0);
8131
8132
0
  return offset;
8133
0
}
8134
8135
static unsigned
8136
samr_dissect_element_ConnectInfo1_supported_features(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8137
0
{
8138
0
  offset = samr_dissect_enum_SupportedFeatures(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_supported_features, 0);
8139
8140
0
  return offset;
8141
0
}
8142
8143
unsigned
8144
samr_dissect_struct_ConnectInfo1(tvbuff_t *tvb _U_, unsigned 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_)
8145
0
{
8146
0
  proto_item *item = NULL;
8147
0
  proto_tree *tree = NULL;
8148
0
  unsigned old_offset;
8149
8150
0
  ALIGN_TO_4_BYTES;
8151
8152
0
  old_offset = offset;
8153
8154
0
  if (parent_tree) {
8155
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8156
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ConnectInfo1);
8157
0
  }
8158
8159
0
  offset = samr_dissect_element_ConnectInfo1_client_version(tvb, offset, pinfo, tree, di, drep);
8160
8161
0
  offset = samr_dissect_element_ConnectInfo1_supported_features(tvb, offset, pinfo, tree, di, drep);
8162
8163
8164
0
  proto_item_set_len(item, offset-old_offset);
8165
8166
8167
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8168
0
    ALIGN_TO_4_BYTES;
8169
0
  }
8170
8171
0
  return offset;
8172
0
}
8173
8174
8175
/* IDL: union { */
8176
/* IDL: [case(1)] [case(1)] samr_ConnectInfo1 info1; */
8177
/* IDL: } */
8178
8179
static unsigned
8180
samr_dissect_element_ConnectInfo_info1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8181
0
{
8182
0
  offset = samr_dissect_struct_ConnectInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ConnectInfo_info1,0);
8183
8184
0
  return offset;
8185
0
}
8186
8187
static unsigned
8188
samr_dissect_ConnectInfo(tvbuff_t *tvb _U_, unsigned 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_)
8189
0
{
8190
0
  proto_item *item = NULL;
8191
0
  proto_tree *tree = NULL;
8192
0
  unsigned old_offset;
8193
0
  uint32_t level;
8194
8195
0
  old_offset = offset;
8196
0
  if (parent_tree) {
8197
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ConnectInfo, &item, "samr_ConnectInfo");
8198
0
  }
8199
8200
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8201
0
  ALIGN_TO_4_BYTES;
8202
8203
0
  switch(level) {
8204
0
    case 1:
8205
0
      offset = samr_dissect_element_ConnectInfo_info1(tvb, offset, pinfo, tree, di, drep);
8206
0
    break;
8207
0
  }
8208
0
  proto_item_set_len(item, offset-old_offset);
8209
8210
8211
0
  return offset;
8212
0
}
8213
8214
/* IDL: bitmap { */
8215
/* IDL:   SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET =  0x00000001 , */
8216
/* IDL:   SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME =  0x00000002 , */
8217
/* IDL:   SAMR_VALIDATE_FIELD_LOCKOUT_TIME =  0x00000004 , */
8218
/* IDL:   SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT =  0x00000008 , */
8219
/* IDL:   SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH =  0x00000010 , */
8220
/* IDL:   SAMR_VALIDATE_FIELD_PASSWORD_HISTORY =  0x00000020 , */
8221
/* IDL: } */
8222
8223
unsigned
8224
samr_dissect_bitmap_ValidateFieldsPresent(tvbuff_t *tvb _U_, unsigned 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_)
8225
0
{
8226
0
  proto_item *item;
8227
0
  static int * const samr_samr_ValidateFieldsPresent_fields[] = {
8228
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET,
8229
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME,
8230
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME,
8231
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT,
8232
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH,
8233
0
    &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY,
8234
0
    NULL
8235
0
  };
8236
0
  uint32_t flags;
8237
0
  ALIGN_TO_4_BYTES;
8238
8239
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
8240
0
        ett_samr_samr_ValidateFieldsPresent, samr_samr_ValidateFieldsPresent_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
8241
8242
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
8243
8244
0
  if (!flags)
8245
0
    proto_item_append_text(item, ": (No values set)");
8246
8247
0
  if (flags & (~0x0000003f)) {
8248
0
    flags &= (~0x0000003f);
8249
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
8250
0
  }
8251
8252
0
  return offset;
8253
0
}
8254
8255
8256
/* IDL: enum { */
8257
/* IDL:   NetValidateAuthentication=1, */
8258
/* IDL:   NetValidatePasswordChange=2, */
8259
/* IDL:   NetValidatePasswordReset=3, */
8260
/* IDL: } */
8261
8262
unsigned
8263
samr_dissect_enum_ValidatePasswordLevel(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8264
0
{
8265
0
  uint32_t parameter=0;
8266
0
  if (param) {
8267
0
    parameter = *param;
8268
0
  }
8269
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8270
0
  if (param) {
8271
0
    *param = parameter;
8272
0
  }
8273
0
  return offset;
8274
0
}
8275
8276
8277
/* IDL: enum { */
8278
/* IDL:   SAMR_VALIDATION_STATUS_SUCCESS=0, */
8279
/* IDL:   SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=1, */
8280
/* IDL:   SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=2, */
8281
/* IDL:   SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED=3, */
8282
/* IDL:   SAMR_VALIDATION_STATUS_BAD_PASSWORD=4, */
8283
/* IDL:   SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=5, */
8284
/* IDL:   SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=6, */
8285
/* IDL:   SAMR_VALIDATION_STATUS_PWD_TOO_LONG=7, */
8286
/* IDL:   SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=8, */
8287
/* IDL:   SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=9, */
8288
/* IDL:   SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR=10, */
8289
/* IDL: } */
8290
8291
unsigned
8292
samr_dissect_enum_ValidationStatus(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8293
0
{
8294
0
  uint32_t parameter=0;
8295
0
  if (param) {
8296
0
    parameter = *param;
8297
0
  }
8298
0
  offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8299
0
  if (param) {
8300
0
    *param = parameter;
8301
0
  }
8302
0
  return offset;
8303
0
}
8304
8305
8306
/* IDL: struct { */
8307
/* IDL:   uint32 length; */
8308
/* IDL:   [size_is(length)] [unique(1)] uint8 *data; */
8309
/* IDL: } */
8310
8311
static unsigned
8312
samr_dissect_element_ValidationBlob_length(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8313
0
{
8314
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_length, 0);
8315
8316
0
  return offset;
8317
0
}
8318
8319
static unsigned
8320
samr_dissect_element_ValidationBlob_data(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8321
0
{
8322
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidationBlob_data_, NDR_POINTER_UNIQUE, "Pointer to Data (uint8)",hf_samr_samr_ValidationBlob_data);
8323
8324
0
  return offset;
8325
0
}
8326
8327
static unsigned
8328
samr_dissect_element_ValidationBlob_data_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8329
0
{
8330
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidationBlob_data__);
8331
8332
0
  return offset;
8333
0
}
8334
8335
static unsigned
8336
samr_dissect_element_ValidationBlob_data__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8337
0
{
8338
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_data, 0);
8339
8340
0
  return offset;
8341
0
}
8342
8343
unsigned
8344
samr_dissect_struct_ValidationBlob(tvbuff_t *tvb _U_, unsigned 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_)
8345
0
{
8346
0
  proto_item *item = NULL;
8347
0
  proto_tree *tree = NULL;
8348
0
  unsigned old_offset;
8349
8350
0
  ALIGN_TO_5_BYTES;
8351
8352
0
  old_offset = offset;
8353
8354
0
  if (parent_tree) {
8355
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8356
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidationBlob);
8357
0
  }
8358
8359
0
  offset = samr_dissect_element_ValidationBlob_length(tvb, offset, pinfo, tree, di, drep);
8360
8361
0
  offset = samr_dissect_element_ValidationBlob_data(tvb, offset, pinfo, tree, di, drep);
8362
8363
8364
0
  proto_item_set_len(item, offset-old_offset);
8365
8366
8367
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8368
0
    ALIGN_TO_5_BYTES;
8369
0
  }
8370
8371
0
  return offset;
8372
0
}
8373
8374
8375
/* IDL: struct { */
8376
/* IDL:   samr_ValidateFieldsPresent fields_present; */
8377
/* IDL:   NTTIME_hyper last_password_change; */
8378
/* IDL:   NTTIME_hyper bad_password_time; */
8379
/* IDL:   NTTIME_hyper lockout_time; */
8380
/* IDL:   uint32 bad_pwd_count; */
8381
/* IDL:   uint32 pwd_history_len; */
8382
/* IDL:   [size_is(pwd_history_len)] [unique(1)] samr_ValidationBlob *pwd_history; */
8383
/* IDL: } */
8384
8385
static unsigned
8386
samr_dissect_element_ValidatePasswordInfo_fields_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8387
0
{
8388
0
  offset = samr_dissect_bitmap_ValidateFieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_fields_present, 0);
8389
8390
0
  return offset;
8391
0
}
8392
8393
static unsigned
8394
samr_dissect_element_ValidatePasswordInfo_last_password_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8395
0
{
8396
0
  offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_last_password_change);
8397
8398
0
  return offset;
8399
0
}
8400
8401
static unsigned
8402
samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8403
0
{
8404
0
  offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_password_time);
8405
8406
0
  return offset;
8407
0
}
8408
8409
static unsigned
8410
samr_dissect_element_ValidatePasswordInfo_lockout_time(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8411
0
{
8412
0
  offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_lockout_time);
8413
8414
0
  return offset;
8415
0
}
8416
8417
static unsigned
8418
samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8419
0
{
8420
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_pwd_count, 0);
8421
8422
0
  return offset;
8423
0
}
8424
8425
static unsigned
8426
samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8427
0
{
8428
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_pwd_history_len, 0);
8429
8430
0
  return offset;
8431
0
}
8432
8433
static unsigned
8434
samr_dissect_element_ValidatePasswordInfo_pwd_history(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8435
0
{
8436
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePasswordInfo_pwd_history_, NDR_POINTER_UNIQUE, "Pointer to Pwd History (samr_ValidationBlob)",hf_samr_samr_ValidatePasswordInfo_pwd_history);
8437
8438
0
  return offset;
8439
0
}
8440
8441
static unsigned
8442
samr_dissect_element_ValidatePasswordInfo_pwd_history_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8443
0
{
8444
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePasswordInfo_pwd_history__);
8445
8446
0
  return offset;
8447
0
}
8448
8449
static unsigned
8450
samr_dissect_element_ValidatePasswordInfo_pwd_history__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8451
0
{
8452
0
  offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordInfo_pwd_history,0);
8453
8454
0
  return offset;
8455
0
}
8456
8457
unsigned
8458
samr_dissect_struct_ValidatePasswordInfo(tvbuff_t *tvb _U_, unsigned 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_)
8459
0
{
8460
0
  proto_item *item = NULL;
8461
0
  proto_tree *tree = NULL;
8462
0
  unsigned old_offset;
8463
8464
0
  ALIGN_TO_8_BYTES;
8465
8466
0
  old_offset = offset;
8467
8468
0
  if (parent_tree) {
8469
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8470
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordInfo);
8471
0
  }
8472
8473
0
  offset = samr_dissect_element_ValidatePasswordInfo_fields_present(tvb, offset, pinfo, tree, di, drep);
8474
8475
0
  offset = samr_dissect_element_ValidatePasswordInfo_last_password_change(tvb, offset, pinfo, tree, di, drep);
8476
8477
0
  offset = samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvb, offset, pinfo, tree, di, drep);
8478
8479
0
  offset = samr_dissect_element_ValidatePasswordInfo_lockout_time(tvb, offset, pinfo, tree, di, drep);
8480
8481
0
  offset = samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvb, offset, pinfo, tree, di, drep);
8482
8483
0
  offset = samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvb, offset, pinfo, tree, di, drep);
8484
8485
0
  offset = samr_dissect_element_ValidatePasswordInfo_pwd_history(tvb, offset, pinfo, tree, di, drep);
8486
8487
8488
0
  proto_item_set_len(item, offset-old_offset);
8489
8490
8491
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8492
0
    ALIGN_TO_8_BYTES;
8493
0
  }
8494
8495
0
  return offset;
8496
0
}
8497
8498
8499
/* IDL: struct { */
8500
/* IDL:   samr_ValidatePasswordInfo info; */
8501
/* IDL:   samr_ValidationStatus status; */
8502
/* IDL: } */
8503
8504
static unsigned
8505
samr_dissect_element_ValidatePasswordRepCtr_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8506
0
{
8507
0
  offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRepCtr_info,0);
8508
8509
0
  return offset;
8510
0
}
8511
8512
static unsigned
8513
samr_dissect_element_ValidatePasswordRepCtr_status(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8514
0
{
8515
0
  offset = samr_dissect_enum_ValidationStatus(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordRepCtr_status, 0);
8516
8517
0
  return offset;
8518
0
}
8519
8520
unsigned
8521
samr_dissect_struct_ValidatePasswordRepCtr(tvbuff_t *tvb _U_, unsigned 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_)
8522
0
{
8523
0
  proto_item *item = NULL;
8524
0
  proto_tree *tree = NULL;
8525
0
  unsigned old_offset;
8526
8527
0
  ALIGN_TO_8_BYTES;
8528
8529
0
  old_offset = offset;
8530
8531
0
  if (parent_tree) {
8532
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8533
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordRepCtr);
8534
0
  }
8535
8536
0
  offset = samr_dissect_element_ValidatePasswordRepCtr_info(tvb, offset, pinfo, tree, di, drep);
8537
8538
0
  offset = samr_dissect_element_ValidatePasswordRepCtr_status(tvb, offset, pinfo, tree, di, drep);
8539
8540
8541
0
  proto_item_set_len(item, offset-old_offset);
8542
8543
8544
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8545
0
    ALIGN_TO_8_BYTES;
8546
0
  }
8547
8548
0
  return offset;
8549
0
}
8550
8551
8552
/* IDL: [switch_type(uint16)] union { */
8553
/* IDL: [case(1)] [case(1)] samr_ValidatePasswordRepCtr ctr1; */
8554
/* IDL: [case(2)] [case(2)] samr_ValidatePasswordRepCtr ctr2; */
8555
/* IDL: [case(3)] [case(3)] samr_ValidatePasswordRepCtr ctr3; */
8556
/* IDL: } */
8557
8558
static unsigned
8559
samr_dissect_element_ValidatePasswordRep_ctr1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8560
0
{
8561
0
  offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr1,0);
8562
8563
0
  return offset;
8564
0
}
8565
8566
static unsigned
8567
samr_dissect_element_ValidatePasswordRep_ctr2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8568
0
{
8569
0
  offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr2,0);
8570
8571
0
  return offset;
8572
0
}
8573
8574
static unsigned
8575
samr_dissect_element_ValidatePasswordRep_ctr3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8576
0
{
8577
0
  offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr3,0);
8578
8579
0
  return offset;
8580
0
}
8581
8582
static unsigned
8583
samr_dissect_ValidatePasswordRep(tvbuff_t *tvb _U_, unsigned 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_)
8584
0
{
8585
0
  proto_item *item = NULL;
8586
0
  proto_tree *tree = NULL;
8587
0
  unsigned old_offset;
8588
0
  uint16_t level;
8589
8590
0
  old_offset = offset;
8591
0
  if (parent_tree) {
8592
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ValidatePasswordRep, &item, "samr_ValidatePasswordRep");
8593
0
  }
8594
8595
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8596
0
  ALIGN_TO_8_BYTES;
8597
8598
0
  switch(level) {
8599
0
    case 1:
8600
0
      offset = samr_dissect_element_ValidatePasswordRep_ctr1(tvb, offset, pinfo, tree, di, drep);
8601
0
    break;
8602
8603
0
    case 2:
8604
0
      offset = samr_dissect_element_ValidatePasswordRep_ctr2(tvb, offset, pinfo, tree, di, drep);
8605
0
    break;
8606
8607
0
    case 3:
8608
0
      offset = samr_dissect_element_ValidatePasswordRep_ctr3(tvb, offset, pinfo, tree, di, drep);
8609
0
    break;
8610
0
  }
8611
0
  proto_item_set_len(item, offset-old_offset);
8612
8613
8614
0
  return offset;
8615
0
}
8616
8617
/* IDL: struct { */
8618
/* IDL:   samr_ValidatePasswordInfo info; */
8619
/* IDL:   lsa_StringLarge password; */
8620
/* IDL:   lsa_StringLarge account; */
8621
/* IDL:   samr_ValidationBlob hash; */
8622
/* IDL:   uint8 pwd_must_change_at_next_logon; */
8623
/* IDL:   uint8 clear_lockout; */
8624
/* IDL: } */
8625
8626
static unsigned
8627
samr_dissect_element_ValidatePasswordReq3_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8628
0
{
8629
0
  offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_info,0);
8630
8631
0
  return offset;
8632
0
}
8633
8634
static unsigned
8635
samr_dissect_element_ValidatePasswordReq3_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8636
0
{
8637
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_password);
8638
8639
0
  return offset;
8640
0
}
8641
8642
static unsigned
8643
samr_dissect_element_ValidatePasswordReq3_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8644
0
{
8645
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_account);
8646
8647
0
  return offset;
8648
0
}
8649
8650
static unsigned
8651
samr_dissect_element_ValidatePasswordReq3_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8652
0
{
8653
0
  offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_hash,0);
8654
8655
0
  return offset;
8656
0
}
8657
8658
static unsigned
8659
samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8660
0
{
8661
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon, 0);
8662
8663
0
  return offset;
8664
0
}
8665
8666
static unsigned
8667
samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8668
0
{
8669
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_clear_lockout, 0);
8670
8671
0
  return offset;
8672
0
}
8673
8674
unsigned
8675
samr_dissect_struct_ValidatePasswordReq3(tvbuff_t *tvb _U_, unsigned 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_)
8676
0
{
8677
0
  proto_item *item = NULL;
8678
0
  proto_tree *tree = NULL;
8679
0
  unsigned old_offset;
8680
8681
0
  ALIGN_TO_8_BYTES;
8682
8683
0
  old_offset = offset;
8684
8685
0
  if (parent_tree) {
8686
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8687
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq3);
8688
0
  }
8689
8690
0
  offset = samr_dissect_element_ValidatePasswordReq3_info(tvb, offset, pinfo, tree, di, drep);
8691
8692
0
  offset = samr_dissect_element_ValidatePasswordReq3_password(tvb, offset, pinfo, tree, di, drep);
8693
8694
0
  offset = samr_dissect_element_ValidatePasswordReq3_account(tvb, offset, pinfo, tree, di, drep);
8695
8696
0
  offset = samr_dissect_element_ValidatePasswordReq3_hash(tvb, offset, pinfo, tree, di, drep);
8697
8698
0
  offset = samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvb, offset, pinfo, tree, di, drep);
8699
8700
0
  offset = samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvb, offset, pinfo, tree, di, drep);
8701
8702
8703
0
  proto_item_set_len(item, offset-old_offset);
8704
8705
8706
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8707
0
    ALIGN_TO_8_BYTES;
8708
0
  }
8709
8710
0
  return offset;
8711
0
}
8712
8713
8714
/* IDL: struct { */
8715
/* IDL:   samr_ValidatePasswordInfo info; */
8716
/* IDL:   lsa_StringLarge password; */
8717
/* IDL:   lsa_StringLarge account; */
8718
/* IDL:   samr_ValidationBlob hash; */
8719
/* IDL:   uint8 password_matched; */
8720
/* IDL: } */
8721
8722
static unsigned
8723
samr_dissect_element_ValidatePasswordReq2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8724
0
{
8725
0
  offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_info,0);
8726
8727
0
  return offset;
8728
0
}
8729
8730
static unsigned
8731
samr_dissect_element_ValidatePasswordReq2_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8732
0
{
8733
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_password);
8734
8735
0
  return offset;
8736
0
}
8737
8738
static unsigned
8739
samr_dissect_element_ValidatePasswordReq2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8740
0
{
8741
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_account);
8742
8743
0
  return offset;
8744
0
}
8745
8746
static unsigned
8747
samr_dissect_element_ValidatePasswordReq2_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8748
0
{
8749
0
  offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_hash,0);
8750
8751
0
  return offset;
8752
0
}
8753
8754
static unsigned
8755
samr_dissect_element_ValidatePasswordReq2_password_matched(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8756
0
{
8757
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq2_password_matched, 0);
8758
8759
0
  return offset;
8760
0
}
8761
8762
unsigned
8763
samr_dissect_struct_ValidatePasswordReq2(tvbuff_t *tvb _U_, unsigned 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_)
8764
0
{
8765
0
  proto_item *item = NULL;
8766
0
  proto_tree *tree = NULL;
8767
0
  unsigned old_offset;
8768
8769
0
  ALIGN_TO_8_BYTES;
8770
8771
0
  old_offset = offset;
8772
8773
0
  if (parent_tree) {
8774
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8775
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq2);
8776
0
  }
8777
8778
0
  offset = samr_dissect_element_ValidatePasswordReq2_info(tvb, offset, pinfo, tree, di, drep);
8779
8780
0
  offset = samr_dissect_element_ValidatePasswordReq2_password(tvb, offset, pinfo, tree, di, drep);
8781
8782
0
  offset = samr_dissect_element_ValidatePasswordReq2_account(tvb, offset, pinfo, tree, di, drep);
8783
8784
0
  offset = samr_dissect_element_ValidatePasswordReq2_hash(tvb, offset, pinfo, tree, di, drep);
8785
8786
0
  offset = samr_dissect_element_ValidatePasswordReq2_password_matched(tvb, offset, pinfo, tree, di, drep);
8787
8788
8789
0
  proto_item_set_len(item, offset-old_offset);
8790
8791
8792
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8793
0
    ALIGN_TO_8_BYTES;
8794
0
  }
8795
8796
0
  return offset;
8797
0
}
8798
8799
8800
/* IDL: struct { */
8801
/* IDL:   samr_ValidatePasswordInfo info; */
8802
/* IDL:   uint8 password_matched; */
8803
/* IDL: } */
8804
8805
static unsigned
8806
samr_dissect_element_ValidatePasswordReq1_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8807
0
{
8808
0
  offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq1_info,0);
8809
8810
0
  return offset;
8811
0
}
8812
8813
static unsigned
8814
samr_dissect_element_ValidatePasswordReq1_password_matched(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8815
0
{
8816
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq1_password_matched, 0);
8817
8818
0
  return offset;
8819
0
}
8820
8821
unsigned
8822
samr_dissect_struct_ValidatePasswordReq1(tvbuff_t *tvb _U_, unsigned 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_)
8823
0
{
8824
0
  proto_item *item = NULL;
8825
0
  proto_tree *tree = NULL;
8826
0
  unsigned old_offset;
8827
8828
0
  ALIGN_TO_8_BYTES;
8829
8830
0
  old_offset = offset;
8831
8832
0
  if (parent_tree) {
8833
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8834
0
    tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq1);
8835
0
  }
8836
8837
0
  offset = samr_dissect_element_ValidatePasswordReq1_info(tvb, offset, pinfo, tree, di, drep);
8838
8839
0
  offset = samr_dissect_element_ValidatePasswordReq1_password_matched(tvb, offset, pinfo, tree, di, drep);
8840
8841
8842
0
  proto_item_set_len(item, offset-old_offset);
8843
8844
8845
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
8846
0
    ALIGN_TO_8_BYTES;
8847
0
  }
8848
8849
0
  return offset;
8850
0
}
8851
8852
8853
/* IDL: [switch_type(uint16)] union { */
8854
/* IDL: [case(1)] [case(1)] samr_ValidatePasswordReq1 req1; */
8855
/* IDL: [case(2)] [case(2)] samr_ValidatePasswordReq2 req2; */
8856
/* IDL: [case(3)] [case(3)] samr_ValidatePasswordReq3 req3; */
8857
/* IDL: } */
8858
8859
static unsigned
8860
samr_dissect_element_ValidatePasswordReq_req1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8861
0
{
8862
0
  offset = samr_dissect_struct_ValidatePasswordReq1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req1,0);
8863
8864
0
  return offset;
8865
0
}
8866
8867
static unsigned
8868
samr_dissect_element_ValidatePasswordReq_req2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8869
0
{
8870
0
  offset = samr_dissect_struct_ValidatePasswordReq2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req2,0);
8871
8872
0
  return offset;
8873
0
}
8874
8875
static unsigned
8876
samr_dissect_element_ValidatePasswordReq_req3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8877
0
{
8878
0
  offset = samr_dissect_struct_ValidatePasswordReq3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req3,0);
8879
8880
0
  return offset;
8881
0
}
8882
8883
static unsigned
8884
samr_dissect_ValidatePasswordReq(tvbuff_t *tvb _U_, unsigned 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_)
8885
0
{
8886
0
  proto_item *item = NULL;
8887
0
  proto_tree *tree = NULL;
8888
0
  unsigned old_offset;
8889
0
  uint16_t level;
8890
8891
0
  old_offset = offset;
8892
0
  if (parent_tree) {
8893
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ValidatePasswordReq, &item, "samr_ValidatePasswordReq");
8894
0
  }
8895
8896
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8897
0
  ALIGN_TO_8_BYTES;
8898
8899
0
  switch(level) {
8900
0
    case 1:
8901
0
      offset = samr_dissect_element_ValidatePasswordReq_req1(tvb, offset, pinfo, tree, di, drep);
8902
0
    break;
8903
8904
0
    case 2:
8905
0
      offset = samr_dissect_element_ValidatePasswordReq_req2(tvb, offset, pinfo, tree, di, drep);
8906
0
    break;
8907
8908
0
    case 3:
8909
0
      offset = samr_dissect_element_ValidatePasswordReq_req3(tvb, offset, pinfo, tree, di, drep);
8910
0
    break;
8911
0
  }
8912
0
  proto_item_set_len(item, offset-old_offset);
8913
8914
8915
0
  return offset;
8916
0
}
8917
static unsigned
8918
samr_dissect_element_Connect_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8919
0
{
8920
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect_system_name);
8921
8922
0
  return offset;
8923
0
}
8924
8925
static unsigned
8926
samr_dissect_element_Connect_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8927
0
{
8928
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect_system_name, 0);
8929
8930
0
  return offset;
8931
0
}
8932
8933
static unsigned
8934
samr_dissect_element_Connect_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8935
0
{
8936
0
  offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
8937
8938
0
  return offset;
8939
0
}
8940
8941
static unsigned
8942
samr_dissect_element_Connect_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8943
0
{
8944
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
8945
8946
0
  return offset;
8947
0
}
8948
8949
static unsigned
8950
samr_dissect_element_Connect_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8951
0
{
8952
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
8953
8954
0
  return offset;
8955
0
}
8956
8957
/* IDL: NTSTATUS samr_Connect( */
8958
/* IDL: [in] [unique(1)] uint16 *system_name, */
8959
/* IDL: [in] samr_ConnectAccessMask access_mask, */
8960
/* IDL: [out] [ref] policy_handle *connect_handle */
8961
/* IDL: ); */
8962
8963
static unsigned
8964
samr_dissect_Connect_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8965
0
{
8966
0
  uint32_t status;
8967
8968
0
  di->dcerpc_procedure_name="Connect";
8969
0
  offset = samr_dissect_element_Connect_connect_handle(tvb, offset, pinfo, tree, di, drep);
8970
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8971
8972
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
8973
8974
0
  if (status != 0)
8975
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
8976
8977
0
  return offset;
8978
0
}
8979
8980
static unsigned
8981
samr_dissect_Connect_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8982
0
{
8983
0
  di->dcerpc_procedure_name="Connect";
8984
0
  offset = samr_dissect_element_Connect_system_name(tvb, offset, pinfo, tree, di, drep);
8985
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8986
0
  offset = samr_dissect_element_Connect_access_mask(tvb, offset, pinfo, tree, di, drep);
8987
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8988
0
  return offset;
8989
0
}
8990
8991
static unsigned
8992
samr_dissect_element_Close_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8993
0
{
8994
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Close_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
8995
8996
0
  return offset;
8997
0
}
8998
8999
static unsigned
9000
samr_dissect_element_Close_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9001
0
{
9002
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, PIDL_POLHND_CLOSE);
9003
9004
0
  return offset;
9005
0
}
9006
9007
/* IDL: NTSTATUS samr_Close( */
9008
/* IDL: [in] [out] [ref] policy_handle *handle */
9009
/* IDL: ); */
9010
9011
static unsigned
9012
samr_dissect_Close_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9013
0
{
9014
0
  uint32_t status;
9015
9016
0
  di->dcerpc_procedure_name="Close";
9017
0
  offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9018
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9019
9020
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9021
9022
0
  if (status != 0)
9023
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9024
9025
0
  return offset;
9026
0
}
9027
9028
static unsigned
9029
samr_dissect_Close_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9030
0
{
9031
0
  di->dcerpc_procedure_name="Close";
9032
0
  offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9033
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9034
0
  return offset;
9035
0
}
9036
9037
static unsigned
9038
samr_dissect_element_SetSecurity_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9039
0
{
9040
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetSecurity_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
9041
9042
0
  return offset;
9043
0
}
9044
9045
static unsigned
9046
samr_dissect_element_SetSecurity_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9047
0
{
9048
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9049
9050
0
  return offset;
9051
0
}
9052
9053
static unsigned
9054
samr_dissect_element_SetSecurity_sec_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9055
0
{
9056
0
  offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9057
9058
0
  return offset;
9059
0
}
9060
9061
static unsigned
9062
samr_dissect_element_SetSecurity_sdbuf(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9063
0
{
9064
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetSecurity_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_SetSecurity_sdbuf);
9065
9066
0
  return offset;
9067
0
}
9068
9069
static unsigned
9070
samr_dissect_element_SetSecurity_sdbuf_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9071
0
{
9072
0
  offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9073
9074
0
  return offset;
9075
0
}
9076
9077
/* IDL: NTSTATUS samr_SetSecurity( */
9078
/* IDL: [in] [ref] policy_handle *handle, */
9079
/* IDL: [in] security_secinfo sec_info, */
9080
/* IDL: [in] [ref] sec_desc_buf *sdbuf */
9081
/* IDL: ); */
9082
9083
static unsigned
9084
samr_dissect_SetSecurity_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9085
0
{
9086
0
  uint32_t status;
9087
9088
0
  di->dcerpc_procedure_name="SetSecurity";
9089
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9090
9091
0
  if (status != 0)
9092
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9093
9094
0
  return offset;
9095
0
}
9096
9097
static unsigned
9098
samr_dissect_SetSecurity_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9099
0
{
9100
0
  di->dcerpc_procedure_name="SetSecurity";
9101
0
  offset = samr_dissect_element_SetSecurity_handle(tvb, offset, pinfo, tree, di, drep);
9102
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9103
0
  offset = samr_dissect_element_SetSecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9104
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9105
0
  offset = samr_dissect_element_SetSecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9106
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9107
0
  return offset;
9108
0
}
9109
9110
static unsigned
9111
samr_dissect_element_QuerySecurity_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9112
0
{
9113
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
9114
9115
0
  return offset;
9116
0
}
9117
9118
static unsigned
9119
samr_dissect_element_QuerySecurity_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9120
0
{
9121
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9122
9123
0
  return offset;
9124
0
}
9125
9126
static unsigned
9127
samr_dissect_element_QuerySecurity_sec_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9128
0
{
9129
0
  offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9130
9131
0
  return offset;
9132
0
}
9133
9134
static unsigned
9135
samr_dissect_element_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9136
0
{
9137
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_QuerySecurity_sdbuf);
9138
9139
0
  return offset;
9140
0
}
9141
9142
static unsigned
9143
samr_dissect_element_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9144
0
{
9145
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_sdbuf__, NDR_POINTER_UNIQUE, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_QuerySecurity_sdbuf);
9146
9147
0
  return offset;
9148
0
}
9149
9150
static unsigned
9151
samr_dissect_element_QuerySecurity_sdbuf__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9152
0
{
9153
0
  offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9154
9155
0
  return offset;
9156
0
}
9157
9158
/* IDL: NTSTATUS samr_QuerySecurity( */
9159
/* IDL: [in] [ref] policy_handle *handle, */
9160
/* IDL: [in] security_secinfo sec_info, */
9161
/* IDL: [out] [ref] sec_desc_buf **sdbuf */
9162
/* IDL: ); */
9163
9164
static unsigned
9165
samr_dissect_QuerySecurity_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9166
0
{
9167
0
  uint32_t status;
9168
9169
0
  di->dcerpc_procedure_name="QuerySecurity";
9170
0
  offset = samr_dissect_element_QuerySecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9171
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9172
9173
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9174
9175
0
  if (status != 0)
9176
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9177
9178
0
  return offset;
9179
0
}
9180
9181
static unsigned
9182
samr_dissect_QuerySecurity_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9183
0
{
9184
0
  di->dcerpc_procedure_name="QuerySecurity";
9185
0
  offset = samr_dissect_element_QuerySecurity_handle(tvb, offset, pinfo, tree, di, drep);
9186
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9187
0
  offset = samr_dissect_element_QuerySecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9188
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9189
0
  return offset;
9190
0
}
9191
9192
static unsigned
9193
samr_dissect_element_Shutdown_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9194
0
{
9195
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Shutdown_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9196
9197
0
  return offset;
9198
0
}
9199
9200
static unsigned
9201
samr_dissect_element_Shutdown_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9202
0
{
9203
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_CLOSE);
9204
9205
0
  return offset;
9206
0
}
9207
9208
/* IDL: NTSTATUS samr_Shutdown( */
9209
/* IDL: [in] [ref] policy_handle *connect_handle */
9210
/* IDL: ); */
9211
9212
static unsigned
9213
samr_dissect_Shutdown_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9214
0
{
9215
0
  uint32_t status;
9216
9217
0
  di->dcerpc_procedure_name="Shutdown";
9218
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9219
9220
0
  if (status != 0)
9221
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9222
9223
0
  return offset;
9224
0
}
9225
9226
static unsigned
9227
samr_dissect_Shutdown_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9228
0
{
9229
0
  di->dcerpc_procedure_name="Shutdown";
9230
0
  offset = samr_dissect_element_Shutdown_connect_handle(tvb, offset, pinfo, tree, di, drep);
9231
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9232
0
  return offset;
9233
0
}
9234
9235
static unsigned
9236
samr_dissect_element_LookupDomain_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9237
0
{
9238
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9239
9240
0
  return offset;
9241
0
}
9242
9243
static unsigned
9244
samr_dissect_element_LookupDomain_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9245
0
{
9246
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9247
9248
0
  return offset;
9249
0
}
9250
9251
static unsigned
9252
samr_dissect_element_LookupDomain_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9253
0
{
9254
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_domain_name_, NDR_POINTER_REF, "Pointer to Domain Name (lsa_String)",hf_samr_samr_LookupDomain_domain_name);
9255
9256
0
  return offset;
9257
0
}
9258
9259
static unsigned
9260
samr_dissect_element_LookupDomain_domain_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9261
0
{
9262
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_LookupDomain_domain_name);
9263
9264
0
  return offset;
9265
0
}
9266
9267
static unsigned
9268
samr_dissect_element_LookupDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9269
0
{
9270
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_LookupDomain_sid);
9271
9272
0
  return offset;
9273
0
}
9274
9275
static unsigned
9276
samr_dissect_element_LookupDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9277
0
{
9278
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_sid__, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_samr_samr_LookupDomain_sid);
9279
9280
0
  return offset;
9281
0
}
9282
9283
static unsigned
9284
samr_dissect_element_LookupDomain_sid__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9285
0
{
9286
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9287
9288
0
  return offset;
9289
0
}
9290
9291
/* IDL: NTSTATUS samr_LookupDomain( */
9292
/* IDL: [in] [ref] policy_handle *connect_handle, */
9293
/* IDL: [in] [ref] lsa_String *domain_name, */
9294
/* IDL: [out] [ref] dom_sid2 **sid */
9295
/* IDL: ); */
9296
9297
static unsigned
9298
samr_dissect_LookupDomain_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9299
0
{
9300
0
  uint32_t status;
9301
9302
0
  di->dcerpc_procedure_name="LookupDomain";
9303
0
  offset = samr_dissect_element_LookupDomain_sid(tvb, offset, pinfo, tree, di, drep);
9304
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9305
9306
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9307
9308
0
  if (status != 0)
9309
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9310
9311
0
  return offset;
9312
0
}
9313
9314
static unsigned
9315
samr_dissect_LookupDomain_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9316
0
{
9317
0
  di->dcerpc_procedure_name="LookupDomain";
9318
0
  offset = samr_dissect_element_LookupDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9319
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9320
0
  offset = samr_dissect_element_LookupDomain_domain_name(tvb, offset, pinfo, tree, di, drep);
9321
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9322
0
  return offset;
9323
0
}
9324
9325
static unsigned
9326
samr_dissect_element_EnumDomains_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9327
0
{
9328
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9329
9330
0
  return offset;
9331
0
}
9332
9333
static unsigned
9334
samr_dissect_element_EnumDomains_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9335
0
{
9336
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9337
9338
0
  return offset;
9339
0
}
9340
9341
static unsigned
9342
samr_dissect_element_EnumDomains_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9343
0
{
9344
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomains_resume_handle);
9345
9346
0
  return offset;
9347
0
}
9348
9349
static unsigned
9350
samr_dissect_element_EnumDomains_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9351
0
{
9352
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_resume_handle, 0);
9353
9354
0
  return offset;
9355
0
}
9356
9357
static unsigned
9358
samr_dissect_element_EnumDomains_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9359
0
{
9360
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomains_sam);
9361
9362
0
  return offset;
9363
0
}
9364
9365
static unsigned
9366
samr_dissect_element_EnumDomains_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9367
0
{
9368
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomains_sam);
9369
9370
0
  return offset;
9371
0
}
9372
9373
static unsigned
9374
samr_dissect_element_EnumDomains_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9375
0
{
9376
0
  offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomains_sam,0);
9377
9378
0
  return offset;
9379
0
}
9380
9381
static unsigned
9382
samr_dissect_element_EnumDomains_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9383
0
{
9384
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_buf_size, 0);
9385
9386
0
  return offset;
9387
0
}
9388
9389
static unsigned
9390
samr_dissect_element_EnumDomains_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9391
0
{
9392
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomains_num_entries);
9393
9394
0
  return offset;
9395
0
}
9396
9397
static unsigned
9398
samr_dissect_element_EnumDomains_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9399
0
{
9400
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_num_entries, 0);
9401
9402
0
  return offset;
9403
0
}
9404
9405
/* IDL: NTSTATUS samr_EnumDomains( */
9406
/* IDL: [in] [ref] policy_handle *connect_handle, */
9407
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
9408
/* IDL: [out] [ref] samr_SamArray **sam, */
9409
/* IDL: [in] uint32 buf_size, */
9410
/* IDL: [out] [ref] uint32 *num_entries */
9411
/* IDL: ); */
9412
9413
static unsigned
9414
samr_dissect_EnumDomains_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9415
0
{
9416
0
  uint32_t status;
9417
9418
0
  di->dcerpc_procedure_name="EnumDomains";
9419
0
  offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9420
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9421
9422
0
  offset = samr_dissect_element_EnumDomains_sam(tvb, offset, pinfo, tree, di, drep);
9423
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9424
9425
0
  offset = samr_dissect_element_EnumDomains_num_entries(tvb, offset, pinfo, tree, di, drep);
9426
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9427
9428
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9429
9430
0
  if (status != 0)
9431
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9432
9433
0
  return offset;
9434
0
}
9435
9436
static unsigned
9437
samr_dissect_EnumDomains_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9438
0
{
9439
0
  di->dcerpc_procedure_name="EnumDomains";
9440
0
  offset = samr_dissect_element_EnumDomains_connect_handle(tvb, offset, pinfo, tree, di, drep);
9441
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9442
0
  offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9443
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9444
0
  offset = samr_dissect_element_EnumDomains_buf_size(tvb, offset, pinfo, tree, di, drep);
9445
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9446
0
  return offset;
9447
0
}
9448
9449
static unsigned
9450
samr_dissect_element_OpenDomain_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9451
0
{
9452
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9453
9454
0
  return offset;
9455
0
}
9456
9457
static unsigned
9458
samr_dissect_element_OpenDomain_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9459
0
{
9460
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9461
9462
0
  return offset;
9463
0
}
9464
9465
static unsigned
9466
samr_dissect_element_OpenDomain_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9467
0
{
9468
0
  offset = samr_dissect_bitmap_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask, 0);
9469
9470
0
  return offset;
9471
0
}
9472
9473
static unsigned
9474
samr_dissect_element_OpenDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9475
0
{
9476
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_OpenDomain_sid);
9477
9478
0
  return offset;
9479
0
}
9480
9481
static unsigned
9482
samr_dissect_element_OpenDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9483
0
{
9484
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9485
9486
0
  return offset;
9487
0
}
9488
9489
static unsigned
9490
samr_dissect_element_OpenDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9491
0
{
9492
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9493
9494
0
  return offset;
9495
0
}
9496
9497
static unsigned
9498
samr_dissect_element_OpenDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9499
0
{
9500
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_DOMAIN);
9501
9502
0
  return offset;
9503
0
}
9504
9505
/* IDL: NTSTATUS samr_OpenDomain( */
9506
/* IDL: [in] [ref] policy_handle *connect_handle, */
9507
/* IDL: [in] samr_DomainAccessMask access_mask, */
9508
/* IDL: [in] [ref] dom_sid2 *sid, */
9509
/* IDL: [out] [ref] policy_handle *domain_handle */
9510
/* IDL: ); */
9511
9512
static unsigned
9513
samr_dissect_OpenDomain_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9514
0
{
9515
0
  uint32_t status;
9516
9517
0
  di->dcerpc_procedure_name="OpenDomain";
9518
0
  offset = samr_dissect_element_OpenDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
9519
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9520
9521
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9522
9523
0
  if (status != 0)
9524
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9525
9526
0
  return offset;
9527
0
}
9528
9529
static unsigned
9530
samr_dissect_OpenDomain_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9531
0
{
9532
0
  di->dcerpc_procedure_name="OpenDomain";
9533
0
  offset = samr_dissect_element_OpenDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9534
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9535
0
  offset = samr_dissect_element_OpenDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
9536
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9537
0
  offset = samr_dissect_element_OpenDomain_sid(tvb, offset, pinfo, tree, di, drep);
9538
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9539
0
  return offset;
9540
0
}
9541
9542
static unsigned
9543
samr_dissect_element_QueryDomainInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9544
0
{
9545
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9546
9547
0
  return offset;
9548
0
}
9549
9550
static unsigned
9551
samr_dissect_element_QueryDomainInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9552
0
{
9553
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9554
9555
0
  return offset;
9556
0
}
9557
9558
static unsigned
9559
samr_dissect_element_QueryDomainInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9560
0
{
9561
0
  offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_level, 0);
9562
9563
0
  return offset;
9564
0
}
9565
9566
static unsigned
9567
samr_dissect_element_QueryDomainInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9568
0
{
9569
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo_info);
9570
9571
0
  return offset;
9572
0
}
9573
9574
static unsigned
9575
samr_dissect_element_QueryDomainInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9576
0
{
9577
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo_info);
9578
9579
0
  return offset;
9580
0
}
9581
9582
static unsigned
9583
samr_dissect_element_QueryDomainInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9584
0
{
9585
0
  offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_info, 0);
9586
9587
0
  return offset;
9588
0
}
9589
9590
/* IDL: NTSTATUS samr_QueryDomainInfo( */
9591
/* IDL: [in] [ref] policy_handle *domain_handle, */
9592
/* IDL: [in] samr_DomainInfoClass level, */
9593
/* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
9594
/* IDL: ); */
9595
9596
static unsigned
9597
samr_dissect_QueryDomainInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9598
0
{
9599
0
  uint32_t status;
9600
9601
0
  di->dcerpc_procedure_name="QueryDomainInfo";
9602
0
  offset = samr_dissect_element_QueryDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9603
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9604
9605
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9606
9607
0
  if (status != 0)
9608
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9609
9610
0
  return offset;
9611
0
}
9612
9613
static unsigned
9614
samr_dissect_QueryDomainInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9615
0
{
9616
0
  di->dcerpc_procedure_name="QueryDomainInfo";
9617
0
  offset = samr_dissect_element_QueryDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9618
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9619
0
  offset = samr_dissect_element_QueryDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9620
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9621
0
  return offset;
9622
0
}
9623
9624
static unsigned
9625
samr_dissect_element_SetDomainInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9626
0
{
9627
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDomainInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9628
9629
0
  return offset;
9630
0
}
9631
9632
static unsigned
9633
samr_dissect_element_SetDomainInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9634
0
{
9635
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9636
9637
0
  return offset;
9638
0
}
9639
9640
static unsigned
9641
samr_dissect_element_SetDomainInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9642
0
{
9643
0
  offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_level, 0);
9644
9645
0
  return offset;
9646
0
}
9647
9648
static unsigned
9649
samr_dissect_element_SetDomainInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9650
0
{
9651
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_SetDomainInfo_info);
9652
9653
0
  return offset;
9654
0
}
9655
9656
static unsigned
9657
samr_dissect_element_SetDomainInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9658
0
{
9659
0
  offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_info, 0);
9660
9661
0
  return offset;
9662
0
}
9663
9664
/* IDL: NTSTATUS samr_SetDomainInfo( */
9665
/* IDL: [in] [ref] policy_handle *domain_handle, */
9666
/* IDL: [in] samr_DomainInfoClass level, */
9667
/* IDL: [in] [ref] [switch_is(level)] samr_DomainInfo *info */
9668
/* IDL: ); */
9669
9670
static unsigned
9671
samr_dissect_SetDomainInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9672
0
{
9673
0
  uint32_t status;
9674
9675
0
  di->dcerpc_procedure_name="SetDomainInfo";
9676
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9677
9678
0
  if (status != 0)
9679
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9680
9681
0
  return offset;
9682
0
}
9683
9684
static unsigned
9685
samr_dissect_SetDomainInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9686
0
{
9687
0
  di->dcerpc_procedure_name="SetDomainInfo";
9688
0
  offset = samr_dissect_element_SetDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9689
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9690
0
  offset = samr_dissect_element_SetDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9691
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9692
0
  offset = samr_dissect_element_SetDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9693
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9694
0
  return offset;
9695
0
}
9696
9697
static unsigned
9698
samr_dissect_element_CreateDomainGroup_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9699
0
{
9700
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9701
9702
0
  return offset;
9703
0
}
9704
9705
static unsigned
9706
samr_dissect_element_CreateDomainGroup_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9707
0
{
9708
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9709
9710
0
  return offset;
9711
0
}
9712
9713
static unsigned
9714
samr_dissect_element_CreateDomainGroup_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9715
0
{
9716
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_CreateDomainGroup_name);
9717
9718
0
  return offset;
9719
0
}
9720
9721
static unsigned
9722
samr_dissect_element_CreateDomainGroup_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9723
0
{
9724
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomainGroup_name);
9725
9726
0
  return offset;
9727
0
}
9728
9729
static unsigned
9730
samr_dissect_element_CreateDomainGroup_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9731
0
{
9732
0
  offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
9733
9734
0
  return offset;
9735
0
}
9736
9737
static unsigned
9738
samr_dissect_element_CreateDomainGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9739
0
{
9740
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
9741
9742
0
  return offset;
9743
0
}
9744
9745
static unsigned
9746
samr_dissect_element_CreateDomainGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9747
0
{
9748
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
9749
9750
0
  return offset;
9751
0
}
9752
9753
static unsigned
9754
samr_dissect_element_CreateDomainGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9755
0
{
9756
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
9757
9758
0
  return offset;
9759
0
}
9760
9761
static unsigned
9762
samr_dissect_element_CreateDomainGroup_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9763
0
{
9764
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
9765
9766
0
  return offset;
9767
0
}
9768
9769
/* IDL: NTSTATUS samr_CreateDomainGroup( */
9770
/* IDL: [in] [ref] policy_handle *domain_handle, */
9771
/* IDL: [in] [ref] lsa_String *name, */
9772
/* IDL: [in] samr_GroupAccessMask access_mask, */
9773
/* IDL: [out] [ref] policy_handle *group_handle, */
9774
/* IDL: [out] [ref] uint32 *rid */
9775
/* IDL: ); */
9776
9777
static unsigned
9778
samr_dissect_CreateDomainGroup_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9779
0
{
9780
0
  uint32_t status;
9781
9782
0
  di->dcerpc_procedure_name="CreateDomainGroup";
9783
0
  offset = samr_dissect_element_CreateDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
9784
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9785
9786
0
  offset = samr_dissect_element_CreateDomainGroup_rid(tvb, offset, pinfo, tree, di, drep);
9787
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9788
9789
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9790
9791
0
  if (status != 0)
9792
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9793
9794
0
  return offset;
9795
0
}
9796
9797
static unsigned
9798
samr_dissect_CreateDomainGroup_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9799
0
{
9800
0
  di->dcerpc_procedure_name="CreateDomainGroup";
9801
0
  offset = samr_dissect_element_CreateDomainGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
9802
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9803
0
  offset = samr_dissect_element_CreateDomainGroup_name(tvb, offset, pinfo, tree, di, drep);
9804
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9805
0
  offset = samr_dissect_element_CreateDomainGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
9806
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9807
0
  return offset;
9808
0
}
9809
9810
static unsigned
9811
samr_dissect_element_EnumDomainGroups_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9812
0
{
9813
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9814
9815
0
  return offset;
9816
0
}
9817
9818
static unsigned
9819
samr_dissect_element_EnumDomainGroups_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9820
0
{
9821
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9822
9823
0
  return offset;
9824
0
}
9825
9826
static unsigned
9827
samr_dissect_element_EnumDomainGroups_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9828
0
{
9829
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainGroups_resume_handle);
9830
9831
0
  return offset;
9832
0
}
9833
9834
static unsigned
9835
samr_dissect_element_EnumDomainGroups_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9836
0
{
9837
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_resume_handle, 0);
9838
9839
0
  return offset;
9840
0
}
9841
9842
static unsigned
9843
samr_dissect_element_EnumDomainGroups_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9844
0
{
9845
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainGroups_sam);
9846
9847
0
  return offset;
9848
0
}
9849
9850
static unsigned
9851
samr_dissect_element_EnumDomainGroups_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9852
0
{
9853
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainGroups_sam);
9854
9855
0
  return offset;
9856
0
}
9857
9858
static unsigned
9859
samr_dissect_element_EnumDomainGroups_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9860
0
{
9861
0
  offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainGroups_sam,0);
9862
9863
0
  return offset;
9864
0
}
9865
9866
static unsigned
9867
samr_dissect_element_EnumDomainGroups_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9868
0
{
9869
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_max_size, 0);
9870
9871
0
  return offset;
9872
0
}
9873
9874
static unsigned
9875
samr_dissect_element_EnumDomainGroups_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9876
0
{
9877
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainGroups_num_entries);
9878
9879
0
  return offset;
9880
0
}
9881
9882
static unsigned
9883
samr_dissect_element_EnumDomainGroups_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9884
0
{
9885
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_num_entries, 0);
9886
9887
0
  return offset;
9888
0
}
9889
9890
/* IDL: NTSTATUS samr_EnumDomainGroups( */
9891
/* IDL: [in] [ref] policy_handle *domain_handle, */
9892
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
9893
/* IDL: [out] [ref] samr_SamArray **sam, */
9894
/* IDL: [in] uint32 max_size, */
9895
/* IDL: [out] [ref] uint32 *num_entries */
9896
/* IDL: ); */
9897
9898
static unsigned
9899
samr_dissect_EnumDomainGroups_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9900
0
{
9901
0
  uint32_t status;
9902
9903
0
  di->dcerpc_procedure_name="EnumDomainGroups";
9904
0
  offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
9905
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9906
9907
0
  offset = samr_dissect_element_EnumDomainGroups_sam(tvb, offset, pinfo, tree, di, drep);
9908
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9909
9910
0
  offset = samr_dissect_element_EnumDomainGroups_num_entries(tvb, offset, pinfo, tree, di, drep);
9911
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9912
9913
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9914
9915
0
  if (status != 0)
9916
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9917
9918
0
  return offset;
9919
0
}
9920
9921
static unsigned
9922
samr_dissect_EnumDomainGroups_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9923
0
{
9924
0
  di->dcerpc_procedure_name="EnumDomainGroups";
9925
0
  offset = samr_dissect_element_EnumDomainGroups_domain_handle(tvb, offset, pinfo, tree, di, drep);
9926
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9927
0
  offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
9928
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9929
0
  offset = samr_dissect_element_EnumDomainGroups_max_size(tvb, offset, pinfo, tree, di, drep);
9930
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9931
0
  return offset;
9932
0
}
9933
9934
static unsigned
9935
samr_dissect_element_CreateUser_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9936
0
{
9937
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9938
9939
0
  return offset;
9940
0
}
9941
9942
static unsigned
9943
samr_dissect_element_CreateUser_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9944
0
{
9945
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9946
9947
0
  return offset;
9948
0
}
9949
9950
static unsigned
9951
samr_dissect_element_CreateUser_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9952
0
{
9953
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_account_name_, NDR_POINTER_REF, "Pointer to Account Name (lsa_String)",hf_samr_samr_CreateUser_account_name);
9954
9955
0
  return offset;
9956
0
}
9957
9958
static unsigned
9959
samr_dissect_element_CreateUser_account_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9960
0
{
9961
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO|PIDL_STR_SAVE, hf_samr_samr_CreateUser_account_name);
9962
9963
0
  return offset;
9964
0
}
9965
9966
static unsigned
9967
samr_dissect_element_CreateUser_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9968
0
{
9969
0
  offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
9970
9971
0
  return offset;
9972
0
}
9973
9974
static unsigned
9975
samr_dissect_element_CreateUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9976
0
{
9977
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
9978
9979
0
  return offset;
9980
0
}
9981
9982
static unsigned
9983
samr_dissect_element_CreateUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9984
0
{
9985
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
9986
9987
0
  return offset;
9988
0
}
9989
9990
static unsigned
9991
samr_dissect_element_CreateUser_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9992
0
{
9993
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
9994
9995
0
  return offset;
9996
0
}
9997
9998
static unsigned
9999
samr_dissect_element_CreateUser_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10000
0
{
10001
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10002
10003
0
  return offset;
10004
0
}
10005
10006
/* IDL: NTSTATUS samr_CreateUser( */
10007
/* IDL: [in] [ref] policy_handle *domain_handle, */
10008
/* IDL: [in] [ref] lsa_String *account_name, */
10009
/* IDL: [in] samr_UserAccessMask access_mask, */
10010
/* IDL: [out] [ref] policy_handle *user_handle, */
10011
/* IDL: [out] [ref] uint32 *rid */
10012
/* IDL: ); */
10013
10014
static unsigned
10015
samr_dissect_CreateUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10016
0
{
10017
0
  uint32_t status;
10018
10019
0
  di->dcerpc_procedure_name="CreateUser";
10020
0
  offset = samr_dissect_element_CreateUser_user_handle(tvb, offset, pinfo, tree, di, drep);
10021
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10022
10023
0
  offset = samr_dissect_element_CreateUser_rid(tvb, offset, pinfo, tree, di, drep);
10024
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10025
10026
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10027
10028
0
  if (status != 0)
10029
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10030
10031
0
  return offset;
10032
0
}
10033
10034
static unsigned
10035
samr_dissect_CreateUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10036
0
{
10037
0
  di->dcerpc_procedure_name="CreateUser";
10038
0
  offset = samr_dissect_element_CreateUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
10039
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10040
0
  offset = samr_dissect_element_CreateUser_account_name(tvb, offset, pinfo, tree, di, drep);
10041
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10042
0
  offset = samr_dissect_element_CreateUser_access_mask(tvb, offset, pinfo, tree, di, drep);
10043
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10044
0
  return offset;
10045
0
}
10046
10047
static unsigned
10048
samr_dissect_element_EnumDomainUsers_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10049
0
{
10050
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10051
10052
0
  return offset;
10053
0
}
10054
10055
static unsigned
10056
samr_dissect_element_EnumDomainUsers_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10057
0
{
10058
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10059
10060
0
  return offset;
10061
0
}
10062
10063
static unsigned
10064
samr_dissect_element_EnumDomainUsers_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10065
0
{
10066
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainUsers_resume_handle);
10067
10068
0
  return offset;
10069
0
}
10070
10071
static unsigned
10072
samr_dissect_element_EnumDomainUsers_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10073
0
{
10074
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_resume_handle, 0);
10075
10076
0
  return offset;
10077
0
}
10078
10079
static unsigned
10080
samr_dissect_element_EnumDomainUsers_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10081
0
{
10082
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_acct_flags, 0);
10083
10084
0
  return offset;
10085
0
}
10086
10087
static unsigned
10088
samr_dissect_element_EnumDomainUsers_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10089
0
{
10090
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainUsers_sam);
10091
10092
0
  return offset;
10093
0
}
10094
10095
static unsigned
10096
samr_dissect_element_EnumDomainUsers_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10097
0
{
10098
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainUsers_sam);
10099
10100
0
  return offset;
10101
0
}
10102
10103
static unsigned
10104
samr_dissect_element_EnumDomainUsers_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10105
0
{
10106
0
  offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainUsers_sam,0);
10107
10108
0
  return offset;
10109
0
}
10110
10111
static unsigned
10112
samr_dissect_element_EnumDomainUsers_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10113
0
{
10114
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_max_size, 0);
10115
10116
0
  return offset;
10117
0
}
10118
10119
static unsigned
10120
samr_dissect_element_EnumDomainUsers_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10121
0
{
10122
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainUsers_num_entries);
10123
10124
0
  return offset;
10125
0
}
10126
10127
static unsigned
10128
samr_dissect_element_EnumDomainUsers_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10129
0
{
10130
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_num_entries, 0);
10131
10132
0
  return offset;
10133
0
}
10134
10135
/* IDL: NTSTATUS samr_EnumDomainUsers( */
10136
/* IDL: [in] [ref] policy_handle *domain_handle, */
10137
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
10138
/* IDL: [in] samr_AcctFlags acct_flags, */
10139
/* IDL: [out] [ref] samr_SamArray **sam, */
10140
/* IDL: [in] uint32 max_size, */
10141
/* IDL: [out] [ref] uint32 *num_entries */
10142
/* IDL: ); */
10143
10144
static unsigned
10145
samr_dissect_EnumDomainUsers_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10146
0
{
10147
0
  uint32_t status;
10148
10149
0
  di->dcerpc_procedure_name="EnumDomainUsers";
10150
0
  offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10151
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10152
10153
0
  offset = samr_dissect_element_EnumDomainUsers_sam(tvb, offset, pinfo, tree, di, drep);
10154
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10155
10156
0
  offset = samr_dissect_element_EnumDomainUsers_num_entries(tvb, offset, pinfo, tree, di, drep);
10157
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10158
10159
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10160
10161
0
  if (status != 0)
10162
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10163
10164
0
  return offset;
10165
0
}
10166
10167
static unsigned
10168
samr_dissect_EnumDomainUsers_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10169
0
{
10170
0
  di->dcerpc_procedure_name="EnumDomainUsers";
10171
0
  offset = samr_dissect_element_EnumDomainUsers_domain_handle(tvb, offset, pinfo, tree, di, drep);
10172
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10173
0
  offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10174
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10175
0
  offset = samr_dissect_element_EnumDomainUsers_acct_flags(tvb, offset, pinfo, tree, di, drep);
10176
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10177
0
  offset = samr_dissect_element_EnumDomainUsers_max_size(tvb, offset, pinfo, tree, di, drep);
10178
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10179
0
  return offset;
10180
0
}
10181
10182
static unsigned
10183
samr_dissect_element_CreateDomAlias_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10184
0
{
10185
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10186
10187
0
  return offset;
10188
0
}
10189
10190
static unsigned
10191
samr_dissect_element_CreateDomAlias_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10192
0
{
10193
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10194
10195
0
  return offset;
10196
0
}
10197
10198
static unsigned
10199
samr_dissect_element_CreateDomAlias_alias_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10200
0
{
10201
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_alias_name_, NDR_POINTER_REF, "Pointer to Alias Name (lsa_String)",hf_samr_samr_CreateDomAlias_alias_name);
10202
10203
0
  return offset;
10204
0
}
10205
10206
static unsigned
10207
samr_dissect_element_CreateDomAlias_alias_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10208
0
{
10209
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomAlias_alias_name);
10210
10211
0
  return offset;
10212
0
}
10213
10214
static unsigned
10215
samr_dissect_element_CreateDomAlias_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10216
0
{
10217
0
  offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
10218
10219
0
  return offset;
10220
0
}
10221
10222
static unsigned
10223
samr_dissect_element_CreateDomAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10224
0
{
10225
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
10226
10227
0
  return offset;
10228
0
}
10229
10230
static unsigned
10231
samr_dissect_element_CreateDomAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10232
0
{
10233
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
10234
10235
0
  return offset;
10236
0
}
10237
10238
static unsigned
10239
samr_dissect_element_CreateDomAlias_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10240
0
{
10241
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
10242
10243
0
  return offset;
10244
0
}
10245
10246
static unsigned
10247
samr_dissect_element_CreateDomAlias_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10248
0
{
10249
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10250
10251
0
  return offset;
10252
0
}
10253
10254
/* IDL: NTSTATUS samr_CreateDomAlias( */
10255
/* IDL: [in] [ref] policy_handle *domain_handle, */
10256
/* IDL: [in] [ref] lsa_String *alias_name, */
10257
/* IDL: [in] samr_AliasAccessMask access_mask, */
10258
/* IDL: [out] [ref] policy_handle *alias_handle, */
10259
/* IDL: [out] [ref] uint32 *rid */
10260
/* IDL: ); */
10261
10262
static unsigned
10263
samr_dissect_CreateDomAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10264
0
{
10265
0
  uint32_t status;
10266
10267
0
  di->dcerpc_procedure_name="CreateDomAlias";
10268
0
  offset = samr_dissect_element_CreateDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
10269
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10270
10271
0
  offset = samr_dissect_element_CreateDomAlias_rid(tvb, offset, pinfo, tree, di, drep);
10272
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10273
10274
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10275
10276
0
  if (status != 0)
10277
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10278
10279
0
  return offset;
10280
0
}
10281
10282
static unsigned
10283
samr_dissect_CreateDomAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10284
0
{
10285
0
  di->dcerpc_procedure_name="CreateDomAlias";
10286
0
  offset = samr_dissect_element_CreateDomAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
10287
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10288
0
  offset = samr_dissect_element_CreateDomAlias_alias_name(tvb, offset, pinfo, tree, di, drep);
10289
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10290
0
  offset = samr_dissect_element_CreateDomAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
10291
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10292
0
  return offset;
10293
0
}
10294
10295
static unsigned
10296
samr_dissect_element_EnumDomainAliases_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10297
0
{
10298
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10299
10300
0
  return offset;
10301
0
}
10302
10303
static unsigned
10304
samr_dissect_element_EnumDomainAliases_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10305
0
{
10306
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10307
10308
0
  return offset;
10309
0
}
10310
10311
static unsigned
10312
samr_dissect_element_EnumDomainAliases_resume_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10313
0
{
10314
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainAliases_resume_handle);
10315
10316
0
  return offset;
10317
0
}
10318
10319
static unsigned
10320
samr_dissect_element_EnumDomainAliases_resume_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10321
0
{
10322
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_resume_handle, 0);
10323
10324
0
  return offset;
10325
0
}
10326
10327
static unsigned
10328
samr_dissect_element_EnumDomainAliases_sam(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10329
0
{
10330
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainAliases_sam);
10331
10332
0
  return offset;
10333
0
}
10334
10335
static unsigned
10336
samr_dissect_element_EnumDomainAliases_sam_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10337
0
{
10338
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainAliases_sam);
10339
10340
0
  return offset;
10341
0
}
10342
10343
static unsigned
10344
samr_dissect_element_EnumDomainAliases_sam__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10345
0
{
10346
0
  offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainAliases_sam,0);
10347
10348
0
  return offset;
10349
0
}
10350
10351
static unsigned
10352
samr_dissect_element_EnumDomainAliases_max_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10353
0
{
10354
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_max_size, 0);
10355
10356
0
  return offset;
10357
0
}
10358
10359
static unsigned
10360
samr_dissect_element_EnumDomainAliases_num_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10361
0
{
10362
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainAliases_num_entries);
10363
10364
0
  return offset;
10365
0
}
10366
10367
static unsigned
10368
samr_dissect_element_EnumDomainAliases_num_entries_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10369
0
{
10370
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_num_entries, 0);
10371
10372
0
  return offset;
10373
0
}
10374
10375
/* IDL: NTSTATUS samr_EnumDomainAliases( */
10376
/* IDL: [in] [ref] policy_handle *domain_handle, */
10377
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
10378
/* IDL: [out] [ref] samr_SamArray **sam, */
10379
/* IDL: [in] uint32 max_size, */
10380
/* IDL: [out] [ref] uint32 *num_entries */
10381
/* IDL: ); */
10382
10383
static unsigned
10384
samr_dissect_EnumDomainAliases_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10385
0
{
10386
0
  uint32_t status;
10387
10388
0
  di->dcerpc_procedure_name="EnumDomainAliases";
10389
0
  offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10390
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10391
10392
0
  offset = samr_dissect_element_EnumDomainAliases_sam(tvb, offset, pinfo, tree, di, drep);
10393
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10394
10395
0
  offset = samr_dissect_element_EnumDomainAliases_num_entries(tvb, offset, pinfo, tree, di, drep);
10396
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10397
10398
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10399
10400
0
  if (status != 0)
10401
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10402
10403
0
  return offset;
10404
0
}
10405
10406
static unsigned
10407
samr_dissect_EnumDomainAliases_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10408
0
{
10409
0
  di->dcerpc_procedure_name="EnumDomainAliases";
10410
0
  offset = samr_dissect_element_EnumDomainAliases_domain_handle(tvb, offset, pinfo, tree, di, drep);
10411
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10412
0
  offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10413
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10414
0
  offset = samr_dissect_element_EnumDomainAliases_max_size(tvb, offset, pinfo, tree, di, drep);
10415
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10416
0
  return offset;
10417
0
}
10418
10419
static unsigned
10420
samr_dissect_element_GetAliasMembership_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10421
0
{
10422
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10423
10424
0
  return offset;
10425
0
}
10426
10427
static unsigned
10428
samr_dissect_element_GetAliasMembership_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10429
0
{
10430
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10431
10432
0
  return offset;
10433
0
}
10434
10435
static unsigned
10436
samr_dissect_element_GetAliasMembership_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10437
0
{
10438
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_GetAliasMembership_sids);
10439
10440
0
  return offset;
10441
0
}
10442
10443
static unsigned
10444
samr_dissect_element_GetAliasMembership_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10445
0
{
10446
0
  offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
10447
10448
0
  return offset;
10449
0
}
10450
10451
static unsigned
10452
samr_dissect_element_GetAliasMembership_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10453
0
{
10454
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_Ids)",hf_samr_samr_GetAliasMembership_rids);
10455
10456
0
  return offset;
10457
0
}
10458
10459
static unsigned
10460
samr_dissect_element_GetAliasMembership_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10461
0
{
10462
0
  offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetAliasMembership_rids,0);
10463
10464
0
  return offset;
10465
0
}
10466
10467
/* IDL: NTSTATUS samr_GetAliasMembership( */
10468
/* IDL: [in] [ref] policy_handle *domain_handle, */
10469
/* IDL: [in] [ref] lsa_SidArray *sids, */
10470
/* IDL: [out] [ref] samr_Ids *rids */
10471
/* IDL: ); */
10472
10473
static unsigned
10474
samr_dissect_GetAliasMembership_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10475
0
{
10476
0
  uint32_t status;
10477
10478
0
  di->dcerpc_procedure_name="GetAliasMembership";
10479
0
  offset = samr_dissect_element_GetAliasMembership_rids(tvb, offset, pinfo, tree, di, drep);
10480
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10481
10482
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10483
10484
0
  if (status != 0)
10485
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10486
10487
0
  return offset;
10488
0
}
10489
10490
static unsigned
10491
samr_dissect_GetAliasMembership_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10492
0
{
10493
0
  di->dcerpc_procedure_name="GetAliasMembership";
10494
0
  offset = samr_dissect_element_GetAliasMembership_domain_handle(tvb, offset, pinfo, tree, di, drep);
10495
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10496
0
  offset = samr_dissect_element_GetAliasMembership_sids(tvb, offset, pinfo, tree, di, drep);
10497
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10498
0
  return offset;
10499
0
}
10500
10501
static unsigned
10502
samr_dissect_element_LookupNames_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10503
0
{
10504
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10505
10506
0
  return offset;
10507
0
}
10508
10509
static unsigned
10510
samr_dissect_element_LookupNames_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10511
0
{
10512
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10513
10514
0
  return offset;
10515
0
}
10516
10517
static unsigned
10518
samr_dissect_element_LookupNames_num_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10519
0
{
10520
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupNames_num_names, 0);
10521
10522
0
  return offset;
10523
0
}
10524
10525
static unsigned
10526
samr_dissect_element_LookupNames_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10527
0
{
10528
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_names_, NDR_POINTER_REF, "Pointer to Names (lsa_String)",hf_samr_samr_LookupNames_names);
10529
10530
0
  return offset;
10531
0
}
10532
10533
static unsigned
10534
samr_dissect_element_LookupNames_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10535
0
{
10536
0
  offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_names__);
10537
10538
0
  return offset;
10539
0
}
10540
10541
static unsigned
10542
samr_dissect_element_LookupNames_names__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10543
0
{
10544
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_LookupNames_names);
10545
10546
0
  return offset;
10547
0
}
10548
10549
static unsigned
10550
samr_dissect_element_LookupNames_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10551
0
{
10552
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_Ids)",hf_samr_samr_LookupNames_rids);
10553
10554
0
  return offset;
10555
0
}
10556
10557
static unsigned
10558
samr_dissect_element_LookupNames_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10559
0
{
10560
0
  offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_rids,0);
10561
10562
0
  return offset;
10563
0
}
10564
10565
static unsigned
10566
samr_dissect_element_LookupNames_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10567
0
{
10568
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_types_, NDR_POINTER_REF, "Pointer to Types (samr_Ids)",hf_samr_samr_LookupNames_types);
10569
10570
0
  return offset;
10571
0
}
10572
10573
static unsigned
10574
samr_dissect_element_LookupNames_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10575
0
{
10576
0
  offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_types,0);
10577
10578
0
  return offset;
10579
0
}
10580
10581
/* IDL: NTSTATUS samr_LookupNames( */
10582
/* IDL: [in] [ref] policy_handle *domain_handle, */
10583
/* IDL: [in] [range(0,1000)] uint32 num_names, */
10584
/* IDL: [in] [length_is(num_names)] [ref] [size_is(1000)] lsa_String *names, */
10585
/* IDL: [out] [ref] samr_Ids *rids, */
10586
/* IDL: [out] [ref] samr_Ids *types */
10587
/* IDL: ); */
10588
10589
static unsigned
10590
samr_dissect_LookupNames_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10591
0
{
10592
0
  uint32_t status;
10593
10594
0
  di->dcerpc_procedure_name="LookupNames";
10595
0
  offset = samr_dissect_element_LookupNames_rids(tvb, offset, pinfo, tree, di, drep);
10596
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10597
10598
0
  offset = samr_dissect_element_LookupNames_types(tvb, offset, pinfo, tree, di, drep);
10599
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10600
10601
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10602
10603
0
  if (status != 0)
10604
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10605
10606
0
  return offset;
10607
0
}
10608
10609
static unsigned
10610
samr_dissect_LookupNames_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10611
0
{
10612
0
  di->dcerpc_procedure_name="LookupNames";
10613
0
  offset = samr_dissect_element_LookupNames_domain_handle(tvb, offset, pinfo, tree, di, drep);
10614
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10615
0
  offset = samr_dissect_element_LookupNames_num_names(tvb, offset, pinfo, tree, di, drep);
10616
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10617
0
  offset = samr_dissect_element_LookupNames_names(tvb, offset, pinfo, tree, di, drep);
10618
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10619
0
  return offset;
10620
0
}
10621
10622
static unsigned
10623
samr_dissect_element_LookupRids_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10624
0
{
10625
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10626
10627
0
  return offset;
10628
0
}
10629
10630
static unsigned
10631
samr_dissect_element_LookupRids_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10632
0
{
10633
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10634
10635
0
  return offset;
10636
0
}
10637
10638
static unsigned
10639
samr_dissect_element_LookupRids_num_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10640
0
{
10641
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupRids_num_rids, 0);
10642
10643
0
  return offset;
10644
0
}
10645
10646
static unsigned
10647
samr_dissect_element_LookupRids_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10648
0
{
10649
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_rids_, NDR_POINTER_REF, "Pointer to Rids (uint32)",hf_samr_rid);
10650
10651
0
  return offset;
10652
0
}
10653
10654
static unsigned
10655
samr_dissect_element_LookupRids_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10656
0
{
10657
0
  offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_rids__);
10658
10659
0
  return offset;
10660
0
}
10661
10662
static unsigned
10663
samr_dissect_element_LookupRids_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10664
0
{
10665
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10666
10667
0
  return offset;
10668
0
}
10669
10670
static unsigned
10671
samr_dissect_element_LookupRids_names(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10672
0
{
10673
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_names_, NDR_POINTER_REF, "Pointer to Names (lsa_Strings)",hf_samr_samr_LookupRids_names);
10674
10675
0
  return offset;
10676
0
}
10677
10678
static unsigned
10679
samr_dissect_element_LookupRids_names_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10680
0
{
10681
0
  offset = samr_dissect_struct_lsa_Strings(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_names,0);
10682
10683
0
  return offset;
10684
0
}
10685
10686
static unsigned
10687
samr_dissect_element_LookupRids_types(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10688
0
{
10689
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_types_, NDR_POINTER_REF, "Pointer to Types (samr_Ids)",hf_samr_samr_LookupRids_types);
10690
10691
0
  return offset;
10692
0
}
10693
10694
static unsigned
10695
samr_dissect_element_LookupRids_types_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10696
0
{
10697
0
  offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_types,0);
10698
10699
0
  return offset;
10700
0
}
10701
10702
/* IDL: NTSTATUS samr_LookupRids( */
10703
/* IDL: [in] [ref] policy_handle *domain_handle, */
10704
/* IDL: [in] [range(0,1000)] uint32 num_rids, */
10705
/* IDL: [in] [length_is(num_rids)] [ref] [size_is(1000)] uint32 *rids, */
10706
/* IDL: [out] [ref] lsa_Strings *names, */
10707
/* IDL: [out] [ref] samr_Ids *types */
10708
/* IDL: ); */
10709
10710
static unsigned
10711
samr_dissect_LookupRids_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10712
0
{
10713
0
  uint32_t status;
10714
10715
0
  di->dcerpc_procedure_name="LookupRids";
10716
0
  offset = samr_dissect_element_LookupRids_names(tvb, offset, pinfo, tree, di, drep);
10717
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10718
10719
0
  offset = samr_dissect_element_LookupRids_types(tvb, offset, pinfo, tree, di, drep);
10720
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10721
10722
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10723
10724
0
  if (status != 0)
10725
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10726
10727
0
  return offset;
10728
0
}
10729
10730
static unsigned
10731
samr_dissect_LookupRids_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10732
0
{
10733
0
  di->dcerpc_procedure_name="LookupRids";
10734
0
  offset = samr_dissect_element_LookupRids_domain_handle(tvb, offset, pinfo, tree, di, drep);
10735
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10736
0
  offset = samr_dissect_element_LookupRids_num_rids(tvb, offset, pinfo, tree, di, drep);
10737
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10738
0
  offset = samr_dissect_element_LookupRids_rids(tvb, offset, pinfo, tree, di, drep);
10739
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10740
0
  return offset;
10741
0
}
10742
10743
static unsigned
10744
samr_dissect_element_OpenGroup_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10745
0
{
10746
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenGroup_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10747
10748
0
  return offset;
10749
0
}
10750
10751
static unsigned
10752
samr_dissect_element_OpenGroup_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10753
0
{
10754
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10755
10756
0
  return offset;
10757
0
}
10758
10759
static unsigned
10760
samr_dissect_element_OpenGroup_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10761
0
{
10762
0
  offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
10763
10764
0
  return offset;
10765
0
}
10766
10767
static unsigned
10768
samr_dissect_element_OpenGroup_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10769
0
{
10770
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10771
10772
0
  return offset;
10773
0
}
10774
10775
static unsigned
10776
samr_dissect_element_OpenGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10777
0
{
10778
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
10779
10780
0
  return offset;
10781
0
}
10782
10783
static unsigned
10784
samr_dissect_element_OpenGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10785
0
{
10786
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
10787
10788
0
  return offset;
10789
0
}
10790
10791
/* IDL: NTSTATUS samr_OpenGroup( */
10792
/* IDL: [in] [ref] policy_handle *domain_handle, */
10793
/* IDL: [in] samr_GroupAccessMask access_mask, */
10794
/* IDL: [in] uint32 rid, */
10795
/* IDL: [out] [ref] policy_handle *group_handle */
10796
/* IDL: ); */
10797
10798
static unsigned
10799
samr_dissect_OpenGroup_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10800
0
{
10801
0
  uint32_t status;
10802
10803
0
  di->dcerpc_procedure_name="OpenGroup";
10804
0
  offset = samr_dissect_element_OpenGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
10805
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10806
10807
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10808
10809
0
  if (status != 0)
10810
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10811
10812
0
  return offset;
10813
0
}
10814
10815
static unsigned
10816
samr_dissect_OpenGroup_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10817
0
{
10818
0
  di->dcerpc_procedure_name="OpenGroup";
10819
0
  offset = samr_dissect_element_OpenGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
10820
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10821
0
  offset = samr_dissect_element_OpenGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
10822
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10823
0
  offset = samr_dissect_element_OpenGroup_rid(tvb, offset, pinfo, tree, di, drep);
10824
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10825
0
  return offset;
10826
0
}
10827
10828
static unsigned
10829
samr_dissect_element_QueryGroupInfo_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10830
0
{
10831
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
10832
10833
0
  return offset;
10834
0
}
10835
10836
static unsigned
10837
samr_dissect_element_QueryGroupInfo_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10838
0
{
10839
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
10840
10841
0
  return offset;
10842
0
}
10843
10844
static unsigned
10845
samr_dissect_element_QueryGroupInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10846
0
{
10847
0
  offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_level, 0);
10848
10849
0
  return offset;
10850
0
}
10851
10852
static unsigned
10853
samr_dissect_element_QueryGroupInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10854
0
{
10855
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_QueryGroupInfo_info);
10856
10857
0
  return offset;
10858
0
}
10859
10860
static unsigned
10861
samr_dissect_element_QueryGroupInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10862
0
{
10863
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_QueryGroupInfo_info);
10864
10865
0
  return offset;
10866
0
}
10867
10868
static unsigned
10869
samr_dissect_element_QueryGroupInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10870
0
{
10871
0
  offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_info, 0);
10872
10873
0
  return offset;
10874
0
}
10875
10876
/* IDL: NTSTATUS samr_QueryGroupInfo( */
10877
/* IDL: [in] [ref] policy_handle *group_handle, */
10878
/* IDL: [in] samr_GroupInfoEnum level, */
10879
/* IDL: [out] [ref] [switch_is(level)] samr_GroupInfo **info */
10880
/* IDL: ); */
10881
10882
static unsigned
10883
samr_dissect_QueryGroupInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10884
0
{
10885
0
  uint32_t status;
10886
10887
0
  di->dcerpc_procedure_name="QueryGroupInfo";
10888
0
  offset = samr_dissect_element_QueryGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
10889
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10890
10891
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10892
10893
0
  if (status != 0)
10894
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10895
10896
0
  return offset;
10897
0
}
10898
10899
static unsigned
10900
samr_dissect_QueryGroupInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10901
0
{
10902
0
  di->dcerpc_procedure_name="QueryGroupInfo";
10903
0
  offset = samr_dissect_element_QueryGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
10904
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10905
0
  offset = samr_dissect_element_QueryGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
10906
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10907
0
  return offset;
10908
0
}
10909
10910
static unsigned
10911
samr_dissect_element_SetGroupInfo_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10912
0
{
10913
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetGroupInfo_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
10914
10915
0
  return offset;
10916
0
}
10917
10918
static unsigned
10919
samr_dissect_element_SetGroupInfo_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10920
0
{
10921
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
10922
10923
0
  return offset;
10924
0
}
10925
10926
static unsigned
10927
samr_dissect_element_SetGroupInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10928
0
{
10929
0
  offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_level, 0);
10930
10931
0
  return offset;
10932
0
}
10933
10934
static unsigned
10935
samr_dissect_element_SetGroupInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10936
0
{
10937
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetGroupInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_SetGroupInfo_info);
10938
10939
0
  return offset;
10940
0
}
10941
10942
static unsigned
10943
samr_dissect_element_SetGroupInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10944
0
{
10945
0
  offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_info, 0);
10946
10947
0
  return offset;
10948
0
}
10949
10950
/* IDL: NTSTATUS samr_SetGroupInfo( */
10951
/* IDL: [in] [ref] policy_handle *group_handle, */
10952
/* IDL: [in] samr_GroupInfoEnum level, */
10953
/* IDL: [in] [ref] [switch_is(level)] samr_GroupInfo *info */
10954
/* IDL: ); */
10955
10956
static unsigned
10957
samr_dissect_SetGroupInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10958
0
{
10959
0
  uint32_t status;
10960
10961
0
  di->dcerpc_procedure_name="SetGroupInfo";
10962
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10963
10964
0
  if (status != 0)
10965
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10966
10967
0
  return offset;
10968
0
}
10969
10970
static unsigned
10971
samr_dissect_SetGroupInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10972
0
{
10973
0
  di->dcerpc_procedure_name="SetGroupInfo";
10974
0
  offset = samr_dissect_element_SetGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
10975
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10976
0
  offset = samr_dissect_element_SetGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
10977
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10978
0
  offset = samr_dissect_element_SetGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
10979
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10980
0
  return offset;
10981
0
}
10982
10983
static unsigned
10984
samr_dissect_element_AddGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10985
0
{
10986
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
10987
10988
0
  return offset;
10989
0
}
10990
10991
static unsigned
10992
samr_dissect_element_AddGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10993
0
{
10994
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
10995
10996
0
  return offset;
10997
0
}
10998
10999
static unsigned
11000
samr_dissect_element_AddGroupMember_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11001
0
{
11002
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11003
11004
0
  return offset;
11005
0
}
11006
11007
static unsigned
11008
samr_dissect_element_AddGroupMember_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11009
0
{
11010
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AddGroupMember_flags, 0);
11011
11012
0
  return offset;
11013
0
}
11014
11015
/* IDL: NTSTATUS samr_AddGroupMember( */
11016
/* IDL: [in] [ref] policy_handle *group_handle, */
11017
/* IDL: [in] uint32 rid, */
11018
/* IDL: [in] uint32 flags */
11019
/* IDL: ); */
11020
11021
static unsigned
11022
samr_dissect_AddGroupMember_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11023
0
{
11024
0
  uint32_t status;
11025
11026
0
  di->dcerpc_procedure_name="AddGroupMember";
11027
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11028
11029
0
  if (status != 0)
11030
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11031
11032
0
  return offset;
11033
0
}
11034
11035
static unsigned
11036
samr_dissect_AddGroupMember_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11037
0
{
11038
0
  di->dcerpc_procedure_name="AddGroupMember";
11039
0
  offset = samr_dissect_element_AddGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11040
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11041
0
  offset = samr_dissect_element_AddGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11042
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11043
0
  offset = samr_dissect_element_AddGroupMember_flags(tvb, offset, pinfo, tree, di, drep);
11044
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11045
0
  return offset;
11046
0
}
11047
11048
static unsigned
11049
samr_dissect_element_DeleteDomainGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11050
0
{
11051
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteDomainGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11052
11053
0
  return offset;
11054
0
}
11055
11056
static unsigned
11057
samr_dissect_element_DeleteDomainGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11058
0
{
11059
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_CLOSE);
11060
11061
0
  return offset;
11062
0
}
11063
11064
/* IDL: NTSTATUS samr_DeleteDomainGroup( */
11065
/* IDL: [in] [out] [ref] policy_handle *group_handle */
11066
/* IDL: ); */
11067
11068
static unsigned
11069
samr_dissect_DeleteDomainGroup_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11070
0
{
11071
0
  uint32_t status;
11072
11073
0
  di->dcerpc_procedure_name="DeleteDomainGroup";
11074
0
  offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11075
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11076
11077
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11078
11079
0
  if (status != 0)
11080
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11081
11082
0
  return offset;
11083
0
}
11084
11085
static unsigned
11086
samr_dissect_DeleteDomainGroup_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11087
0
{
11088
0
  di->dcerpc_procedure_name="DeleteDomainGroup";
11089
0
  offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11090
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11091
0
  return offset;
11092
0
}
11093
11094
static unsigned
11095
samr_dissect_element_DeleteGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11096
0
{
11097
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11098
11099
0
  return offset;
11100
0
}
11101
11102
static unsigned
11103
samr_dissect_element_DeleteGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11104
0
{
11105
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11106
11107
0
  return offset;
11108
0
}
11109
11110
static unsigned
11111
samr_dissect_element_DeleteGroupMember_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11112
0
{
11113
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11114
11115
0
  return offset;
11116
0
}
11117
11118
/* IDL: NTSTATUS samr_DeleteGroupMember( */
11119
/* IDL: [in] [ref] policy_handle *group_handle, */
11120
/* IDL: [in] uint32 rid */
11121
/* IDL: ); */
11122
11123
static unsigned
11124
samr_dissect_DeleteGroupMember_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11125
0
{
11126
0
  uint32_t status;
11127
11128
0
  di->dcerpc_procedure_name="DeleteGroupMember";
11129
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11130
11131
0
  if (status != 0)
11132
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11133
11134
0
  return offset;
11135
0
}
11136
11137
static unsigned
11138
samr_dissect_DeleteGroupMember_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11139
0
{
11140
0
  di->dcerpc_procedure_name="DeleteGroupMember";
11141
0
  offset = samr_dissect_element_DeleteGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11142
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11143
0
  offset = samr_dissect_element_DeleteGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11144
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11145
0
  return offset;
11146
0
}
11147
11148
static unsigned
11149
samr_dissect_element_QueryGroupMember_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11150
0
{
11151
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11152
11153
0
  return offset;
11154
0
}
11155
11156
static unsigned
11157
samr_dissect_element_QueryGroupMember_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11158
0
{
11159
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11160
11161
0
  return offset;
11162
0
}
11163
11164
static unsigned
11165
samr_dissect_element_QueryGroupMember_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11166
0
{
11167
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_RidTypeArray)",hf_samr_samr_QueryGroupMember_rids);
11168
11169
0
  return offset;
11170
0
}
11171
11172
static unsigned
11173
samr_dissect_element_QueryGroupMember_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11174
0
{
11175
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_rids__, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidTypeArray)",hf_samr_samr_QueryGroupMember_rids);
11176
11177
0
  return offset;
11178
0
}
11179
11180
static unsigned
11181
samr_dissect_element_QueryGroupMember_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11182
0
{
11183
0
  offset = samr_dissect_struct_RidTypeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_QueryGroupMember_rids,0);
11184
11185
0
  return offset;
11186
0
}
11187
11188
/* IDL: NTSTATUS samr_QueryGroupMember( */
11189
/* IDL: [in] [ref] policy_handle *group_handle, */
11190
/* IDL: [out] [ref] samr_RidTypeArray **rids */
11191
/* IDL: ); */
11192
11193
static unsigned
11194
samr_dissect_QueryGroupMember_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11195
0
{
11196
0
  uint32_t status;
11197
11198
0
  di->dcerpc_procedure_name="QueryGroupMember";
11199
0
  offset = samr_dissect_element_QueryGroupMember_rids(tvb, offset, pinfo, tree, di, drep);
11200
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11201
11202
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11203
11204
0
  if (status != 0)
11205
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11206
11207
0
  return offset;
11208
0
}
11209
11210
static unsigned
11211
samr_dissect_QueryGroupMember_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11212
0
{
11213
0
  di->dcerpc_procedure_name="QueryGroupMember";
11214
0
  offset = samr_dissect_element_QueryGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11215
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11216
0
  return offset;
11217
0
}
11218
11219
static unsigned
11220
samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11221
0
{
11222
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetMemberAttributesOfGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11223
11224
0
  return offset;
11225
0
}
11226
11227
static unsigned
11228
samr_dissect_element_SetMemberAttributesOfGroup_group_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11229
0
{
11230
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11231
11232
0
  return offset;
11233
0
}
11234
11235
static unsigned
11236
samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11237
0
{
11238
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown1, 0);
11239
11240
0
  return offset;
11241
0
}
11242
11243
static unsigned
11244
samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11245
0
{
11246
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown2, 0);
11247
11248
0
  return offset;
11249
0
}
11250
11251
/* IDL: NTSTATUS samr_SetMemberAttributesOfGroup( */
11252
/* IDL: [in] [ref] policy_handle *group_handle, */
11253
/* IDL: [in] uint32 unknown1, */
11254
/* IDL: [in] uint32 unknown2 */
11255
/* IDL: ); */
11256
11257
static unsigned
11258
samr_dissect_SetMemberAttributesOfGroup_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11259
0
{
11260
0
  uint32_t status;
11261
11262
0
  di->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11263
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11264
11265
0
  if (status != 0)
11266
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11267
11268
0
  return offset;
11269
0
}
11270
11271
static unsigned
11272
samr_dissect_SetMemberAttributesOfGroup_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11273
0
{
11274
0
  di->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11275
0
  offset = samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11276
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11277
0
  offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvb, offset, pinfo, tree, di, drep);
11278
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11279
0
  offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvb, offset, pinfo, tree, di, drep);
11280
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11281
0
  return offset;
11282
0
}
11283
11284
static unsigned
11285
samr_dissect_element_OpenAlias_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11286
0
{
11287
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenAlias_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
11288
11289
0
  return offset;
11290
0
}
11291
11292
static unsigned
11293
samr_dissect_element_OpenAlias_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11294
0
{
11295
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11296
11297
0
  return offset;
11298
0
}
11299
11300
static unsigned
11301
samr_dissect_element_OpenAlias_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11302
0
{
11303
0
  offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
11304
11305
0
  return offset;
11306
0
}
11307
11308
static unsigned
11309
samr_dissect_element_OpenAlias_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11310
0
{
11311
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11312
11313
0
  return offset;
11314
0
}
11315
11316
static unsigned
11317
samr_dissect_element_OpenAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11318
0
{
11319
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11320
11321
0
  return offset;
11322
0
}
11323
11324
static unsigned
11325
samr_dissect_element_OpenAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11326
0
{
11327
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
11328
11329
0
  return offset;
11330
0
}
11331
11332
/* IDL: NTSTATUS samr_OpenAlias( */
11333
/* IDL: [in] [ref] policy_handle *domain_handle, */
11334
/* IDL: [in] samr_AliasAccessMask access_mask, */
11335
/* IDL: [in] uint32 rid, */
11336
/* IDL: [out] [ref] policy_handle *alias_handle */
11337
/* IDL: ); */
11338
11339
static unsigned
11340
samr_dissect_OpenAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11341
0
{
11342
0
  uint32_t status;
11343
11344
0
  di->dcerpc_procedure_name="OpenAlias";
11345
0
  offset = samr_dissect_element_OpenAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11346
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11347
11348
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11349
11350
0
  if (status != 0)
11351
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11352
11353
0
  return offset;
11354
0
}
11355
11356
static unsigned
11357
samr_dissect_OpenAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11358
0
{
11359
0
  di->dcerpc_procedure_name="OpenAlias";
11360
0
  offset = samr_dissect_element_OpenAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
11361
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11362
0
  offset = samr_dissect_element_OpenAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
11363
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11364
0
  offset = samr_dissect_element_OpenAlias_rid(tvb, offset, pinfo, tree, di, drep);
11365
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11366
0
  return offset;
11367
0
}
11368
11369
static unsigned
11370
samr_dissect_element_QueryAliasInfo_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11371
0
{
11372
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11373
11374
0
  return offset;
11375
0
}
11376
11377
static unsigned
11378
samr_dissect_element_QueryAliasInfo_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11379
0
{
11380
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11381
11382
0
  return offset;
11383
0
}
11384
11385
static unsigned
11386
samr_dissect_element_QueryAliasInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11387
0
{
11388
0
  offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_level, 0);
11389
11390
0
  return offset;
11391
0
}
11392
11393
static unsigned
11394
samr_dissect_element_QueryAliasInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11395
0
{
11396
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_QueryAliasInfo_info);
11397
11398
0
  return offset;
11399
0
}
11400
11401
static unsigned
11402
samr_dissect_element_QueryAliasInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11403
0
{
11404
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_QueryAliasInfo_info);
11405
11406
0
  return offset;
11407
0
}
11408
11409
static unsigned
11410
samr_dissect_element_QueryAliasInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11411
0
{
11412
0
  offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_info, 0);
11413
11414
0
  return offset;
11415
0
}
11416
11417
/* IDL: NTSTATUS samr_QueryAliasInfo( */
11418
/* IDL: [in] [ref] policy_handle *alias_handle, */
11419
/* IDL: [in] samr_AliasInfoEnum level, */
11420
/* IDL: [out] [ref] [switch_is(level)] samr_AliasInfo **info */
11421
/* IDL: ); */
11422
11423
static unsigned
11424
samr_dissect_QueryAliasInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11425
0
{
11426
0
  uint32_t status;
11427
11428
0
  di->dcerpc_procedure_name="QueryAliasInfo";
11429
0
  offset = samr_dissect_element_QueryAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11430
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11431
11432
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11433
11434
0
  if (status != 0)
11435
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11436
11437
0
  return offset;
11438
0
}
11439
11440
static unsigned
11441
samr_dissect_QueryAliasInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11442
0
{
11443
0
  di->dcerpc_procedure_name="QueryAliasInfo";
11444
0
  offset = samr_dissect_element_QueryAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11445
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11446
0
  offset = samr_dissect_element_QueryAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11447
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11448
0
  return offset;
11449
0
}
11450
11451
static unsigned
11452
samr_dissect_element_SetAliasInfo_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11453
0
{
11454
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetAliasInfo_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11455
11456
0
  return offset;
11457
0
}
11458
11459
static unsigned
11460
samr_dissect_element_SetAliasInfo_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11461
0
{
11462
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11463
11464
0
  return offset;
11465
0
}
11466
11467
static unsigned
11468
samr_dissect_element_SetAliasInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11469
0
{
11470
0
  offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_level, 0);
11471
11472
0
  return offset;
11473
0
}
11474
11475
static unsigned
11476
samr_dissect_element_SetAliasInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11477
0
{
11478
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetAliasInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_SetAliasInfo_info);
11479
11480
0
  return offset;
11481
0
}
11482
11483
static unsigned
11484
samr_dissect_element_SetAliasInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11485
0
{
11486
0
  offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_info, 0);
11487
11488
0
  return offset;
11489
0
}
11490
11491
/* IDL: NTSTATUS samr_SetAliasInfo( */
11492
/* IDL: [in] [ref] policy_handle *alias_handle, */
11493
/* IDL: [in] samr_AliasInfoEnum level, */
11494
/* IDL: [in] [ref] [switch_is(level)] samr_AliasInfo *info */
11495
/* IDL: ); */
11496
11497
static unsigned
11498
samr_dissect_SetAliasInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11499
0
{
11500
0
  uint32_t status;
11501
11502
0
  di->dcerpc_procedure_name="SetAliasInfo";
11503
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11504
11505
0
  if (status != 0)
11506
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11507
11508
0
  return offset;
11509
0
}
11510
11511
static unsigned
11512
samr_dissect_SetAliasInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11513
0
{
11514
0
  di->dcerpc_procedure_name="SetAliasInfo";
11515
0
  offset = samr_dissect_element_SetAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11516
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11517
0
  offset = samr_dissect_element_SetAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11518
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11519
0
  offset = samr_dissect_element_SetAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11520
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11521
0
  return offset;
11522
0
}
11523
11524
static unsigned
11525
samr_dissect_element_DeleteDomAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11526
0
{
11527
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteDomAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11528
11529
0
  return offset;
11530
0
}
11531
11532
static unsigned
11533
samr_dissect_element_DeleteDomAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11534
0
{
11535
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_CLOSE);
11536
11537
0
  return offset;
11538
0
}
11539
11540
/* IDL: NTSTATUS samr_DeleteDomAlias( */
11541
/* IDL: [in] [out] [ref] policy_handle *alias_handle */
11542
/* IDL: ); */
11543
11544
static unsigned
11545
samr_dissect_DeleteDomAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11546
0
{
11547
0
  uint32_t status;
11548
11549
0
  di->dcerpc_procedure_name="DeleteDomAlias";
11550
0
  offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11551
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11552
11553
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11554
11555
0
  if (status != 0)
11556
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11557
11558
0
  return offset;
11559
0
}
11560
11561
static unsigned
11562
samr_dissect_DeleteDomAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11563
0
{
11564
0
  di->dcerpc_procedure_name="DeleteDomAlias";
11565
0
  offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11566
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11567
0
  return offset;
11568
0
}
11569
11570
static unsigned
11571
samr_dissect_element_AddAliasMember_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11572
0
{
11573
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddAliasMember_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11574
11575
0
  return offset;
11576
0
}
11577
11578
static unsigned
11579
samr_dissect_element_AddAliasMember_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11580
0
{
11581
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11582
11583
0
  return offset;
11584
0
}
11585
11586
static unsigned
11587
samr_dissect_element_AddAliasMember_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11588
0
{
11589
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddAliasMember_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_AddAliasMember_sid);
11590
11591
0
  return offset;
11592
0
}
11593
11594
static unsigned
11595
samr_dissect_element_AddAliasMember_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11596
0
{
11597
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11598
11599
0
  return offset;
11600
0
}
11601
11602
/* IDL: NTSTATUS samr_AddAliasMember( */
11603
/* IDL: [in] [ref] policy_handle *alias_handle, */
11604
/* IDL: [in] [ref] dom_sid2 *sid */
11605
/* IDL: ); */
11606
11607
static unsigned
11608
samr_dissect_AddAliasMember_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11609
0
{
11610
0
  uint32_t status;
11611
11612
0
  di->dcerpc_procedure_name="AddAliasMember";
11613
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11614
11615
0
  if (status != 0)
11616
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11617
11618
0
  return offset;
11619
0
}
11620
11621
static unsigned
11622
samr_dissect_AddAliasMember_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11623
0
{
11624
0
  di->dcerpc_procedure_name="AddAliasMember";
11625
0
  offset = samr_dissect_element_AddAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11626
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11627
0
  offset = samr_dissect_element_AddAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11628
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11629
0
  return offset;
11630
0
}
11631
11632
static unsigned
11633
samr_dissect_element_DeleteAliasMember_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11634
0
{
11635
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteAliasMember_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11636
11637
0
  return offset;
11638
0
}
11639
11640
static unsigned
11641
samr_dissect_element_DeleteAliasMember_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11642
0
{
11643
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11644
11645
0
  return offset;
11646
0
}
11647
11648
static unsigned
11649
samr_dissect_element_DeleteAliasMember_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11650
0
{
11651
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteAliasMember_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_DeleteAliasMember_sid);
11652
11653
0
  return offset;
11654
0
}
11655
11656
static unsigned
11657
samr_dissect_element_DeleteAliasMember_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11658
0
{
11659
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11660
11661
0
  return offset;
11662
0
}
11663
11664
/* IDL: NTSTATUS samr_DeleteAliasMember( */
11665
/* IDL: [in] [ref] policy_handle *alias_handle, */
11666
/* IDL: [in] [ref] dom_sid2 *sid */
11667
/* IDL: ); */
11668
11669
static unsigned
11670
samr_dissect_DeleteAliasMember_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11671
0
{
11672
0
  uint32_t status;
11673
11674
0
  di->dcerpc_procedure_name="DeleteAliasMember";
11675
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11676
11677
0
  if (status != 0)
11678
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11679
11680
0
  return offset;
11681
0
}
11682
11683
static unsigned
11684
samr_dissect_DeleteAliasMember_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11685
0
{
11686
0
  di->dcerpc_procedure_name="DeleteAliasMember";
11687
0
  offset = samr_dissect_element_DeleteAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11688
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11689
0
  offset = samr_dissect_element_DeleteAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11690
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11691
0
  return offset;
11692
0
}
11693
11694
static unsigned
11695
samr_dissect_element_GetMembersInAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11696
0
{
11697
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetMembersInAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11698
11699
0
  return offset;
11700
0
}
11701
11702
static unsigned
11703
samr_dissect_element_GetMembersInAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11704
0
{
11705
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11706
11707
0
  return offset;
11708
0
}
11709
11710
static unsigned
11711
samr_dissect_element_GetMembersInAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11712
0
{
11713
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetMembersInAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_GetMembersInAlias_sids);
11714
11715
0
  return offset;
11716
0
}
11717
11718
static unsigned
11719
samr_dissect_element_GetMembersInAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11720
0
{
11721
0
  offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
11722
11723
0
  return offset;
11724
0
}
11725
11726
/* IDL: NTSTATUS samr_GetMembersInAlias( */
11727
/* IDL: [in] [ref] policy_handle *alias_handle, */
11728
/* IDL: [out] [ref] lsa_SidArray *sids */
11729
/* IDL: ); */
11730
11731
static unsigned
11732
samr_dissect_GetMembersInAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11733
0
{
11734
0
  uint32_t status;
11735
11736
0
  di->dcerpc_procedure_name="GetMembersInAlias";
11737
0
  offset = samr_dissect_element_GetMembersInAlias_sids(tvb, offset, pinfo, tree, di, drep);
11738
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11739
11740
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11741
11742
0
  if (status != 0)
11743
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11744
11745
0
  return offset;
11746
0
}
11747
11748
static unsigned
11749
samr_dissect_GetMembersInAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11750
0
{
11751
0
  di->dcerpc_procedure_name="GetMembersInAlias";
11752
0
  offset = samr_dissect_element_GetMembersInAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11753
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11754
0
  return offset;
11755
0
}
11756
11757
static unsigned
11758
samr_dissect_element_OpenUser_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11759
0
{
11760
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenUser_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
11761
11762
0
  return offset;
11763
0
}
11764
11765
static unsigned
11766
samr_dissect_element_OpenUser_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11767
0
{
11768
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11769
11770
0
  return offset;
11771
0
}
11772
11773
static unsigned
11774
samr_dissect_element_OpenUser_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11775
0
{
11776
0
  offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
11777
11778
0
  return offset;
11779
0
}
11780
11781
static unsigned
11782
samr_dissect_element_OpenUser_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11783
0
{
11784
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11785
11786
0
  return offset;
11787
0
}
11788
11789
static unsigned
11790
samr_dissect_element_OpenUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11791
0
{
11792
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
11793
11794
0
  return offset;
11795
0
}
11796
11797
static unsigned
11798
samr_dissect_element_OpenUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11799
0
{
11800
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
11801
11802
0
  return offset;
11803
0
}
11804
11805
/* IDL: NTSTATUS samr_OpenUser( */
11806
/* IDL: [in] [ref] policy_handle *domain_handle, */
11807
/* IDL: [in] samr_UserAccessMask access_mask, */
11808
/* IDL: [in] uint32 rid, */
11809
/* IDL: [out] [ref] policy_handle *user_handle */
11810
/* IDL: ); */
11811
11812
static unsigned
11813
samr_dissect_OpenUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11814
0
{
11815
0
  uint32_t status;
11816
11817
0
  di->dcerpc_procedure_name="OpenUser";
11818
0
  offset = samr_dissect_element_OpenUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11819
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11820
11821
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11822
11823
0
  if (status != 0)
11824
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11825
11826
0
  return offset;
11827
0
}
11828
11829
static unsigned
11830
samr_dissect_OpenUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11831
0
{
11832
0
  di->dcerpc_procedure_name="OpenUser";
11833
0
  offset = samr_dissect_element_OpenUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
11834
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11835
0
  offset = samr_dissect_element_OpenUser_access_mask(tvb, offset, pinfo, tree, di, drep);
11836
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11837
0
  offset = samr_dissect_element_OpenUser_rid(tvb, offset, pinfo, tree, di, drep);
11838
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11839
0
  return offset;
11840
0
}
11841
11842
static unsigned
11843
samr_dissect_element_DeleteUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11844
0
{
11845
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
11846
11847
0
  return offset;
11848
0
}
11849
11850
static unsigned
11851
samr_dissect_element_DeleteUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11852
0
{
11853
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_CLOSE);
11854
11855
0
  return offset;
11856
0
}
11857
11858
/* IDL: NTSTATUS samr_DeleteUser( */
11859
/* IDL: [in] [out] [ref] policy_handle *user_handle */
11860
/* IDL: ); */
11861
11862
static unsigned
11863
samr_dissect_DeleteUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11864
0
{
11865
0
  uint32_t status;
11866
11867
0
  di->dcerpc_procedure_name="DeleteUser";
11868
0
  offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11869
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11870
11871
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11872
11873
0
  if (status != 0)
11874
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11875
11876
0
  return offset;
11877
0
}
11878
11879
static unsigned
11880
samr_dissect_DeleteUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11881
0
{
11882
0
  di->dcerpc_procedure_name="DeleteUser";
11883
0
  offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11884
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11885
0
  return offset;
11886
0
}
11887
11888
static unsigned
11889
samr_dissect_element_QueryUserInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11890
0
{
11891
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
11892
11893
0
  return offset;
11894
0
}
11895
11896
static unsigned
11897
samr_dissect_element_QueryUserInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11898
0
{
11899
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
11900
11901
0
  return offset;
11902
0
}
11903
11904
static unsigned
11905
samr_dissect_element_QueryUserInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11906
0
{
11907
0
  offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_level, 0);
11908
11909
0
  return offset;
11910
0
}
11911
11912
static unsigned
11913
samr_dissect_element_QueryUserInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11914
0
{
11915
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo_info);
11916
11917
0
  return offset;
11918
0
}
11919
11920
static unsigned
11921
samr_dissect_element_QueryUserInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11922
0
{
11923
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo_info);
11924
11925
0
  return offset;
11926
0
}
11927
11928
static unsigned
11929
samr_dissect_element_QueryUserInfo_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11930
0
{
11931
0
  offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_info, 0);
11932
11933
0
  return offset;
11934
0
}
11935
11936
/* IDL: NTSTATUS samr_QueryUserInfo( */
11937
/* IDL: [in] [ref] policy_handle *user_handle, */
11938
/* IDL: [in] samr_UserInfoLevel level, */
11939
/* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
11940
/* IDL: ); */
11941
11942
static unsigned
11943
samr_dissect_QueryUserInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11944
0
{
11945
0
  uint32_t status;
11946
11947
0
  di->dcerpc_procedure_name="QueryUserInfo";
11948
0
  offset = samr_dissect_element_QueryUserInfo_info(tvb, offset, pinfo, tree, di, drep);
11949
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11950
11951
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11952
11953
0
  if (status != 0)
11954
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11955
11956
0
  return offset;
11957
0
}
11958
11959
static unsigned
11960
samr_dissect_QueryUserInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11961
0
{
11962
0
  di->dcerpc_procedure_name="QueryUserInfo";
11963
0
  offset = samr_dissect_element_QueryUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
11964
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11965
0
  offset = samr_dissect_element_QueryUserInfo_level(tvb, offset, pinfo, tree, di, drep);
11966
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11967
0
  return offset;
11968
0
}
11969
11970
static unsigned
11971
samr_dissect_element_SetUserInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11972
0
{
11973
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
11974
11975
0
  return offset;
11976
0
}
11977
11978
static unsigned
11979
samr_dissect_element_SetUserInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11980
0
{
11981
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
11982
11983
0
  return offset;
11984
0
}
11985
11986
static unsigned
11987
samr_dissect_element_SetUserInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11988
0
{
11989
0
  offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_level, 0);
11990
11991
0
  return offset;
11992
0
}
11993
11994
static unsigned
11995
samr_dissect_element_SetUserInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11996
0
{
11997
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_SetUserInfo_info);
11998
11999
0
  return offset;
12000
0
}
12001
12002
static unsigned
12003
samr_dissect_element_SetUserInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12004
0
{
12005
0
  offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_info, 0);
12006
12007
0
  return offset;
12008
0
}
12009
12010
/* IDL: NTSTATUS samr_SetUserInfo( */
12011
/* IDL: [in] [ref] policy_handle *user_handle, */
12012
/* IDL: [in] samr_UserInfoLevel level, */
12013
/* IDL: [in] [ref] [switch_is(level)] samr_UserInfo *info */
12014
/* IDL: ); */
12015
12016
static unsigned
12017
samr_dissect_SetUserInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12018
0
{
12019
0
  uint32_t status;
12020
12021
0
  di->dcerpc_procedure_name="SetUserInfo";
12022
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12023
12024
0
  if (status != 0)
12025
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12026
12027
0
  return offset;
12028
0
}
12029
12030
static unsigned
12031
samr_dissect_SetUserInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12032
0
{
12033
0
  di->dcerpc_procedure_name="SetUserInfo";
12034
0
  offset = samr_dissect_element_SetUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12035
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12036
0
  offset = samr_dissect_element_SetUserInfo_level(tvb, offset, pinfo, tree, di, drep);
12037
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12038
0
  offset = samr_dissect_element_SetUserInfo_info(tvb, offset, pinfo, tree, di, drep);
12039
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12040
0
  return offset;
12041
0
}
12042
12043
static unsigned
12044
samr_dissect_element_ChangePasswordUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12045
0
{
12046
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12047
12048
0
  return offset;
12049
0
}
12050
12051
static unsigned
12052
samr_dissect_element_ChangePasswordUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12053
0
{
12054
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12055
12056
0
  return offset;
12057
0
}
12058
12059
static unsigned
12060
samr_dissect_element_ChangePasswordUser_lm_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12061
0
{
12062
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_lm_present, 0);
12063
12064
0
  return offset;
12065
0
}
12066
12067
static unsigned
12068
samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12069
0
{
12070
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_old_lm_crypted_, NDR_POINTER_UNIQUE, "Pointer to Old Lm Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_old_lm_crypted);
12071
12072
0
  return offset;
12073
0
}
12074
12075
static unsigned
12076
samr_dissect_element_ChangePasswordUser_old_lm_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12077
0
{
12078
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_lm_crypted,0);
12079
12080
0
  return offset;
12081
0
}
12082
12083
static unsigned
12084
samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12085
0
{
12086
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_new_lm_crypted_, NDR_POINTER_UNIQUE, "Pointer to New Lm Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_new_lm_crypted);
12087
12088
0
  return offset;
12089
0
}
12090
12091
static unsigned
12092
samr_dissect_element_ChangePasswordUser_new_lm_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12093
0
{
12094
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_lm_crypted,0);
12095
12096
0
  return offset;
12097
0
}
12098
12099
static unsigned
12100
samr_dissect_element_ChangePasswordUser_nt_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12101
0
{
12102
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_nt_present, 0);
12103
12104
0
  return offset;
12105
0
}
12106
12107
static unsigned
12108
samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12109
0
{
12110
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_old_nt_crypted_, NDR_POINTER_UNIQUE, "Pointer to Old Nt Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_old_nt_crypted);
12111
12112
0
  return offset;
12113
0
}
12114
12115
static unsigned
12116
samr_dissect_element_ChangePasswordUser_old_nt_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12117
0
{
12118
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_nt_crypted,0);
12119
12120
0
  return offset;
12121
0
}
12122
12123
static unsigned
12124
samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12125
0
{
12126
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_new_nt_crypted_, NDR_POINTER_UNIQUE, "Pointer to New Nt Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_new_nt_crypted);
12127
12128
0
  return offset;
12129
0
}
12130
12131
static unsigned
12132
samr_dissect_element_ChangePasswordUser_new_nt_crypted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12133
0
{
12134
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_nt_crypted,0);
12135
12136
0
  return offset;
12137
0
}
12138
12139
static unsigned
12140
samr_dissect_element_ChangePasswordUser_cross1_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12141
0
{
12142
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross1_present, 0);
12143
12144
0
  return offset;
12145
0
}
12146
12147
static unsigned
12148
samr_dissect_element_ChangePasswordUser_nt_cross(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12149
0
{
12150
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_nt_cross_, NDR_POINTER_UNIQUE, "Pointer to Nt Cross (samr_Password)",hf_samr_samr_ChangePasswordUser_nt_cross);
12151
12152
0
  return offset;
12153
0
}
12154
12155
static unsigned
12156
samr_dissect_element_ChangePasswordUser_nt_cross_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12157
0
{
12158
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_nt_cross,0);
12159
12160
0
  return offset;
12161
0
}
12162
12163
static unsigned
12164
samr_dissect_element_ChangePasswordUser_cross2_present(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12165
0
{
12166
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross2_present, 0);
12167
12168
0
  return offset;
12169
0
}
12170
12171
static unsigned
12172
samr_dissect_element_ChangePasswordUser_lm_cross(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12173
0
{
12174
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_lm_cross_, NDR_POINTER_UNIQUE, "Pointer to Lm Cross (samr_Password)",hf_samr_samr_ChangePasswordUser_lm_cross);
12175
12176
0
  return offset;
12177
0
}
12178
12179
static unsigned
12180
samr_dissect_element_ChangePasswordUser_lm_cross_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12181
0
{
12182
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_lm_cross,0);
12183
12184
0
  return offset;
12185
0
}
12186
12187
/* IDL: NTSTATUS samr_ChangePasswordUser( */
12188
/* IDL: [in] [ref] policy_handle *user_handle, */
12189
/* IDL: [in] uint8 lm_present, */
12190
/* IDL: [in] [unique(1)] samr_Password *old_lm_crypted, */
12191
/* IDL: [in] [unique(1)] samr_Password *new_lm_crypted, */
12192
/* IDL: [in] uint8 nt_present, */
12193
/* IDL: [in] [unique(1)] samr_Password *old_nt_crypted, */
12194
/* IDL: [in] [unique(1)] samr_Password *new_nt_crypted, */
12195
/* IDL: [in] uint8 cross1_present, */
12196
/* IDL: [in] [unique(1)] samr_Password *nt_cross, */
12197
/* IDL: [in] uint8 cross2_present, */
12198
/* IDL: [in] [unique(1)] samr_Password *lm_cross */
12199
/* IDL: ); */
12200
12201
static unsigned
12202
samr_dissect_ChangePasswordUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12203
0
{
12204
0
  uint32_t status;
12205
12206
0
  di->dcerpc_procedure_name="ChangePasswordUser";
12207
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12208
12209
0
  if (status != 0)
12210
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12211
12212
0
  return offset;
12213
0
}
12214
12215
static unsigned
12216
samr_dissect_ChangePasswordUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12217
0
{
12218
0
  di->dcerpc_procedure_name="ChangePasswordUser";
12219
0
  offset = samr_dissect_element_ChangePasswordUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12220
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12221
0
  offset = samr_dissect_element_ChangePasswordUser_lm_present(tvb, offset, pinfo, tree, di, drep);
12222
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12223
0
  offset = samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12224
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12225
0
  offset = samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12226
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12227
0
  offset = samr_dissect_element_ChangePasswordUser_nt_present(tvb, offset, pinfo, tree, di, drep);
12228
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12229
0
  offset = samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12230
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12231
0
  offset = samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12232
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12233
0
  offset = samr_dissect_element_ChangePasswordUser_cross1_present(tvb, offset, pinfo, tree, di, drep);
12234
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12235
0
  offset = samr_dissect_element_ChangePasswordUser_nt_cross(tvb, offset, pinfo, tree, di, drep);
12236
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12237
0
  offset = samr_dissect_element_ChangePasswordUser_cross2_present(tvb, offset, pinfo, tree, di, drep);
12238
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12239
0
  offset = samr_dissect_element_ChangePasswordUser_lm_cross(tvb, offset, pinfo, tree, di, drep);
12240
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12241
0
  return offset;
12242
0
}
12243
12244
static unsigned
12245
samr_dissect_element_GetGroupsForUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12246
0
{
12247
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12248
12249
0
  return offset;
12250
0
}
12251
12252
static unsigned
12253
samr_dissect_element_GetGroupsForUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12254
0
{
12255
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12256
12257
0
  return offset;
12258
0
}
12259
12260
static unsigned
12261
samr_dissect_element_GetGroupsForUser_rids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12262
0
{
12263
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_RidWithAttributeArray)",hf_samr_samr_GetGroupsForUser_rids);
12264
12265
0
  return offset;
12266
0
}
12267
12268
static unsigned
12269
samr_dissect_element_GetGroupsForUser_rids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12270
0
{
12271
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_rids__, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidWithAttributeArray)",hf_samr_samr_GetGroupsForUser_rids);
12272
12273
0
  return offset;
12274
0
}
12275
12276
static unsigned
12277
samr_dissect_element_GetGroupsForUser_rids__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12278
0
{
12279
0
  offset = samr_dissect_struct_RidWithAttributeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetGroupsForUser_rids,0);
12280
12281
0
  return offset;
12282
0
}
12283
12284
/* IDL: NTSTATUS samr_GetGroupsForUser( */
12285
/* IDL: [in] [ref] policy_handle *user_handle, */
12286
/* IDL: [out] [ref] samr_RidWithAttributeArray **rids */
12287
/* IDL: ); */
12288
12289
static unsigned
12290
samr_dissect_GetGroupsForUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12291
0
{
12292
0
  uint32_t status;
12293
12294
0
  di->dcerpc_procedure_name="GetGroupsForUser";
12295
0
  offset = samr_dissect_element_GetGroupsForUser_rids(tvb, offset, pinfo, tree, di, drep);
12296
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12297
12298
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12299
12300
0
  if (status != 0)
12301
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12302
12303
0
  return offset;
12304
0
}
12305
12306
static unsigned
12307
samr_dissect_GetGroupsForUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12308
0
{
12309
0
  di->dcerpc_procedure_name="GetGroupsForUser";
12310
0
  offset = samr_dissect_element_GetGroupsForUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12311
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12312
0
  return offset;
12313
0
}
12314
12315
static unsigned
12316
samr_dissect_element_QueryDisplayInfo_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12317
0
{
12318
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12319
12320
0
  return offset;
12321
0
}
12322
12323
static unsigned
12324
samr_dissect_element_QueryDisplayInfo_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12325
0
{
12326
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12327
12328
0
  return offset;
12329
0
}
12330
12331
static unsigned
12332
samr_dissect_element_QueryDisplayInfo_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12333
0
{
12334
0
  offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_level, 0);
12335
12336
0
  return offset;
12337
0
}
12338
12339
static unsigned
12340
samr_dissect_element_QueryDisplayInfo_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12341
0
{
12342
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_start_idx, 0);
12343
12344
0
  return offset;
12345
0
}
12346
12347
static unsigned
12348
samr_dissect_element_QueryDisplayInfo_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12349
0
{
12350
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_max_entries, 0);
12351
12352
0
  return offset;
12353
0
}
12354
12355
static unsigned
12356
samr_dissect_element_QueryDisplayInfo_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12357
0
{
12358
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_buf_size, 0);
12359
12360
0
  return offset;
12361
0
}
12362
12363
static unsigned
12364
samr_dissect_element_QueryDisplayInfo_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12365
0
{
12366
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo_total_size);
12367
12368
0
  return offset;
12369
0
}
12370
12371
static unsigned
12372
samr_dissect_element_QueryDisplayInfo_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12373
0
{
12374
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_total_size, 0);
12375
12376
0
  return offset;
12377
0
}
12378
12379
static unsigned
12380
samr_dissect_element_QueryDisplayInfo_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12381
0
{
12382
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo_returned_size);
12383
12384
0
  return offset;
12385
0
}
12386
12387
static unsigned
12388
samr_dissect_element_QueryDisplayInfo_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12389
0
{
12390
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_returned_size, 0);
12391
12392
0
  return offset;
12393
0
}
12394
12395
static unsigned
12396
samr_dissect_element_QueryDisplayInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12397
0
{
12398
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo_info);
12399
12400
0
  return offset;
12401
0
}
12402
12403
static unsigned
12404
samr_dissect_element_QueryDisplayInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12405
0
{
12406
0
  offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_info, 0);
12407
12408
0
  return offset;
12409
0
}
12410
12411
/* IDL: NTSTATUS samr_QueryDisplayInfo( */
12412
/* IDL: [in] [ref] policy_handle *domain_handle, */
12413
/* IDL: [in] samr_DomainDisplayInformation level, */
12414
/* IDL: [in] uint32 start_idx, */
12415
/* IDL: [in] uint32 max_entries, */
12416
/* IDL: [in] uint32 buf_size, */
12417
/* IDL: [out] [ref] uint32 *total_size, */
12418
/* IDL: [out] [ref] uint32 *returned_size, */
12419
/* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
12420
/* IDL: ); */
12421
12422
static unsigned
12423
samr_dissect_QueryDisplayInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12424
0
{
12425
0
  uint32_t status;
12426
12427
0
  di->dcerpc_procedure_name="QueryDisplayInfo";
12428
0
  offset = samr_dissect_element_QueryDisplayInfo_total_size(tvb, offset, pinfo, tree, di, drep);
12429
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12430
12431
0
  offset = samr_dissect_element_QueryDisplayInfo_returned_size(tvb, offset, pinfo, tree, di, drep);
12432
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12433
12434
0
  offset = samr_dissect_element_QueryDisplayInfo_info(tvb, offset, pinfo, tree, di, drep);
12435
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12436
12437
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12438
12439
0
  if (status != 0)
12440
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12441
12442
0
  return offset;
12443
0
}
12444
12445
static unsigned
12446
samr_dissect_QueryDisplayInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12447
0
{
12448
0
  di->dcerpc_procedure_name="QueryDisplayInfo";
12449
0
  offset = samr_dissect_element_QueryDisplayInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
12450
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12451
0
  offset = samr_dissect_element_QueryDisplayInfo_level(tvb, offset, pinfo, tree, di, drep);
12452
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12453
0
  offset = samr_dissect_element_QueryDisplayInfo_start_idx(tvb, offset, pinfo, tree, di, drep);
12454
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12455
0
  offset = samr_dissect_element_QueryDisplayInfo_max_entries(tvb, offset, pinfo, tree, di, drep);
12456
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12457
0
  offset = samr_dissect_element_QueryDisplayInfo_buf_size(tvb, offset, pinfo, tree, di, drep);
12458
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12459
0
  return offset;
12460
0
}
12461
12462
static unsigned
12463
samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12464
0
{
12465
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12466
12467
0
  return offset;
12468
0
}
12469
12470
static unsigned
12471
samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12472
0
{
12473
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12474
12475
0
  return offset;
12476
0
}
12477
12478
static unsigned
12479
samr_dissect_element_GetDisplayEnumerationIndex_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12480
0
{
12481
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_level, 0);
12482
12483
0
  return offset;
12484
0
}
12485
12486
static unsigned
12487
samr_dissect_element_GetDisplayEnumerationIndex_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12488
0
{
12489
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_GetDisplayEnumerationIndex_name);
12490
12491
0
  return offset;
12492
0
}
12493
12494
static unsigned
12495
samr_dissect_element_GetDisplayEnumerationIndex_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12496
0
{
12497
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex_name);
12498
12499
0
  return offset;
12500
0
}
12501
12502
static unsigned
12503
samr_dissect_element_GetDisplayEnumerationIndex_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12504
0
{
12505
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_idx_, NDR_POINTER_REF, "Pointer to Idx (uint32)",hf_samr_samr_GetDisplayEnumerationIndex_idx);
12506
12507
0
  return offset;
12508
0
}
12509
12510
static unsigned
12511
samr_dissect_element_GetDisplayEnumerationIndex_idx_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12512
0
{
12513
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_idx, 0);
12514
12515
0
  return offset;
12516
0
}
12517
12518
/* IDL: NTSTATUS samr_GetDisplayEnumerationIndex( */
12519
/* IDL: [in] [ref] policy_handle *domain_handle, */
12520
/* IDL: [in] uint16 level, */
12521
/* IDL: [in] [ref] lsa_String *name, */
12522
/* IDL: [out] [ref] uint32 *idx */
12523
/* IDL: ); */
12524
12525
static unsigned
12526
samr_dissect_GetDisplayEnumerationIndex_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12527
0
{
12528
0
  uint32_t status;
12529
12530
0
  di->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12531
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex_idx(tvb, offset, pinfo, tree, di, drep);
12532
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12533
12534
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12535
12536
0
  if (status != 0)
12537
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12538
12539
0
  return offset;
12540
0
}
12541
12542
static unsigned
12543
samr_dissect_GetDisplayEnumerationIndex_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12544
0
{
12545
0
  di->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12546
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvb, offset, pinfo, tree, di, drep);
12547
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12548
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex_level(tvb, offset, pinfo, tree, di, drep);
12549
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12550
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex_name(tvb, offset, pinfo, tree, di, drep);
12551
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12552
0
  return offset;
12553
0
}
12554
12555
static unsigned
12556
samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12557
0
{
12558
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12559
12560
0
  return offset;
12561
0
}
12562
12563
static unsigned
12564
samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12565
0
{
12566
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12567
12568
0
  return offset;
12569
0
}
12570
12571
/* IDL: NTSTATUS samr_TestPrivateFunctionsDomain( */
12572
/* IDL: [in] [ref] policy_handle *domain_handle */
12573
/* IDL: ); */
12574
12575
static unsigned
12576
samr_dissect_TestPrivateFunctionsDomain_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12577
0
{
12578
0
  uint32_t status;
12579
12580
0
  di->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12581
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12582
12583
0
  if (status != 0)
12584
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12585
12586
0
  return offset;
12587
0
}
12588
12589
static unsigned
12590
samr_dissect_TestPrivateFunctionsDomain_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12591
0
{
12592
0
  di->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12593
0
  offset = samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12594
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12595
0
  return offset;
12596
0
}
12597
12598
static unsigned
12599
samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12600
0
{
12601
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_TestPrivateFunctionsUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12602
12603
0
  return offset;
12604
0
}
12605
12606
static unsigned
12607
samr_dissect_element_TestPrivateFunctionsUser_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12608
0
{
12609
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12610
12611
0
  return offset;
12612
0
}
12613
12614
/* IDL: NTSTATUS samr_TestPrivateFunctionsUser( */
12615
/* IDL: [in] [ref] policy_handle *user_handle */
12616
/* IDL: ); */
12617
12618
static unsigned
12619
samr_dissect_TestPrivateFunctionsUser_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12620
0
{
12621
0
  uint32_t status;
12622
12623
0
  di->dcerpc_procedure_name="TestPrivateFunctionsUser";
12624
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12625
12626
0
  if (status != 0)
12627
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12628
12629
0
  return offset;
12630
0
}
12631
12632
static unsigned
12633
samr_dissect_TestPrivateFunctionsUser_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12634
0
{
12635
0
  di->dcerpc_procedure_name="TestPrivateFunctionsUser";
12636
0
  offset = samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12637
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12638
0
  return offset;
12639
0
}
12640
12641
static unsigned
12642
samr_dissect_element_GetUserPwInfo_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12643
0
{
12644
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetUserPwInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12645
12646
0
  return offset;
12647
0
}
12648
12649
static unsigned
12650
samr_dissect_element_GetUserPwInfo_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12651
0
{
12652
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12653
12654
0
  return offset;
12655
0
}
12656
12657
static unsigned
12658
samr_dissect_element_GetUserPwInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12659
0
{
12660
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetUserPwInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_PwInfo)",hf_samr_samr_GetUserPwInfo_info);
12661
12662
0
  return offset;
12663
0
}
12664
12665
static unsigned
12666
samr_dissect_element_GetUserPwInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12667
0
{
12668
0
  offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetUserPwInfo_info,0);
12669
12670
0
  return offset;
12671
0
}
12672
12673
/* IDL: NTSTATUS samr_GetUserPwInfo( */
12674
/* IDL: [in] [ref] policy_handle *user_handle, */
12675
/* IDL: [out] [ref] samr_PwInfo *info */
12676
/* IDL: ); */
12677
12678
static unsigned
12679
samr_dissect_GetUserPwInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12680
0
{
12681
0
  uint32_t status;
12682
12683
0
  di->dcerpc_procedure_name="GetUserPwInfo";
12684
0
  offset = samr_dissect_element_GetUserPwInfo_info(tvb, offset, pinfo, tree, di, drep);
12685
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12686
12687
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12688
12689
0
  if (status != 0)
12690
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12691
12692
0
  return offset;
12693
0
}
12694
12695
static unsigned
12696
samr_dissect_GetUserPwInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12697
0
{
12698
0
  di->dcerpc_procedure_name="GetUserPwInfo";
12699
0
  offset = samr_dissect_element_GetUserPwInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12700
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12701
0
  return offset;
12702
0
}
12703
12704
static unsigned
12705
samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12706
0
{
12707
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12708
12709
0
  return offset;
12710
0
}
12711
12712
static unsigned
12713
samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12714
0
{
12715
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12716
12717
0
  return offset;
12718
0
}
12719
12720
static unsigned
12721
samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12722
0
{
12723
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMemberFromForeignDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_RemoveMemberFromForeignDomain_sid);
12724
12725
0
  return offset;
12726
0
}
12727
12728
static unsigned
12729
samr_dissect_element_RemoveMemberFromForeignDomain_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12730
0
{
12731
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
12732
12733
0
  return offset;
12734
0
}
12735
12736
/* IDL: NTSTATUS samr_RemoveMemberFromForeignDomain( */
12737
/* IDL: [in] [ref] policy_handle *domain_handle, */
12738
/* IDL: [in] [ref] dom_sid2 *sid */
12739
/* IDL: ); */
12740
12741
static unsigned
12742
samr_dissect_RemoveMemberFromForeignDomain_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12743
0
{
12744
0
  uint32_t status;
12745
12746
0
  di->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12747
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12748
12749
0
  if (status != 0)
12750
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12751
12752
0
  return offset;
12753
0
}
12754
12755
static unsigned
12756
samr_dissect_RemoveMemberFromForeignDomain_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12757
0
{
12758
0
  di->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12759
0
  offset = samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12760
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12761
0
  offset = samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvb, offset, pinfo, tree, di, drep);
12762
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12763
0
  return offset;
12764
0
}
12765
12766
static unsigned
12767
samr_dissect_element_QueryDomainInfo2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12768
0
{
12769
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12770
12771
0
  return offset;
12772
0
}
12773
12774
static unsigned
12775
samr_dissect_element_QueryDomainInfo2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12776
0
{
12777
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12778
12779
0
  return offset;
12780
0
}
12781
12782
static unsigned
12783
samr_dissect_element_QueryDomainInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12784
0
{
12785
0
  offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_level, 0);
12786
12787
0
  return offset;
12788
0
}
12789
12790
static unsigned
12791
samr_dissect_element_QueryDomainInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12792
0
{
12793
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo2_info);
12794
12795
0
  return offset;
12796
0
}
12797
12798
static unsigned
12799
samr_dissect_element_QueryDomainInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12800
0
{
12801
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo2_info);
12802
12803
0
  return offset;
12804
0
}
12805
12806
static unsigned
12807
samr_dissect_element_QueryDomainInfo2_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12808
0
{
12809
0
  offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_info, 0);
12810
12811
0
  return offset;
12812
0
}
12813
12814
/* IDL: NTSTATUS samr_QueryDomainInfo2( */
12815
/* IDL: [in] [ref] policy_handle *domain_handle, */
12816
/* IDL: [in] samr_DomainInfoClass level, */
12817
/* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
12818
/* IDL: ); */
12819
12820
static unsigned
12821
samr_dissect_QueryDomainInfo2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12822
0
{
12823
0
  uint32_t status;
12824
12825
0
  di->dcerpc_procedure_name="QueryDomainInfo2";
12826
0
  offset = samr_dissect_element_QueryDomainInfo2_info(tvb, offset, pinfo, tree, di, drep);
12827
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12828
12829
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12830
12831
0
  if (status != 0)
12832
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12833
12834
0
  return offset;
12835
0
}
12836
12837
static unsigned
12838
samr_dissect_QueryDomainInfo2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12839
0
{
12840
0
  di->dcerpc_procedure_name="QueryDomainInfo2";
12841
0
  offset = samr_dissect_element_QueryDomainInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
12842
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12843
0
  offset = samr_dissect_element_QueryDomainInfo2_level(tvb, offset, pinfo, tree, di, drep);
12844
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12845
0
  return offset;
12846
0
}
12847
12848
static unsigned
12849
samr_dissect_element_QueryUserInfo2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12850
0
{
12851
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12852
12853
0
  return offset;
12854
0
}
12855
12856
static unsigned
12857
samr_dissect_element_QueryUserInfo2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12858
0
{
12859
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12860
12861
0
  return offset;
12862
0
}
12863
12864
static unsigned
12865
samr_dissect_element_QueryUserInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12866
0
{
12867
0
  offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_level, 0);
12868
12869
0
  return offset;
12870
0
}
12871
12872
static unsigned
12873
samr_dissect_element_QueryUserInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12874
0
{
12875
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo2_info);
12876
12877
0
  return offset;
12878
0
}
12879
12880
static unsigned
12881
samr_dissect_element_QueryUserInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12882
0
{
12883
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo2_info);
12884
12885
0
  return offset;
12886
0
}
12887
12888
static unsigned
12889
samr_dissect_element_QueryUserInfo2_info__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12890
0
{
12891
0
  offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_info, 0);
12892
12893
0
  return offset;
12894
0
}
12895
12896
/* IDL: NTSTATUS samr_QueryUserInfo2( */
12897
/* IDL: [in] [ref] policy_handle *user_handle, */
12898
/* IDL: [in] samr_UserInfoLevel level, */
12899
/* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
12900
/* IDL: ); */
12901
12902
static unsigned
12903
samr_dissect_QueryUserInfo2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12904
0
{
12905
0
  uint32_t status;
12906
12907
0
  di->dcerpc_procedure_name="QueryUserInfo2";
12908
0
  offset = samr_dissect_element_QueryUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
12909
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12910
12911
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12912
12913
0
  if (status != 0)
12914
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12915
12916
0
  return offset;
12917
0
}
12918
12919
static unsigned
12920
samr_dissect_QueryUserInfo2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12921
0
{
12922
0
  di->dcerpc_procedure_name="QueryUserInfo2";
12923
0
  offset = samr_dissect_element_QueryUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
12924
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12925
0
  offset = samr_dissect_element_QueryUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
12926
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12927
0
  return offset;
12928
0
}
12929
12930
static unsigned
12931
samr_dissect_element_QueryDisplayInfo2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12932
0
{
12933
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12934
12935
0
  return offset;
12936
0
}
12937
12938
static unsigned
12939
samr_dissect_element_QueryDisplayInfo2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12940
0
{
12941
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12942
12943
0
  return offset;
12944
0
}
12945
12946
static unsigned
12947
samr_dissect_element_QueryDisplayInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12948
0
{
12949
0
  offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_level, 0);
12950
12951
0
  return offset;
12952
0
}
12953
12954
static unsigned
12955
samr_dissect_element_QueryDisplayInfo2_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12956
0
{
12957
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_start_idx, 0);
12958
12959
0
  return offset;
12960
0
}
12961
12962
static unsigned
12963
samr_dissect_element_QueryDisplayInfo2_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12964
0
{
12965
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_max_entries, 0);
12966
12967
0
  return offset;
12968
0
}
12969
12970
static unsigned
12971
samr_dissect_element_QueryDisplayInfo2_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12972
0
{
12973
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_buf_size, 0);
12974
12975
0
  return offset;
12976
0
}
12977
12978
static unsigned
12979
samr_dissect_element_QueryDisplayInfo2_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12980
0
{
12981
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo2_total_size);
12982
12983
0
  return offset;
12984
0
}
12985
12986
static unsigned
12987
samr_dissect_element_QueryDisplayInfo2_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12988
0
{
12989
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_total_size, 0);
12990
12991
0
  return offset;
12992
0
}
12993
12994
static unsigned
12995
samr_dissect_element_QueryDisplayInfo2_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12996
0
{
12997
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo2_returned_size);
12998
12999
0
  return offset;
13000
0
}
13001
13002
static unsigned
13003
samr_dissect_element_QueryDisplayInfo2_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13004
0
{
13005
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_returned_size, 0);
13006
13007
0
  return offset;
13008
0
}
13009
13010
static unsigned
13011
samr_dissect_element_QueryDisplayInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13012
0
{
13013
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo2_info);
13014
13015
0
  return offset;
13016
0
}
13017
13018
static unsigned
13019
samr_dissect_element_QueryDisplayInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13020
0
{
13021
0
  offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_info, 0);
13022
13023
0
  return offset;
13024
0
}
13025
13026
/* IDL: NTSTATUS samr_QueryDisplayInfo2( */
13027
/* IDL: [in] [ref] policy_handle *domain_handle, */
13028
/* IDL: [in] samr_DomainDisplayInformation level, */
13029
/* IDL: [in] uint32 start_idx, */
13030
/* IDL: [in] uint32 max_entries, */
13031
/* IDL: [in] uint32 buf_size, */
13032
/* IDL: [out] [ref] uint32 *total_size, */
13033
/* IDL: [out] [ref] uint32 *returned_size, */
13034
/* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13035
/* IDL: ); */
13036
13037
static unsigned
13038
samr_dissect_QueryDisplayInfo2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13039
0
{
13040
0
  uint32_t status;
13041
13042
0
  di->dcerpc_procedure_name="QueryDisplayInfo2";
13043
0
  offset = samr_dissect_element_QueryDisplayInfo2_total_size(tvb, offset, pinfo, tree, di, drep);
13044
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13045
13046
0
  offset = samr_dissect_element_QueryDisplayInfo2_returned_size(tvb, offset, pinfo, tree, di, drep);
13047
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13048
13049
0
  offset = samr_dissect_element_QueryDisplayInfo2_info(tvb, offset, pinfo, tree, di, drep);
13050
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13051
13052
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13053
13054
0
  if (status != 0)
13055
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13056
13057
0
  return offset;
13058
0
}
13059
13060
static unsigned
13061
samr_dissect_QueryDisplayInfo2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13062
0
{
13063
0
  di->dcerpc_procedure_name="QueryDisplayInfo2";
13064
0
  offset = samr_dissect_element_QueryDisplayInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13065
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13066
0
  offset = samr_dissect_element_QueryDisplayInfo2_level(tvb, offset, pinfo, tree, di, drep);
13067
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13068
0
  offset = samr_dissect_element_QueryDisplayInfo2_start_idx(tvb, offset, pinfo, tree, di, drep);
13069
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13070
0
  offset = samr_dissect_element_QueryDisplayInfo2_max_entries(tvb, offset, pinfo, tree, di, drep);
13071
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13072
0
  offset = samr_dissect_element_QueryDisplayInfo2_buf_size(tvb, offset, pinfo, tree, di, drep);
13073
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13074
0
  return offset;
13075
0
}
13076
13077
static unsigned
13078
samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13079
0
{
13080
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13081
13082
0
  return offset;
13083
0
}
13084
13085
static unsigned
13086
samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13087
0
{
13088
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13089
13090
0
  return offset;
13091
0
}
13092
13093
static unsigned
13094
samr_dissect_element_GetDisplayEnumerationIndex2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13095
0
{
13096
0
  offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_level, 0);
13097
13098
0
  return offset;
13099
0
}
13100
13101
static unsigned
13102
samr_dissect_element_GetDisplayEnumerationIndex2_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13103
0
{
13104
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_GetDisplayEnumerationIndex2_name);
13105
13106
0
  return offset;
13107
0
}
13108
13109
static unsigned
13110
samr_dissect_element_GetDisplayEnumerationIndex2_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13111
0
{
13112
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex2_name);
13113
13114
0
  return offset;
13115
0
}
13116
13117
static unsigned
13118
samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13119
0
{
13120
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_idx_, NDR_POINTER_REF, "Pointer to Idx (uint32)",hf_samr_samr_GetDisplayEnumerationIndex2_idx);
13121
13122
0
  return offset;
13123
0
}
13124
13125
static unsigned
13126
samr_dissect_element_GetDisplayEnumerationIndex2_idx_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13127
0
{
13128
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_idx, 0);
13129
13130
0
  return offset;
13131
0
}
13132
13133
/* IDL: NTSTATUS samr_GetDisplayEnumerationIndex2( */
13134
/* IDL: [in] [ref] policy_handle *domain_handle, */
13135
/* IDL: [in] samr_DomainDisplayInformation level, */
13136
/* IDL: [in] [ref] lsa_String *name, */
13137
/* IDL: [out] [ref] uint32 *idx */
13138
/* IDL: ); */
13139
13140
static unsigned
13141
samr_dissect_GetDisplayEnumerationIndex2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13142
0
{
13143
0
  uint32_t status;
13144
13145
0
  di->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13146
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvb, offset, pinfo, tree, di, drep);
13147
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13148
13149
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13150
13151
0
  if (status != 0)
13152
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13153
13154
0
  return offset;
13155
0
}
13156
13157
static unsigned
13158
samr_dissect_GetDisplayEnumerationIndex2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13159
0
{
13160
0
  di->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13161
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13162
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13163
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex2_level(tvb, offset, pinfo, tree, di, drep);
13164
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13165
0
  offset = samr_dissect_element_GetDisplayEnumerationIndex2_name(tvb, offset, pinfo, tree, di, drep);
13166
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13167
0
  return offset;
13168
0
}
13169
13170
static unsigned
13171
samr_dissect_element_CreateUser2_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13172
0
{
13173
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13174
13175
0
  return offset;
13176
0
}
13177
13178
static unsigned
13179
samr_dissect_element_CreateUser2_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13180
0
{
13181
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13182
13183
0
  return offset;
13184
0
}
13185
13186
static unsigned
13187
samr_dissect_element_CreateUser2_account_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13188
0
{
13189
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_account_name_, NDR_POINTER_REF, "Pointer to Account Name (lsa_String)",hf_samr_samr_CreateUser2_account_name);
13190
13191
0
  return offset;
13192
0
}
13193
13194
static unsigned
13195
samr_dissect_element_CreateUser2_account_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13196
0
{
13197
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO|PIDL_STR_SAVE, hf_samr_samr_CreateUser2_account_name);
13198
13199
0
  return offset;
13200
0
}
13201
13202
static unsigned
13203
samr_dissect_element_CreateUser2_acct_flags(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13204
0
{
13205
0
  offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_acct_flags, 0);
13206
13207
0
  return offset;
13208
0
}
13209
13210
static unsigned
13211
samr_dissect_element_CreateUser2_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13212
0
{
13213
0
  offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
13214
13215
0
  return offset;
13216
0
}
13217
13218
static unsigned
13219
samr_dissect_element_CreateUser2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13220
0
{
13221
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
13222
13223
0
  return offset;
13224
0
}
13225
13226
static unsigned
13227
samr_dissect_element_CreateUser2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13228
0
{
13229
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
13230
13231
0
  return offset;
13232
0
}
13233
13234
static unsigned
13235
samr_dissect_element_CreateUser2_access_granted(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13236
0
{
13237
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_access_granted_, NDR_POINTER_REF, "Pointer to Access Granted (uint32)",hf_samr_samr_CreateUser2_access_granted);
13238
13239
0
  return offset;
13240
0
}
13241
13242
static unsigned
13243
samr_dissect_element_CreateUser2_access_granted_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13244
0
{
13245
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_access_granted, 0);
13246
13247
0
  return offset;
13248
0
}
13249
13250
static unsigned
13251
samr_dissect_element_CreateUser2_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13252
0
{
13253
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
13254
13255
0
  return offset;
13256
0
}
13257
13258
static unsigned
13259
samr_dissect_element_CreateUser2_rid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13260
0
{
13261
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
13262
13263
0
  return offset;
13264
0
}
13265
13266
/* IDL: NTSTATUS samr_CreateUser2( */
13267
/* IDL: [in] [ref] policy_handle *domain_handle, */
13268
/* IDL: [in] [ref] lsa_String *account_name, */
13269
/* IDL: [in] samr_AcctFlags acct_flags, */
13270
/* IDL: [in] samr_UserAccessMask access_mask, */
13271
/* IDL: [out] [ref] policy_handle *user_handle, */
13272
/* IDL: [out] [ref] uint32 *access_granted, */
13273
/* IDL: [out] [ref] uint32 *rid */
13274
/* IDL: ); */
13275
13276
static unsigned
13277
samr_dissect_CreateUser2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13278
0
{
13279
0
  uint32_t status;
13280
13281
0
  di->dcerpc_procedure_name="CreateUser2";
13282
0
  offset = samr_dissect_element_CreateUser2_user_handle(tvb, offset, pinfo, tree, di, drep);
13283
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13284
13285
0
  offset = samr_dissect_element_CreateUser2_access_granted(tvb, offset, pinfo, tree, di, drep);
13286
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13287
13288
0
  offset = samr_dissect_element_CreateUser2_rid(tvb, offset, pinfo, tree, di, drep);
13289
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13290
13291
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13292
13293
0
  if (status != 0)
13294
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13295
13296
0
  return offset;
13297
0
}
13298
13299
static unsigned
13300
samr_dissect_CreateUser2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13301
0
{
13302
0
  di->dcerpc_procedure_name="CreateUser2";
13303
0
  offset = samr_dissect_element_CreateUser2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13304
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13305
0
  offset = samr_dissect_element_CreateUser2_account_name(tvb, offset, pinfo, tree, di, drep);
13306
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13307
0
  offset = samr_dissect_element_CreateUser2_acct_flags(tvb, offset, pinfo, tree, di, drep);
13308
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13309
0
  offset = samr_dissect_element_CreateUser2_access_mask(tvb, offset, pinfo, tree, di, drep);
13310
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13311
0
  return offset;
13312
0
}
13313
13314
static unsigned
13315
samr_dissect_element_QueryDisplayInfo3_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13316
0
{
13317
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13318
13319
0
  return offset;
13320
0
}
13321
13322
static unsigned
13323
samr_dissect_element_QueryDisplayInfo3_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13324
0
{
13325
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13326
13327
0
  return offset;
13328
0
}
13329
13330
static unsigned
13331
samr_dissect_element_QueryDisplayInfo3_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13332
0
{
13333
0
  offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_level, 0);
13334
13335
0
  return offset;
13336
0
}
13337
13338
static unsigned
13339
samr_dissect_element_QueryDisplayInfo3_start_idx(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13340
0
{
13341
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_start_idx, 0);
13342
13343
0
  return offset;
13344
0
}
13345
13346
static unsigned
13347
samr_dissect_element_QueryDisplayInfo3_max_entries(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13348
0
{
13349
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_max_entries, 0);
13350
13351
0
  return offset;
13352
0
}
13353
13354
static unsigned
13355
samr_dissect_element_QueryDisplayInfo3_buf_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13356
0
{
13357
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_buf_size, 0);
13358
13359
0
  return offset;
13360
0
}
13361
13362
static unsigned
13363
samr_dissect_element_QueryDisplayInfo3_total_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13364
0
{
13365
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo3_total_size);
13366
13367
0
  return offset;
13368
0
}
13369
13370
static unsigned
13371
samr_dissect_element_QueryDisplayInfo3_total_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13372
0
{
13373
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_total_size, 0);
13374
13375
0
  return offset;
13376
0
}
13377
13378
static unsigned
13379
samr_dissect_element_QueryDisplayInfo3_returned_size(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13380
0
{
13381
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo3_returned_size);
13382
13383
0
  return offset;
13384
0
}
13385
13386
static unsigned
13387
samr_dissect_element_QueryDisplayInfo3_returned_size_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13388
0
{
13389
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_returned_size, 0);
13390
13391
0
  return offset;
13392
0
}
13393
13394
static unsigned
13395
samr_dissect_element_QueryDisplayInfo3_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13396
0
{
13397
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo3_info);
13398
13399
0
  return offset;
13400
0
}
13401
13402
static unsigned
13403
samr_dissect_element_QueryDisplayInfo3_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13404
0
{
13405
0
  offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_info, 0);
13406
13407
0
  return offset;
13408
0
}
13409
13410
/* IDL: NTSTATUS samr_QueryDisplayInfo3( */
13411
/* IDL: [in] [ref] policy_handle *domain_handle, */
13412
/* IDL: [in] samr_DomainDisplayInformation level, */
13413
/* IDL: [in] uint32 start_idx, */
13414
/* IDL: [in] uint32 max_entries, */
13415
/* IDL: [in] uint32 buf_size, */
13416
/* IDL: [out] [ref] uint32 *total_size, */
13417
/* IDL: [out] [ref] uint32 *returned_size, */
13418
/* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13419
/* IDL: ); */
13420
13421
static unsigned
13422
samr_dissect_QueryDisplayInfo3_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13423
0
{
13424
0
  uint32_t status;
13425
13426
0
  di->dcerpc_procedure_name="QueryDisplayInfo3";
13427
0
  offset = samr_dissect_element_QueryDisplayInfo3_total_size(tvb, offset, pinfo, tree, di, drep);
13428
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13429
13430
0
  offset = samr_dissect_element_QueryDisplayInfo3_returned_size(tvb, offset, pinfo, tree, di, drep);
13431
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13432
13433
0
  offset = samr_dissect_element_QueryDisplayInfo3_info(tvb, offset, pinfo, tree, di, drep);
13434
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13435
13436
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13437
13438
0
  if (status != 0)
13439
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13440
13441
0
  return offset;
13442
0
}
13443
13444
static unsigned
13445
samr_dissect_QueryDisplayInfo3_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13446
0
{
13447
0
  di->dcerpc_procedure_name="QueryDisplayInfo3";
13448
0
  offset = samr_dissect_element_QueryDisplayInfo3_domain_handle(tvb, offset, pinfo, tree, di, drep);
13449
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13450
0
  offset = samr_dissect_element_QueryDisplayInfo3_level(tvb, offset, pinfo, tree, di, drep);
13451
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13452
0
  offset = samr_dissect_element_QueryDisplayInfo3_start_idx(tvb, offset, pinfo, tree, di, drep);
13453
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13454
0
  offset = samr_dissect_element_QueryDisplayInfo3_max_entries(tvb, offset, pinfo, tree, di, drep);
13455
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13456
0
  offset = samr_dissect_element_QueryDisplayInfo3_buf_size(tvb, offset, pinfo, tree, di, drep);
13457
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13458
0
  return offset;
13459
0
}
13460
13461
static unsigned
13462
samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13463
0
{
13464
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddMultipleMembersToAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
13465
13466
0
  return offset;
13467
0
}
13468
13469
static unsigned
13470
samr_dissect_element_AddMultipleMembersToAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13471
0
{
13472
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13473
13474
0
  return offset;
13475
0
}
13476
13477
static unsigned
13478
samr_dissect_element_AddMultipleMembersToAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13479
0
{
13480
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddMultipleMembersToAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_AddMultipleMembersToAlias_sids);
13481
13482
0
  return offset;
13483
0
}
13484
13485
static unsigned
13486
samr_dissect_element_AddMultipleMembersToAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13487
0
{
13488
0
  offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13489
13490
0
  return offset;
13491
0
}
13492
13493
/* IDL: NTSTATUS samr_AddMultipleMembersToAlias( */
13494
/* IDL: [in] [ref] policy_handle *alias_handle, */
13495
/* IDL: [in] [ref] lsa_SidArray *sids */
13496
/* IDL: ); */
13497
13498
static unsigned
13499
samr_dissect_AddMultipleMembersToAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13500
0
{
13501
0
  uint32_t status;
13502
13503
0
  di->dcerpc_procedure_name="AddMultipleMembersToAlias";
13504
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13505
13506
0
  if (status != 0)
13507
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13508
13509
0
  return offset;
13510
0
}
13511
13512
static unsigned
13513
samr_dissect_AddMultipleMembersToAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13514
0
{
13515
0
  di->dcerpc_procedure_name="AddMultipleMembersToAlias";
13516
0
  offset = samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13517
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13518
0
  offset = samr_dissect_element_AddMultipleMembersToAlias_sids(tvb, offset, pinfo, tree, di, drep);
13519
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13520
0
  return offset;
13521
0
}
13522
13523
static unsigned
13524
samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13525
0
{
13526
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
13527
13528
0
  return offset;
13529
0
}
13530
13531
static unsigned
13532
samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13533
0
{
13534
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13535
13536
0
  return offset;
13537
0
}
13538
13539
static unsigned
13540
samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13541
0
{
13542
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMultipleMembersFromAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_RemoveMultipleMembersFromAlias_sids);
13543
13544
0
  return offset;
13545
0
}
13546
13547
static unsigned
13548
samr_dissect_element_RemoveMultipleMembersFromAlias_sids_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13549
0
{
13550
0
  offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13551
13552
0
  return offset;
13553
0
}
13554
13555
/* IDL: NTSTATUS samr_RemoveMultipleMembersFromAlias( */
13556
/* IDL: [in] [ref] policy_handle *alias_handle, */
13557
/* IDL: [in] [ref] lsa_SidArray *sids */
13558
/* IDL: ); */
13559
13560
static unsigned
13561
samr_dissect_RemoveMultipleMembersFromAlias_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13562
0
{
13563
0
  uint32_t status;
13564
13565
0
  di->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13566
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13567
13568
0
  if (status != 0)
13569
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13570
13571
0
  return offset;
13572
0
}
13573
13574
static unsigned
13575
samr_dissect_RemoveMultipleMembersFromAlias_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13576
0
{
13577
0
  di->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13578
0
  offset = samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13579
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13580
0
  offset = samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvb, offset, pinfo, tree, di, drep);
13581
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13582
0
  return offset;
13583
0
}
13584
13585
static unsigned
13586
samr_dissect_element_OemChangePasswordUser2_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13587
0
{
13588
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_AsciiString)",hf_samr_samr_OemChangePasswordUser2_server);
13589
13590
0
  return offset;
13591
0
}
13592
13593
static unsigned
13594
samr_dissect_element_OemChangePasswordUser2_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13595
0
{
13596
0
  offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_server);
13597
13598
0
  return offset;
13599
0
}
13600
13601
static unsigned
13602
samr_dissect_element_OemChangePasswordUser2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13603
0
{
13604
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_account_, NDR_POINTER_REF, "Pointer to Account (lsa_AsciiString)",hf_samr_samr_OemChangePasswordUser2_account);
13605
13606
0
  return offset;
13607
0
}
13608
13609
static unsigned
13610
samr_dissect_element_OemChangePasswordUser2_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13611
0
{
13612
0
  offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_account);
13613
13614
0
  return offset;
13615
0
}
13616
13617
static unsigned
13618
samr_dissect_element_OemChangePasswordUser2_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13619
0
{
13620
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_password_, NDR_POINTER_UNIQUE, "Pointer to Password (samr_CryptPassword)",hf_samr_samr_OemChangePasswordUser2_password);
13621
13622
0
  return offset;
13623
0
}
13624
13625
static unsigned
13626
samr_dissect_element_OemChangePasswordUser2_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13627
0
{
13628
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_password,0);
13629
13630
0
  return offset;
13631
0
}
13632
13633
static unsigned
13634
samr_dissect_element_OemChangePasswordUser2_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13635
0
{
13636
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_hash_, NDR_POINTER_UNIQUE, "Pointer to Hash (samr_Password)",hf_samr_samr_OemChangePasswordUser2_hash);
13637
13638
0
  return offset;
13639
0
}
13640
13641
static unsigned
13642
samr_dissect_element_OemChangePasswordUser2_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13643
0
{
13644
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_hash,0);
13645
13646
0
  return offset;
13647
0
}
13648
13649
/* IDL: NTSTATUS samr_OemChangePasswordUser2( */
13650
/* IDL: [in] [unique(1)] lsa_AsciiString *server, */
13651
/* IDL: [in] [ref] lsa_AsciiString *account, */
13652
/* IDL: [in] [unique(1)] samr_CryptPassword *password, */
13653
/* IDL: [in] [unique(1)] samr_Password *hash */
13654
/* IDL: ); */
13655
13656
static unsigned
13657
samr_dissect_OemChangePasswordUser2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13658
0
{
13659
0
  uint32_t status;
13660
13661
0
  di->dcerpc_procedure_name="OemChangePasswordUser2";
13662
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13663
13664
0
  if (status != 0)
13665
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13666
13667
0
  return offset;
13668
0
}
13669
13670
static unsigned
13671
samr_dissect_OemChangePasswordUser2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13672
0
{
13673
0
  di->dcerpc_procedure_name="OemChangePasswordUser2";
13674
0
  offset = samr_dissect_element_OemChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
13675
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13676
0
  offset = samr_dissect_element_OemChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
13677
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13678
0
  offset = samr_dissect_element_OemChangePasswordUser2_password(tvb, offset, pinfo, tree, di, drep);
13679
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13680
0
  offset = samr_dissect_element_OemChangePasswordUser2_hash(tvb, offset, pinfo, tree, di, drep);
13681
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13682
0
  return offset;
13683
0
}
13684
13685
static unsigned
13686
samr_dissect_element_ChangePasswordUser2_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13687
0
{
13688
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser2_server);
13689
13690
0
  return offset;
13691
0
}
13692
13693
static unsigned
13694
samr_dissect_element_ChangePasswordUser2_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13695
0
{
13696
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_server);
13697
13698
0
  return offset;
13699
0
}
13700
13701
static unsigned
13702
samr_dissect_element_ChangePasswordUser2_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13703
0
{
13704
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser2_account);
13705
13706
0
  return offset;
13707
0
}
13708
13709
static unsigned
13710
samr_dissect_element_ChangePasswordUser2_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13711
0
{
13712
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_account);
13713
13714
0
  return offset;
13715
0
}
13716
13717
static unsigned
13718
samr_dissect_element_ChangePasswordUser2_nt_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13719
0
{
13720
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_nt_password_, NDR_POINTER_UNIQUE, "Pointer to Nt Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser2_nt_password);
13721
13722
0
  return offset;
13723
0
}
13724
13725
static unsigned
13726
samr_dissect_element_ChangePasswordUser2_nt_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13727
0
{
13728
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_password,0);
13729
13730
0
  return offset;
13731
0
}
13732
13733
static unsigned
13734
samr_dissect_element_ChangePasswordUser2_nt_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13735
0
{
13736
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_nt_verifier_, NDR_POINTER_UNIQUE, "Pointer to Nt Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser2_nt_verifier);
13737
13738
0
  return offset;
13739
0
}
13740
13741
static unsigned
13742
samr_dissect_element_ChangePasswordUser2_nt_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13743
0
{
13744
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_verifier,0);
13745
13746
0
  return offset;
13747
0
}
13748
13749
static unsigned
13750
samr_dissect_element_ChangePasswordUser2_lm_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13751
0
{
13752
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser2_lm_change, 0);
13753
13754
0
  return offset;
13755
0
}
13756
13757
static unsigned
13758
samr_dissect_element_ChangePasswordUser2_lm_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13759
0
{
13760
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_lm_password_, NDR_POINTER_UNIQUE, "Pointer to Lm Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser2_lm_password);
13761
13762
0
  return offset;
13763
0
}
13764
13765
static unsigned
13766
samr_dissect_element_ChangePasswordUser2_lm_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13767
0
{
13768
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_password,0);
13769
13770
0
  return offset;
13771
0
}
13772
13773
static unsigned
13774
samr_dissect_element_ChangePasswordUser2_lm_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13775
0
{
13776
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_lm_verifier_, NDR_POINTER_UNIQUE, "Pointer to Lm Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser2_lm_verifier);
13777
13778
0
  return offset;
13779
0
}
13780
13781
static unsigned
13782
samr_dissect_element_ChangePasswordUser2_lm_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13783
0
{
13784
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_verifier,0);
13785
13786
0
  return offset;
13787
0
}
13788
13789
/* IDL: NTSTATUS samr_ChangePasswordUser2( */
13790
/* IDL: [in] [unique(1)] lsa_String *server, */
13791
/* IDL: [in] [ref] lsa_String *account, */
13792
/* IDL: [in] [unique(1)] samr_CryptPassword *nt_password, */
13793
/* IDL: [in] [unique(1)] samr_Password *nt_verifier, */
13794
/* IDL: [in] uint8 lm_change, */
13795
/* IDL: [in] [unique(1)] samr_CryptPassword *lm_password, */
13796
/* IDL: [in] [unique(1)] samr_Password *lm_verifier */
13797
/* IDL: ); */
13798
13799
static unsigned
13800
samr_dissect_ChangePasswordUser2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13801
0
{
13802
0
  uint32_t status;
13803
13804
0
  di->dcerpc_procedure_name="ChangePasswordUser2";
13805
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13806
13807
0
  if (status != 0)
13808
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13809
13810
0
  return offset;
13811
0
}
13812
13813
static unsigned
13814
samr_dissect_ChangePasswordUser2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13815
0
{
13816
0
  di->dcerpc_procedure_name="ChangePasswordUser2";
13817
0
  offset = samr_dissect_element_ChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
13818
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13819
0
  offset = samr_dissect_element_ChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
13820
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13821
0
  offset = samr_dissect_element_ChangePasswordUser2_nt_password(tvb, offset, pinfo, tree, di, drep);
13822
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13823
0
  offset = samr_dissect_element_ChangePasswordUser2_nt_verifier(tvb, offset, pinfo, tree, di, drep);
13824
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13825
0
  offset = samr_dissect_element_ChangePasswordUser2_lm_change(tvb, offset, pinfo, tree, di, drep);
13826
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13827
0
  offset = samr_dissect_element_ChangePasswordUser2_lm_password(tvb, offset, pinfo, tree, di, drep);
13828
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13829
0
  offset = samr_dissect_element_ChangePasswordUser2_lm_verifier(tvb, offset, pinfo, tree, di, drep);
13830
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13831
0
  return offset;
13832
0
}
13833
13834
static unsigned
13835
samr_dissect_element_GetDomPwInfo_domain_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13836
0
{
13837
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDomPwInfo_domain_name_, NDR_POINTER_UNIQUE, "Pointer to Domain Name (lsa_String)",hf_samr_samr_GetDomPwInfo_domain_name);
13838
13839
0
  return offset;
13840
0
}
13841
13842
static unsigned
13843
samr_dissect_element_GetDomPwInfo_domain_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13844
0
{
13845
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_GetDomPwInfo_domain_name);
13846
13847
0
  return offset;
13848
0
}
13849
13850
static unsigned
13851
samr_dissect_element_GetDomPwInfo_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13852
0
{
13853
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDomPwInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_PwInfo)",hf_samr_samr_GetDomPwInfo_info);
13854
13855
0
  return offset;
13856
0
}
13857
13858
static unsigned
13859
samr_dissect_element_GetDomPwInfo_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13860
0
{
13861
0
  offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetDomPwInfo_info,0);
13862
13863
0
  return offset;
13864
0
}
13865
13866
/* IDL: NTSTATUS samr_GetDomPwInfo( */
13867
/* IDL: [in] [unique(1)] lsa_String *domain_name, */
13868
/* IDL: [out] [ref] samr_PwInfo *info */
13869
/* IDL: ); */
13870
13871
static unsigned
13872
samr_dissect_GetDomPwInfo_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13873
0
{
13874
0
  uint32_t status;
13875
13876
0
  di->dcerpc_procedure_name="GetDomPwInfo";
13877
0
  offset = samr_dissect_element_GetDomPwInfo_info(tvb, offset, pinfo, tree, di, drep);
13878
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13879
13880
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13881
13882
0
  if (status != 0)
13883
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13884
13885
0
  return offset;
13886
0
}
13887
13888
static unsigned
13889
samr_dissect_GetDomPwInfo_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13890
0
{
13891
0
  di->dcerpc_procedure_name="GetDomPwInfo";
13892
0
  offset = samr_dissect_element_GetDomPwInfo_domain_name(tvb, offset, pinfo, tree, di, drep);
13893
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13894
0
  return offset;
13895
0
}
13896
13897
static unsigned
13898
samr_dissect_element_Connect2_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13899
0
{
13900
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect2_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect2_system_name);
13901
13902
0
  return offset;
13903
0
}
13904
13905
static unsigned
13906
samr_dissect_element_Connect2_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13907
0
{
13908
0
  char *data;
13909
13910
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect2_system_name, false, &data);
13911
0
  proto_item_append_text(tree, ": %s", data);
13912
13913
0
  return offset;
13914
0
}
13915
13916
static unsigned
13917
samr_dissect_element_Connect2_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13918
0
{
13919
0
  offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
13920
13921
0
  return offset;
13922
0
}
13923
13924
static unsigned
13925
samr_dissect_element_Connect2_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13926
0
{
13927
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect2_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
13928
13929
0
  return offset;
13930
0
}
13931
13932
static unsigned
13933
samr_dissect_element_Connect2_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13934
0
{
13935
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
13936
13937
0
  return offset;
13938
0
}
13939
13940
/* IDL: NTSTATUS samr_Connect2( */
13941
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
13942
/* IDL: [in] samr_ConnectAccessMask access_mask, */
13943
/* IDL: [out] [ref] policy_handle *connect_handle */
13944
/* IDL: ); */
13945
13946
static unsigned
13947
samr_dissect_Connect2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13948
0
{
13949
0
  uint32_t status;
13950
13951
0
  di->dcerpc_procedure_name="Connect2";
13952
0
  offset = samr_dissect_element_Connect2_connect_handle(tvb, offset, pinfo, tree, di, drep);
13953
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13954
13955
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13956
13957
0
  if (status != 0)
13958
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13959
13960
0
  return offset;
13961
0
}
13962
13963
static unsigned
13964
samr_dissect_Connect2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13965
0
{
13966
0
  di->dcerpc_procedure_name="Connect2";
13967
0
  offset = samr_dissect_element_Connect2_system_name(tvb, offset, pinfo, tree, di, drep);
13968
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13969
0
  offset = samr_dissect_element_Connect2_access_mask(tvb, offset, pinfo, tree, di, drep);
13970
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13971
0
  return offset;
13972
0
}
13973
13974
static unsigned
13975
samr_dissect_element_SetUserInfo2_user_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13976
0
{
13977
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
13978
13979
0
  return offset;
13980
0
}
13981
13982
static unsigned
13983
samr_dissect_element_SetUserInfo2_user_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13984
0
{
13985
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
13986
13987
0
  return offset;
13988
0
}
13989
13990
static unsigned
13991
samr_dissect_element_SetUserInfo2_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13992
0
{
13993
0
  offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_level, 0);
13994
13995
0
  return offset;
13996
0
}
13997
13998
static unsigned
13999
samr_dissect_element_SetUserInfo2_info(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14000
0
{
14001
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_SetUserInfo2_info);
14002
14003
0
  return offset;
14004
0
}
14005
14006
static unsigned
14007
samr_dissect_element_SetUserInfo2_info_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14008
0
{
14009
0
  offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_info, 0);
14010
14011
0
  return offset;
14012
0
}
14013
14014
/* IDL: NTSTATUS samr_SetUserInfo2( */
14015
/* IDL: [in] [ref] policy_handle *user_handle, */
14016
/* IDL: [in] samr_UserInfoLevel level, */
14017
/* IDL: [in] [ref] [switch_is(level)] samr_UserInfo *info */
14018
/* IDL: ); */
14019
14020
static unsigned
14021
samr_dissect_SetUserInfo2_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14022
0
{
14023
0
  uint32_t status;
14024
14025
0
  di->dcerpc_procedure_name="SetUserInfo2";
14026
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14027
14028
0
  if (status != 0)
14029
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14030
14031
0
  return offset;
14032
0
}
14033
14034
static unsigned
14035
samr_dissect_SetUserInfo2_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14036
0
{
14037
0
  di->dcerpc_procedure_name="SetUserInfo2";
14038
0
  offset = samr_dissect_element_SetUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
14039
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14040
0
  offset = samr_dissect_element_SetUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
14041
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14042
0
  offset = samr_dissect_element_SetUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
14043
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14044
0
  return offset;
14045
0
}
14046
14047
static unsigned
14048
samr_dissect_element_SetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14049
0
{
14050
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetBootKeyInformation_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14051
14052
0
  return offset;
14053
0
}
14054
14055
static unsigned
14056
samr_dissect_element_SetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14057
0
{
14058
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
14059
14060
0
  return offset;
14061
0
}
14062
14063
static unsigned
14064
samr_dissect_element_SetBootKeyInformation_unknown1(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14065
0
{
14066
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown1, 0);
14067
14068
0
  return offset;
14069
0
}
14070
14071
static unsigned
14072
samr_dissect_element_SetBootKeyInformation_unknown2(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14073
0
{
14074
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown2, 0);
14075
14076
0
  return offset;
14077
0
}
14078
14079
static unsigned
14080
samr_dissect_element_SetBootKeyInformation_unknown3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14081
0
{
14082
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown3, 0);
14083
14084
0
  return offset;
14085
0
}
14086
14087
/* IDL: NTSTATUS samr_SetBootKeyInformation( */
14088
/* IDL: [in] [ref] policy_handle *connect_handle, */
14089
/* IDL: [in] uint32 unknown1, */
14090
/* IDL: [in] uint32 unknown2, */
14091
/* IDL: [in] uint32 unknown3 */
14092
/* IDL: ); */
14093
14094
static unsigned
14095
samr_dissect_SetBootKeyInformation_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14096
0
{
14097
0
  uint32_t status;
14098
14099
0
  di->dcerpc_procedure_name="SetBootKeyInformation";
14100
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14101
14102
0
  if (status != 0)
14103
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14104
14105
0
  return offset;
14106
0
}
14107
14108
static unsigned
14109
samr_dissect_SetBootKeyInformation_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14110
0
{
14111
0
  di->dcerpc_procedure_name="SetBootKeyInformation";
14112
0
  offset = samr_dissect_element_SetBootKeyInformation_connect_handle(tvb, offset, pinfo, tree, di, drep);
14113
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14114
0
  offset = samr_dissect_element_SetBootKeyInformation_unknown1(tvb, offset, pinfo, tree, di, drep);
14115
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14116
0
  offset = samr_dissect_element_SetBootKeyInformation_unknown2(tvb, offset, pinfo, tree, di, drep);
14117
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14118
0
  offset = samr_dissect_element_SetBootKeyInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
14119
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14120
0
  return offset;
14121
0
}
14122
14123
static unsigned
14124
samr_dissect_element_GetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14125
0
{
14126
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetBootKeyInformation_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14127
14128
0
  return offset;
14129
0
}
14130
14131
static unsigned
14132
samr_dissect_element_GetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14133
0
{
14134
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
14135
14136
0
  return offset;
14137
0
}
14138
14139
static unsigned
14140
samr_dissect_element_GetBootKeyInformation_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14141
0
{
14142
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetBootKeyInformation_unknown_, NDR_POINTER_REF, "Pointer to Unknown (uint32)",hf_samr_samr_GetBootKeyInformation_unknown);
14143
14144
0
  return offset;
14145
0
}
14146
14147
static unsigned
14148
samr_dissect_element_GetBootKeyInformation_unknown_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14149
0
{
14150
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetBootKeyInformation_unknown, 0);
14151
14152
0
  return offset;
14153
0
}
14154
14155
/* IDL: NTSTATUS samr_GetBootKeyInformation( */
14156
/* IDL: [in] [ref] policy_handle *connect_handle, */
14157
/* IDL: [out] [ref] uint32 *unknown */
14158
/* IDL: ); */
14159
14160
static unsigned
14161
samr_dissect_GetBootKeyInformation_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14162
0
{
14163
0
  uint32_t status;
14164
14165
0
  di->dcerpc_procedure_name="GetBootKeyInformation";
14166
0
  offset = samr_dissect_element_GetBootKeyInformation_unknown(tvb, offset, pinfo, tree, di, drep);
14167
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14168
14169
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14170
14171
0
  if (status != 0)
14172
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14173
14174
0
  return offset;
14175
0
}
14176
14177
static unsigned
14178
samr_dissect_GetBootKeyInformation_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14179
0
{
14180
0
  di->dcerpc_procedure_name="GetBootKeyInformation";
14181
0
  offset = samr_dissect_element_GetBootKeyInformation_connect_handle(tvb, offset, pinfo, tree, di, drep);
14182
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14183
0
  return offset;
14184
0
}
14185
14186
static unsigned
14187
samr_dissect_element_Connect3_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14188
0
{
14189
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect3_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect3_system_name);
14190
14191
0
  return offset;
14192
0
}
14193
14194
static unsigned
14195
samr_dissect_element_Connect3_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14196
0
{
14197
0
  char *data;
14198
14199
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect3_system_name, false, &data);
14200
0
  proto_item_append_text(tree, ": %s", data);
14201
14202
0
  return offset;
14203
0
}
14204
14205
static unsigned
14206
samr_dissect_element_Connect3_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14207
0
{
14208
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect3_unknown, 0);
14209
14210
0
  return offset;
14211
0
}
14212
14213
static unsigned
14214
samr_dissect_element_Connect3_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14215
0
{
14216
0
  offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14217
14218
0
  return offset;
14219
0
}
14220
14221
static unsigned
14222
samr_dissect_element_Connect3_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14223
0
{
14224
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect3_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14225
14226
0
  return offset;
14227
0
}
14228
14229
static unsigned
14230
samr_dissect_element_Connect3_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14231
0
{
14232
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14233
14234
0
  return offset;
14235
0
}
14236
14237
/* IDL: NTSTATUS samr_Connect3( */
14238
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14239
/* IDL: [in] uint32 unknown, */
14240
/* IDL: [in] samr_ConnectAccessMask access_mask, */
14241
/* IDL: [out] [ref] policy_handle *connect_handle */
14242
/* IDL: ); */
14243
14244
static unsigned
14245
samr_dissect_Connect3_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14246
0
{
14247
0
  uint32_t status;
14248
14249
0
  di->dcerpc_procedure_name="Connect3";
14250
0
  offset = samr_dissect_element_Connect3_connect_handle(tvb, offset, pinfo, tree, di, drep);
14251
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14252
14253
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14254
14255
0
  if (status != 0)
14256
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14257
14258
0
  return offset;
14259
0
}
14260
14261
static unsigned
14262
samr_dissect_Connect3_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14263
0
{
14264
0
  di->dcerpc_procedure_name="Connect3";
14265
0
  offset = samr_dissect_element_Connect3_system_name(tvb, offset, pinfo, tree, di, drep);
14266
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14267
0
  offset = samr_dissect_element_Connect3_unknown(tvb, offset, pinfo, tree, di, drep);
14268
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14269
0
  offset = samr_dissect_element_Connect3_access_mask(tvb, offset, pinfo, tree, di, drep);
14270
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14271
0
  return offset;
14272
0
}
14273
14274
static unsigned
14275
samr_dissect_element_Connect4_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14276
0
{
14277
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect4_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect4_system_name);
14278
14279
0
  return offset;
14280
0
}
14281
14282
static unsigned
14283
samr_dissect_element_Connect4_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14284
0
{
14285
0
  char *data;
14286
14287
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect4_system_name, false, &data);
14288
0
  proto_item_append_text(tree, ": %s", data);
14289
14290
0
  return offset;
14291
0
}
14292
14293
static unsigned
14294
samr_dissect_element_Connect4_client_version(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14295
0
{
14296
0
  offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect4_client_version, 0);
14297
14298
0
  return offset;
14299
0
}
14300
14301
static unsigned
14302
samr_dissect_element_Connect4_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14303
0
{
14304
0
  offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14305
14306
0
  return offset;
14307
0
}
14308
14309
static unsigned
14310
samr_dissect_element_Connect4_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14311
0
{
14312
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect4_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14313
14314
0
  return offset;
14315
0
}
14316
14317
static unsigned
14318
samr_dissect_element_Connect4_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14319
0
{
14320
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14321
14322
0
  return offset;
14323
0
}
14324
14325
/* IDL: NTSTATUS samr_Connect4( */
14326
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14327
/* IDL: [in] samr_ConnectVersion client_version, */
14328
/* IDL: [in] samr_ConnectAccessMask access_mask, */
14329
/* IDL: [out] [ref] policy_handle *connect_handle */
14330
/* IDL: ); */
14331
14332
static unsigned
14333
samr_dissect_Connect4_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14334
0
{
14335
0
  uint32_t status;
14336
14337
0
  di->dcerpc_procedure_name="Connect4";
14338
0
  offset = samr_dissect_element_Connect4_connect_handle(tvb, offset, pinfo, tree, di, drep);
14339
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14340
14341
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14342
14343
0
  if (status != 0)
14344
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14345
14346
0
  return offset;
14347
0
}
14348
14349
static unsigned
14350
samr_dissect_Connect4_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14351
0
{
14352
0
  di->dcerpc_procedure_name="Connect4";
14353
0
  offset = samr_dissect_element_Connect4_system_name(tvb, offset, pinfo, tree, di, drep);
14354
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14355
0
  offset = samr_dissect_element_Connect4_client_version(tvb, offset, pinfo, tree, di, drep);
14356
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14357
0
  offset = samr_dissect_element_Connect4_access_mask(tvb, offset, pinfo, tree, di, drep);
14358
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14359
0
  return offset;
14360
0
}
14361
14362
static unsigned
14363
samr_dissect_element_ChangePasswordUser3_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14364
0
{
14365
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser3_server);
14366
14367
0
  return offset;
14368
0
}
14369
14370
static unsigned
14371
samr_dissect_element_ChangePasswordUser3_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14372
0
{
14373
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_server);
14374
14375
0
  return offset;
14376
0
}
14377
14378
static unsigned
14379
samr_dissect_element_ChangePasswordUser3_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14380
0
{
14381
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser3_account);
14382
14383
0
  return offset;
14384
0
}
14385
14386
static unsigned
14387
samr_dissect_element_ChangePasswordUser3_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14388
0
{
14389
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_account);
14390
14391
0
  return offset;
14392
0
}
14393
14394
static unsigned
14395
samr_dissect_element_ChangePasswordUser3_nt_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14396
0
{
14397
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_nt_password_, NDR_POINTER_UNIQUE, "Pointer to Nt Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_nt_password);
14398
14399
0
  return offset;
14400
0
}
14401
14402
static unsigned
14403
samr_dissect_element_ChangePasswordUser3_nt_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14404
0
{
14405
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_password,0);
14406
14407
0
  return offset;
14408
0
}
14409
14410
static unsigned
14411
samr_dissect_element_ChangePasswordUser3_nt_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14412
0
{
14413
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_nt_verifier_, NDR_POINTER_UNIQUE, "Pointer to Nt Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser3_nt_verifier);
14414
14415
0
  return offset;
14416
0
}
14417
14418
static unsigned
14419
samr_dissect_element_ChangePasswordUser3_nt_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14420
0
{
14421
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_verifier,0);
14422
14423
0
  return offset;
14424
0
}
14425
14426
static unsigned
14427
samr_dissect_element_ChangePasswordUser3_lm_change(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14428
0
{
14429
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser3_lm_change, 0);
14430
14431
0
  return offset;
14432
0
}
14433
14434
static unsigned
14435
samr_dissect_element_ChangePasswordUser3_lm_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14436
0
{
14437
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_lm_password_, NDR_POINTER_UNIQUE, "Pointer to Lm Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_lm_password);
14438
14439
0
  return offset;
14440
0
}
14441
14442
static unsigned
14443
samr_dissect_element_ChangePasswordUser3_lm_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14444
0
{
14445
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_password,0);
14446
14447
0
  return offset;
14448
0
}
14449
14450
static unsigned
14451
samr_dissect_element_ChangePasswordUser3_lm_verifier(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14452
0
{
14453
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_lm_verifier_, NDR_POINTER_UNIQUE, "Pointer to Lm Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser3_lm_verifier);
14454
14455
0
  return offset;
14456
0
}
14457
14458
static unsigned
14459
samr_dissect_element_ChangePasswordUser3_lm_verifier_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14460
0
{
14461
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_verifier,0);
14462
14463
0
  return offset;
14464
0
}
14465
14466
static unsigned
14467
samr_dissect_element_ChangePasswordUser3_password3(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14468
0
{
14469
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_password3_, NDR_POINTER_UNIQUE, "Pointer to Password3 (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_password3);
14470
14471
0
  return offset;
14472
0
}
14473
14474
static unsigned
14475
samr_dissect_element_ChangePasswordUser3_password3_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14476
0
{
14477
0
  offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_password3,0);
14478
14479
0
  return offset;
14480
0
}
14481
14482
static unsigned
14483
samr_dissect_element_ChangePasswordUser3_dominfo(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14484
0
{
14485
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_dominfo_, NDR_POINTER_REF, "Pointer to Dominfo (samr_DomInfo1)",hf_samr_samr_ChangePasswordUser3_dominfo);
14486
14487
0
  return offset;
14488
0
}
14489
14490
static unsigned
14491
samr_dissect_element_ChangePasswordUser3_dominfo_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14492
0
{
14493
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_dominfo__, NDR_POINTER_UNIQUE, "Pointer to Dominfo (samr_DomInfo1)",hf_samr_samr_ChangePasswordUser3_dominfo);
14494
14495
0
  return offset;
14496
0
}
14497
14498
static unsigned
14499
samr_dissect_element_ChangePasswordUser3_dominfo__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14500
0
{
14501
0
  offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_dominfo,0);
14502
14503
0
  return offset;
14504
0
}
14505
14506
static unsigned
14507
samr_dissect_element_ChangePasswordUser3_reject(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14508
0
{
14509
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject_, NDR_POINTER_REF, "Pointer to Reject (userPwdChangeFailureInformation)",hf_samr_samr_ChangePasswordUser3_reject);
14510
14511
0
  return offset;
14512
0
}
14513
14514
static unsigned
14515
samr_dissect_element_ChangePasswordUser3_reject_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14516
0
{
14517
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject__, NDR_POINTER_UNIQUE, "Pointer to Reject (userPwdChangeFailureInformation)",hf_samr_samr_ChangePasswordUser3_reject);
14518
14519
0
  return offset;
14520
0
}
14521
14522
static unsigned
14523
samr_dissect_element_ChangePasswordUser3_reject__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14524
0
{
14525
0
  offset = samr_dissect_struct_userPwdChangeFailureInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_reject,0);
14526
14527
0
  return offset;
14528
0
}
14529
14530
/* IDL: NTSTATUS samr_ChangePasswordUser3( */
14531
/* IDL: [in] [unique(1)] lsa_String *server, */
14532
/* IDL: [in] [ref] lsa_String *account, */
14533
/* IDL: [in] [unique(1)] samr_CryptPassword *nt_password, */
14534
/* IDL: [in] [unique(1)] samr_Password *nt_verifier, */
14535
/* IDL: [in] uint8 lm_change, */
14536
/* IDL: [in] [unique(1)] samr_CryptPassword *lm_password, */
14537
/* IDL: [in] [unique(1)] samr_Password *lm_verifier, */
14538
/* IDL: [in] [unique(1)] samr_CryptPassword *password3, */
14539
/* IDL: [out] [ref] samr_DomInfo1 **dominfo, */
14540
/* IDL: [out] [ref] userPwdChangeFailureInformation **reject */
14541
/* IDL: ); */
14542
14543
static unsigned
14544
samr_dissect_ChangePasswordUser3_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14545
0
{
14546
0
  uint32_t status;
14547
14548
0
  di->dcerpc_procedure_name="ChangePasswordUser3";
14549
0
  offset = samr_dissect_element_ChangePasswordUser3_dominfo(tvb, offset, pinfo, tree, di, drep);
14550
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14551
14552
0
  offset = samr_dissect_element_ChangePasswordUser3_reject(tvb, offset, pinfo, tree, di, drep);
14553
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14554
14555
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14556
14557
0
  if (status != 0)
14558
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14559
14560
0
  return offset;
14561
0
}
14562
14563
static unsigned
14564
samr_dissect_ChangePasswordUser3_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14565
0
{
14566
0
  di->dcerpc_procedure_name="ChangePasswordUser3";
14567
0
  offset = samr_dissect_element_ChangePasswordUser3_server(tvb, offset, pinfo, tree, di, drep);
14568
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14569
0
  offset = samr_dissect_element_ChangePasswordUser3_account(tvb, offset, pinfo, tree, di, drep);
14570
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14571
0
  offset = samr_dissect_element_ChangePasswordUser3_nt_password(tvb, offset, pinfo, tree, di, drep);
14572
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14573
0
  offset = samr_dissect_element_ChangePasswordUser3_nt_verifier(tvb, offset, pinfo, tree, di, drep);
14574
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14575
0
  offset = samr_dissect_element_ChangePasswordUser3_lm_change(tvb, offset, pinfo, tree, di, drep);
14576
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14577
0
  offset = samr_dissect_element_ChangePasswordUser3_lm_password(tvb, offset, pinfo, tree, di, drep);
14578
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14579
0
  offset = samr_dissect_element_ChangePasswordUser3_lm_verifier(tvb, offset, pinfo, tree, di, drep);
14580
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14581
0
  offset = samr_dissect_element_ChangePasswordUser3_password3(tvb, offset, pinfo, tree, di, drep);
14582
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14583
0
  return offset;
14584
0
}
14585
14586
static unsigned
14587
samr_dissect_element_Connect5_system_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14588
0
{
14589
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect5_system_name);
14590
14591
0
  return offset;
14592
0
}
14593
14594
static unsigned
14595
samr_dissect_element_Connect5_system_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14596
0
{
14597
0
  char *data;
14598
14599
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect5_system_name, false, &data);
14600
0
  proto_item_append_text(tree, ": %s", data);
14601
14602
0
  return offset;
14603
0
}
14604
14605
static unsigned
14606
samr_dissect_element_Connect5_access_mask(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14607
0
{
14608
0
  offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14609
14610
0
  return offset;
14611
0
}
14612
14613
static unsigned
14614
samr_dissect_element_Connect5_level_in(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14615
0
{
14616
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_in, 0);
14617
14618
0
  return offset;
14619
0
}
14620
14621
static unsigned
14622
samr_dissect_element_Connect5_info_in(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14623
0
{
14624
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_info_in_, NDR_POINTER_REF, "Pointer to Info In (samr_ConnectInfo)",hf_samr_samr_Connect5_info_in);
14625
14626
0
  return offset;
14627
0
}
14628
14629
static unsigned
14630
samr_dissect_element_Connect5_info_in_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14631
0
{
14632
0
  offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_in, 0);
14633
14634
0
  return offset;
14635
0
}
14636
14637
static unsigned
14638
samr_dissect_element_Connect5_level_out(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14639
0
{
14640
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_level_out_, NDR_POINTER_REF, "Pointer to Level Out (uint32)",hf_samr_samr_Connect5_level_out);
14641
14642
0
  return offset;
14643
0
}
14644
14645
static unsigned
14646
samr_dissect_element_Connect5_level_out_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14647
0
{
14648
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_out, 0);
14649
14650
0
  return offset;
14651
0
}
14652
14653
static unsigned
14654
samr_dissect_element_Connect5_info_out(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14655
0
{
14656
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_info_out_, NDR_POINTER_REF, "Pointer to Info Out (samr_ConnectInfo)",hf_samr_samr_Connect5_info_out);
14657
14658
0
  return offset;
14659
0
}
14660
14661
static unsigned
14662
samr_dissect_element_Connect5_info_out_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14663
0
{
14664
0
  offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_out, 0);
14665
14666
0
  return offset;
14667
0
}
14668
14669
static unsigned
14670
samr_dissect_element_Connect5_connect_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14671
0
{
14672
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14673
14674
0
  return offset;
14675
0
}
14676
14677
static unsigned
14678
samr_dissect_element_Connect5_connect_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14679
0
{
14680
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14681
14682
0
  return offset;
14683
0
}
14684
14685
/* IDL: NTSTATUS samr_Connect5( */
14686
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14687
/* IDL: [in] samr_ConnectAccessMask access_mask, */
14688
/* IDL: [in] uint32 level_in, */
14689
/* IDL: [in] [ref] [switch_is(level_in)] samr_ConnectInfo *info_in, */
14690
/* IDL: [out] [ref] uint32 *level_out, */
14691
/* IDL: [out] [ref] [switch_is(*level_out)] samr_ConnectInfo *info_out, */
14692
/* IDL: [out] [ref] policy_handle *connect_handle */
14693
/* IDL: ); */
14694
14695
static unsigned
14696
samr_dissect_Connect5_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14697
0
{
14698
0
  uint32_t status;
14699
14700
0
  di->dcerpc_procedure_name="Connect5";
14701
0
  offset = samr_dissect_element_Connect5_level_out(tvb, offset, pinfo, tree, di, drep);
14702
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14703
14704
0
  offset = samr_dissect_element_Connect5_info_out(tvb, offset, pinfo, tree, di, drep);
14705
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14706
14707
0
  offset = samr_dissect_element_Connect5_connect_handle(tvb, offset, pinfo, tree, di, drep);
14708
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14709
14710
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14711
14712
0
  if (status != 0)
14713
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14714
14715
0
  return offset;
14716
0
}
14717
14718
static unsigned
14719
samr_dissect_Connect5_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14720
0
{
14721
0
  di->dcerpc_procedure_name="Connect5";
14722
0
  offset = samr_dissect_element_Connect5_system_name(tvb, offset, pinfo, tree, di, drep);
14723
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14724
0
  offset = samr_dissect_element_Connect5_access_mask(tvb, offset, pinfo, tree, di, drep);
14725
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14726
0
  offset = samr_dissect_element_Connect5_level_in(tvb, offset, pinfo, tree, di, drep);
14727
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14728
0
  offset = samr_dissect_element_Connect5_info_in(tvb, offset, pinfo, tree, di, drep);
14729
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14730
0
  return offset;
14731
0
}
14732
14733
static unsigned
14734
samr_dissect_element_RidToSid_domain_handle(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14735
0
{
14736
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
14737
14738
0
  return offset;
14739
0
}
14740
14741
static unsigned
14742
samr_dissect_element_RidToSid_domain_handle_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14743
0
{
14744
0
  offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
14745
14746
0
  return offset;
14747
0
}
14748
14749
static unsigned
14750
samr_dissect_element_RidToSid_rid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14751
0
{
14752
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
14753
14754
0
  return offset;
14755
0
}
14756
14757
static unsigned
14758
samr_dissect_element_RidToSid_sid(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14759
0
{
14760
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_RidToSid_sid);
14761
14762
0
  return offset;
14763
0
}
14764
14765
static unsigned
14766
samr_dissect_element_RidToSid_sid_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14767
0
{
14768
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_sid__, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_samr_samr_RidToSid_sid);
14769
14770
0
  return offset;
14771
0
}
14772
14773
static unsigned
14774
samr_dissect_element_RidToSid_sid__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14775
0
{
14776
0
  offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
14777
14778
0
  return offset;
14779
0
}
14780
14781
/* IDL: NTSTATUS samr_RidToSid( */
14782
/* IDL: [in] [ref] policy_handle *domain_handle, */
14783
/* IDL: [in] uint32 rid, */
14784
/* IDL: [out] [ref] dom_sid2 **sid */
14785
/* IDL: ); */
14786
14787
static unsigned
14788
samr_dissect_RidToSid_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14789
0
{
14790
0
  uint32_t status;
14791
14792
0
  di->dcerpc_procedure_name="RidToSid";
14793
0
  offset = samr_dissect_element_RidToSid_sid(tvb, offset, pinfo, tree, di, drep);
14794
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14795
14796
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14797
14798
0
  if (status != 0)
14799
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14800
14801
0
  return offset;
14802
0
}
14803
14804
static unsigned
14805
samr_dissect_RidToSid_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14806
0
{
14807
0
  di->dcerpc_procedure_name="RidToSid";
14808
0
  offset = samr_dissect_element_RidToSid_domain_handle(tvb, offset, pinfo, tree, di, drep);
14809
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14810
0
  offset = samr_dissect_element_RidToSid_rid(tvb, offset, pinfo, tree, di, drep);
14811
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14812
0
  return offset;
14813
0
}
14814
14815
static unsigned
14816
samr_dissect_element_SetDsrmPassword_name(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14817
0
{
14818
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDsrmPassword_name_, NDR_POINTER_UNIQUE, "Pointer to Name (lsa_String)",hf_samr_samr_SetDsrmPassword_name);
14819
14820
0
  return offset;
14821
0
}
14822
14823
static unsigned
14824
samr_dissect_element_SetDsrmPassword_name_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14825
0
{
14826
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SetDsrmPassword_name);
14827
14828
0
  return offset;
14829
0
}
14830
14831
static unsigned
14832
samr_dissect_element_SetDsrmPassword_unknown(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14833
0
{
14834
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDsrmPassword_unknown, 0);
14835
14836
0
  return offset;
14837
0
}
14838
14839
static unsigned
14840
samr_dissect_element_SetDsrmPassword_hash(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14841
0
{
14842
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDsrmPassword_hash_, NDR_POINTER_UNIQUE, "Pointer to Hash (samr_Password)",hf_samr_samr_SetDsrmPassword_hash);
14843
14844
0
  return offset;
14845
0
}
14846
14847
static unsigned
14848
samr_dissect_element_SetDsrmPassword_hash_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14849
0
{
14850
0
  offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SetDsrmPassword_hash,0);
14851
14852
0
  return offset;
14853
0
}
14854
14855
/* IDL: NTSTATUS samr_SetDsrmPassword( */
14856
/* IDL: [in] [unique(1)] lsa_String *name, */
14857
/* IDL: [in] uint32 unknown, */
14858
/* IDL: [in] [unique(1)] samr_Password *hash */
14859
/* IDL: ); */
14860
14861
static unsigned
14862
samr_dissect_SetDsrmPassword_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14863
0
{
14864
0
  uint32_t status;
14865
14866
0
  di->dcerpc_procedure_name="SetDsrmPassword";
14867
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14868
14869
0
  if (status != 0)
14870
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14871
14872
0
  return offset;
14873
0
}
14874
14875
static unsigned
14876
samr_dissect_SetDsrmPassword_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14877
0
{
14878
0
  di->dcerpc_procedure_name="SetDsrmPassword";
14879
0
  offset = samr_dissect_element_SetDsrmPassword_name(tvb, offset, pinfo, tree, di, drep);
14880
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14881
0
  offset = samr_dissect_element_SetDsrmPassword_unknown(tvb, offset, pinfo, tree, di, drep);
14882
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14883
0
  offset = samr_dissect_element_SetDsrmPassword_hash(tvb, offset, pinfo, tree, di, drep);
14884
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14885
0
  return offset;
14886
0
}
14887
14888
static unsigned
14889
samr_dissect_element_ValidatePassword_level(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14890
0
{
14891
0
  offset = samr_dissect_enum_ValidatePasswordLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_level, 0);
14892
14893
0
  return offset;
14894
0
}
14895
14896
static unsigned
14897
samr_dissect_element_ValidatePassword_req(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14898
0
{
14899
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_req_, NDR_POINTER_REF, "Pointer to Req (samr_ValidatePasswordReq)",hf_samr_samr_ValidatePassword_req);
14900
14901
0
  return offset;
14902
0
}
14903
14904
static unsigned
14905
samr_dissect_element_ValidatePassword_req_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14906
0
{
14907
0
  offset = samr_dissect_ValidatePasswordReq(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_req, 0);
14908
14909
0
  return offset;
14910
0
}
14911
14912
static unsigned
14913
samr_dissect_element_ValidatePassword_rep(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14914
0
{
14915
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_rep_, NDR_POINTER_REF, "Pointer to Rep (samr_ValidatePasswordRep)",hf_samr_samr_ValidatePassword_rep);
14916
14917
0
  return offset;
14918
0
}
14919
14920
static unsigned
14921
samr_dissect_element_ValidatePassword_rep_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14922
0
{
14923
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_rep__, NDR_POINTER_UNIQUE, "Pointer to Rep (samr_ValidatePasswordRep)",hf_samr_samr_ValidatePassword_rep);
14924
14925
0
  return offset;
14926
0
}
14927
14928
static unsigned
14929
samr_dissect_element_ValidatePassword_rep__(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14930
0
{
14931
0
  offset = samr_dissect_ValidatePasswordRep(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_rep, 0);
14932
14933
0
  return offset;
14934
0
}
14935
14936
/* IDL: NTSTATUS samr_ValidatePassword( */
14937
/* IDL: [in] samr_ValidatePasswordLevel level, */
14938
/* IDL: [in] [ref] [switch_is(level)] samr_ValidatePasswordReq *req, */
14939
/* IDL: [out] [ref] [switch_is(level)] samr_ValidatePasswordRep **rep */
14940
/* IDL: ); */
14941
14942
static unsigned
14943
samr_dissect_ValidatePassword_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14944
0
{
14945
0
  uint32_t status;
14946
14947
0
  di->dcerpc_procedure_name="ValidatePassword";
14948
0
  offset = samr_dissect_element_ValidatePassword_rep(tvb, offset, pinfo, tree, di, drep);
14949
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14950
14951
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14952
14953
0
  if (status != 0)
14954
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14955
14956
0
  return offset;
14957
0
}
14958
14959
static unsigned
14960
samr_dissect_ValidatePassword_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14961
0
{
14962
0
  di->dcerpc_procedure_name="ValidatePassword";
14963
0
  offset = samr_dissect_element_ValidatePassword_level(tvb, offset, pinfo, tree, di, drep);
14964
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14965
0
  offset = samr_dissect_element_ValidatePassword_req(tvb, offset, pinfo, tree, di, drep);
14966
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14967
0
  return offset;
14968
0
}
14969
14970
/* IDL: void samr_Opnum68NotUsedOnWire( */
14971
/* IDL:  */
14972
/* IDL: ); */
14973
14974
static unsigned
14975
samr_dissect_Opnum68NotUsedOnWire_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14976
0
{
14977
0
  di->dcerpc_procedure_name="Opnum68NotUsedOnWire";
14978
0
  return offset;
14979
0
}
14980
14981
static unsigned
14982
samr_dissect_Opnum68NotUsedOnWire_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14983
0
{
14984
0
  di->dcerpc_procedure_name="Opnum68NotUsedOnWire";
14985
0
  return offset;
14986
0
}
14987
14988
/* IDL: void samr_Opnum69NotUsedOnWire( */
14989
/* IDL:  */
14990
/* IDL: ); */
14991
14992
static unsigned
14993
samr_dissect_Opnum69NotUsedOnWire_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14994
0
{
14995
0
  di->dcerpc_procedure_name="Opnum69NotUsedOnWire";
14996
0
  return offset;
14997
0
}
14998
14999
static unsigned
15000
samr_dissect_Opnum69NotUsedOnWire_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15001
0
{
15002
0
  di->dcerpc_procedure_name="Opnum69NotUsedOnWire";
15003
0
  return offset;
15004
0
}
15005
15006
/* IDL: void samr_Opnum70NotUsedOnWire( */
15007
/* IDL:  */
15008
/* IDL: ); */
15009
15010
static unsigned
15011
samr_dissect_Opnum70NotUsedOnWire_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15012
0
{
15013
0
  di->dcerpc_procedure_name="Opnum70NotUsedOnWire";
15014
0
  return offset;
15015
0
}
15016
15017
static unsigned
15018
samr_dissect_Opnum70NotUsedOnWire_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15019
0
{
15020
0
  di->dcerpc_procedure_name="Opnum70NotUsedOnWire";
15021
0
  return offset;
15022
0
}
15023
15024
/* IDL: void samr_Opnum71NotUsedOnWire( */
15025
/* IDL:  */
15026
/* IDL: ); */
15027
15028
static unsigned
15029
samr_dissect_Opnum71NotUsedOnWire_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15030
0
{
15031
0
  di->dcerpc_procedure_name="Opnum71NotUsedOnWire";
15032
0
  return offset;
15033
0
}
15034
15035
static unsigned
15036
samr_dissect_Opnum71NotUsedOnWire_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15037
0
{
15038
0
  di->dcerpc_procedure_name="Opnum71NotUsedOnWire";
15039
0
  return offset;
15040
0
}
15041
15042
/* IDL: void samr_Opnum72NotUsedOnWire( */
15043
/* IDL:  */
15044
/* IDL: ); */
15045
15046
static unsigned
15047
samr_dissect_Opnum72NotUsedOnWire_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15048
0
{
15049
0
  di->dcerpc_procedure_name="Opnum72NotUsedOnWire";
15050
0
  return offset;
15051
0
}
15052
15053
static unsigned
15054
samr_dissect_Opnum72NotUsedOnWire_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15055
0
{
15056
0
  di->dcerpc_procedure_name="Opnum72NotUsedOnWire";
15057
0
  return offset;
15058
0
}
15059
15060
static unsigned
15061
samr_dissect_element_ChangePasswordUser4_server(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15062
0
{
15063
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser4_server);
15064
15065
0
  return offset;
15066
0
}
15067
15068
static unsigned
15069
samr_dissect_element_ChangePasswordUser4_server_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15070
0
{
15071
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser4_server);
15072
15073
0
  return offset;
15074
0
}
15075
15076
static unsigned
15077
samr_dissect_element_ChangePasswordUser4_account(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15078
0
{
15079
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser4_account);
15080
15081
0
  return offset;
15082
0
}
15083
15084
static unsigned
15085
samr_dissect_element_ChangePasswordUser4_account_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15086
0
{
15087
0
  offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser4_account);
15088
15089
0
  return offset;
15090
0
}
15091
15092
static unsigned
15093
samr_dissect_element_ChangePasswordUser4_password(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15094
0
{
15095
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_password_, NDR_POINTER_REF, "Pointer to Password (samr_EncryptedPasswordAES)",hf_samr_samr_ChangePasswordUser4_password);
15096
15097
0
  return offset;
15098
0
}
15099
15100
static unsigned
15101
samr_dissect_element_ChangePasswordUser4_password_(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15102
0
{
15103
0
  offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser4_password,0);
15104
15105
0
  return offset;
15106
0
}
15107
15108
/* IDL: NTSTATUS samr_ChangePasswordUser4( */
15109
/* IDL: [in] [unique(1)] lsa_String *server, */
15110
/* IDL: [in] [ref] lsa_String *account, */
15111
/* IDL: [in] [ref] samr_EncryptedPasswordAES *password */
15112
/* IDL: ); */
15113
15114
static unsigned
15115
samr_dissect_ChangePasswordUser4_response(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15116
0
{
15117
0
  uint32_t status;
15118
15119
0
  di->dcerpc_procedure_name="ChangePasswordUser4";
15120
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
15121
15122
0
  if (status != 0)
15123
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));
15124
15125
0
  return offset;
15126
0
}
15127
15128
static unsigned
15129
samr_dissect_ChangePasswordUser4_request(tvbuff_t *tvb _U_, unsigned offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15130
0
{
15131
0
  di->dcerpc_procedure_name="ChangePasswordUser4";
15132
0
  offset = samr_dissect_element_ChangePasswordUser4_server(tvb, offset, pinfo, tree, di, drep);
15133
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15134
0
  offset = samr_dissect_element_ChangePasswordUser4_account(tvb, offset, pinfo, tree, di, drep);
15135
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15136
0
  offset = samr_dissect_element_ChangePasswordUser4_password(tvb, offset, pinfo, tree, di, drep);
15137
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15138
0
  return offset;
15139
0
}
15140
15141
15142
static const dcerpc_sub_dissector samr_dissectors[] = {
15143
  { 0, "Connect",
15144
     samr_dissect_Connect_request, samr_dissect_Connect_response},
15145
  { 1, "Close",
15146
     samr_dissect_Close_request, samr_dissect_Close_response},
15147
  { 2, "SetSecurity",
15148
     samr_dissect_SetSecurity_request, samr_dissect_SetSecurity_response},
15149
  { 3, "QuerySecurity",
15150
     samr_dissect_QuerySecurity_request, samr_dissect_QuerySecurity_response},
15151
  { 4, "Shutdown",
15152
     samr_dissect_Shutdown_request, samr_dissect_Shutdown_response},
15153
  { 5, "LookupDomain",
15154
     samr_dissect_LookupDomain_request, samr_dissect_LookupDomain_response},
15155
  { 6, "EnumDomains",
15156
     samr_dissect_EnumDomains_request, samr_dissect_EnumDomains_response},
15157
  { 7, "OpenDomain",
15158
     samr_dissect_OpenDomain_request, samr_dissect_OpenDomain_response},
15159
  { 8, "QueryDomainInfo",
15160
     samr_dissect_QueryDomainInfo_request, samr_dissect_QueryDomainInfo_response},
15161
  { 9, "SetDomainInfo",
15162
     samr_dissect_SetDomainInfo_request, samr_dissect_SetDomainInfo_response},
15163
  { 10, "CreateDomainGroup",
15164
     samr_dissect_CreateDomainGroup_request, samr_dissect_CreateDomainGroup_response},
15165
  { 11, "EnumDomainGroups",
15166
     samr_dissect_EnumDomainGroups_request, samr_dissect_EnumDomainGroups_response},
15167
  { 12, "CreateUser",
15168
     samr_dissect_CreateUser_request, samr_dissect_CreateUser_response},
15169
  { 13, "EnumDomainUsers",
15170
     samr_dissect_EnumDomainUsers_request, samr_dissect_EnumDomainUsers_response},
15171
  { 14, "CreateDomAlias",
15172
     samr_dissect_CreateDomAlias_request, samr_dissect_CreateDomAlias_response},
15173
  { 15, "EnumDomainAliases",
15174
     samr_dissect_EnumDomainAliases_request, samr_dissect_EnumDomainAliases_response},
15175
  { 16, "GetAliasMembership",
15176
     samr_dissect_GetAliasMembership_request, samr_dissect_GetAliasMembership_response},
15177
  { 17, "LookupNames",
15178
     samr_dissect_LookupNames_request, samr_dissect_LookupNames_response},
15179
  { 18, "LookupRids",
15180
     samr_dissect_LookupRids_request, samr_dissect_LookupRids_response},
15181
  { 19, "OpenGroup",
15182
     samr_dissect_OpenGroup_request, samr_dissect_OpenGroup_response},
15183
  { 20, "QueryGroupInfo",
15184
     samr_dissect_QueryGroupInfo_request, samr_dissect_QueryGroupInfo_response},
15185
  { 21, "SetGroupInfo",
15186
     samr_dissect_SetGroupInfo_request, samr_dissect_SetGroupInfo_response},
15187
  { 22, "AddGroupMember",
15188
     samr_dissect_AddGroupMember_request, samr_dissect_AddGroupMember_response},
15189
  { 23, "DeleteDomainGroup",
15190
     samr_dissect_DeleteDomainGroup_request, samr_dissect_DeleteDomainGroup_response},
15191
  { 24, "DeleteGroupMember",
15192
     samr_dissect_DeleteGroupMember_request, samr_dissect_DeleteGroupMember_response},
15193
  { 25, "QueryGroupMember",
15194
     samr_dissect_QueryGroupMember_request, samr_dissect_QueryGroupMember_response},
15195
  { 26, "SetMemberAttributesOfGroup",
15196
     samr_dissect_SetMemberAttributesOfGroup_request, samr_dissect_SetMemberAttributesOfGroup_response},
15197
  { 27, "OpenAlias",
15198
     samr_dissect_OpenAlias_request, samr_dissect_OpenAlias_response},
15199
  { 28, "QueryAliasInfo",
15200
     samr_dissect_QueryAliasInfo_request, samr_dissect_QueryAliasInfo_response},
15201
  { 29, "SetAliasInfo",
15202
     samr_dissect_SetAliasInfo_request, samr_dissect_SetAliasInfo_response},
15203
  { 30, "DeleteDomAlias",
15204
     samr_dissect_DeleteDomAlias_request, samr_dissect_DeleteDomAlias_response},
15205
  { 31, "AddAliasMember",
15206
     samr_dissect_AddAliasMember_request, samr_dissect_AddAliasMember_response},
15207
  { 32, "DeleteAliasMember",
15208
     samr_dissect_DeleteAliasMember_request, samr_dissect_DeleteAliasMember_response},
15209
  { 33, "GetMembersInAlias",
15210
     samr_dissect_GetMembersInAlias_request, samr_dissect_GetMembersInAlias_response},
15211
  { 34, "OpenUser",
15212
     samr_dissect_OpenUser_request, samr_dissect_OpenUser_response},
15213
  { 35, "DeleteUser",
15214
     samr_dissect_DeleteUser_request, samr_dissect_DeleteUser_response},
15215
  { 36, "QueryUserInfo",
15216
     samr_dissect_QueryUserInfo_request, samr_dissect_QueryUserInfo_response},
15217
  { 37, "SetUserInfo",
15218
     samr_dissect_SetUserInfo_request, samr_dissect_SetUserInfo_response},
15219
  { 38, "ChangePasswordUser",
15220
     samr_dissect_ChangePasswordUser_request, samr_dissect_ChangePasswordUser_response},
15221
  { 39, "GetGroupsForUser",
15222
     samr_dissect_GetGroupsForUser_request, samr_dissect_GetGroupsForUser_response},
15223
  { 40, "QueryDisplayInfo",
15224
     samr_dissect_QueryDisplayInfo_request, samr_dissect_QueryDisplayInfo_response},
15225
  { 41, "GetDisplayEnumerationIndex",
15226
     samr_dissect_GetDisplayEnumerationIndex_request, samr_dissect_GetDisplayEnumerationIndex_response},
15227
  { 42, "TestPrivateFunctionsDomain",
15228
     samr_dissect_TestPrivateFunctionsDomain_request, samr_dissect_TestPrivateFunctionsDomain_response},
15229
  { 43, "TestPrivateFunctionsUser",
15230
     samr_dissect_TestPrivateFunctionsUser_request, samr_dissect_TestPrivateFunctionsUser_response},
15231
  { 44, "GetUserPwInfo",
15232
     samr_dissect_GetUserPwInfo_request, samr_dissect_GetUserPwInfo_response},
15233
  { 45, "RemoveMemberFromForeignDomain",
15234
     samr_dissect_RemoveMemberFromForeignDomain_request, samr_dissect_RemoveMemberFromForeignDomain_response},
15235
  { 46, "QueryDomainInfo2",
15236
     samr_dissect_QueryDomainInfo2_request, samr_dissect_QueryDomainInfo2_response},
15237
  { 47, "QueryUserInfo2",
15238
     samr_dissect_QueryUserInfo2_request, samr_dissect_QueryUserInfo2_response},
15239
  { 48, "QueryDisplayInfo2",
15240
     samr_dissect_QueryDisplayInfo2_request, samr_dissect_QueryDisplayInfo2_response},
15241
  { 49, "GetDisplayEnumerationIndex2",
15242
     samr_dissect_GetDisplayEnumerationIndex2_request, samr_dissect_GetDisplayEnumerationIndex2_response},
15243
  { 50, "CreateUser2",
15244
     samr_dissect_CreateUser2_request, samr_dissect_CreateUser2_response},
15245
  { 51, "QueryDisplayInfo3",
15246
     samr_dissect_QueryDisplayInfo3_request, samr_dissect_QueryDisplayInfo3_response},
15247
  { 52, "AddMultipleMembersToAlias",
15248
     samr_dissect_AddMultipleMembersToAlias_request, samr_dissect_AddMultipleMembersToAlias_response},
15249
  { 53, "RemoveMultipleMembersFromAlias",
15250
     samr_dissect_RemoveMultipleMembersFromAlias_request, samr_dissect_RemoveMultipleMembersFromAlias_response},
15251
  { 54, "OemChangePasswordUser2",
15252
     samr_dissect_OemChangePasswordUser2_request, samr_dissect_OemChangePasswordUser2_response},
15253
  { 55, "ChangePasswordUser2",
15254
     samr_dissect_ChangePasswordUser2_request, samr_dissect_ChangePasswordUser2_response},
15255
  { 56, "GetDomPwInfo",
15256
     samr_dissect_GetDomPwInfo_request, samr_dissect_GetDomPwInfo_response},
15257
  { 57, "Connect2",
15258
     samr_dissect_Connect2_request, samr_dissect_Connect2_response},
15259
  { 58, "SetUserInfo2",
15260
     samr_dissect_SetUserInfo2_request, samr_dissect_SetUserInfo2_response},
15261
  { 59, "SetBootKeyInformation",
15262
     samr_dissect_SetBootKeyInformation_request, samr_dissect_SetBootKeyInformation_response},
15263
  { 60, "GetBootKeyInformation",
15264
     samr_dissect_GetBootKeyInformation_request, samr_dissect_GetBootKeyInformation_response},
15265
  { 61, "Connect3",
15266
     samr_dissect_Connect3_request, samr_dissect_Connect3_response},
15267
  { 62, "Connect4",
15268
     samr_dissect_Connect4_request, samr_dissect_Connect4_response},
15269
  { 63, "ChangePasswordUser3",
15270
     samr_dissect_ChangePasswordUser3_request, samr_dissect_ChangePasswordUser3_response},
15271
  { 64, "Connect5",
15272
     samr_dissect_Connect5_request, samr_dissect_Connect5_response},
15273
  { 65, "RidToSid",
15274
     samr_dissect_RidToSid_request, samr_dissect_RidToSid_response},
15275
  { 66, "SetDsrmPassword",
15276
     samr_dissect_SetDsrmPassword_request, samr_dissect_SetDsrmPassword_response},
15277
  { 67, "ValidatePassword",
15278
     samr_dissect_ValidatePassword_request, samr_dissect_ValidatePassword_response},
15279
  { 68, "Opnum68NotUsedOnWire",
15280
     samr_dissect_Opnum68NotUsedOnWire_request, samr_dissect_Opnum68NotUsedOnWire_response},
15281
  { 69, "Opnum69NotUsedOnWire",
15282
     samr_dissect_Opnum69NotUsedOnWire_request, samr_dissect_Opnum69NotUsedOnWire_response},
15283
  { 70, "Opnum70NotUsedOnWire",
15284
     samr_dissect_Opnum70NotUsedOnWire_request, samr_dissect_Opnum70NotUsedOnWire_response},
15285
  { 71, "Opnum71NotUsedOnWire",
15286
     samr_dissect_Opnum71NotUsedOnWire_request, samr_dissect_Opnum71NotUsedOnWire_response},
15287
  { 72, "Opnum72NotUsedOnWire",
15288
     samr_dissect_Opnum72NotUsedOnWire_request, samr_dissect_Opnum72NotUsedOnWire_response},
15289
  { 73, "ChangePasswordUser4",
15290
     samr_dissect_ChangePasswordUser4_request, samr_dissect_ChangePasswordUser4_response},
15291
  { 0, NULL, NULL, NULL }
15292
};
15293
15294
void proto_register_dcerpc_samr(void)
15295
15
{
15296
15
  static hf_register_info hf[] = {
15297
15
  { &hf_samr_alias_access_mask,
15298
15
    { "Access Mask", "samr.alias.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15299
15
  { &hf_samr_alias_handle,
15300
15
    { "Alias Handle", "samr.alias_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15301
15
  { &hf_samr_connect_access_mask,
15302
15
    { "Access Mask", "samr.connect.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15303
15
  { &hf_samr_connect_handle,
15304
15
    { "Connect Handle", "samr.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15305
15
  { &hf_samr_domain_access_mask,
15306
15
    { "Access Mask", "samr.domain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15307
15
  { &hf_samr_domain_handle,
15308
15
    { "Domain Handle", "samr.domain_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15309
15
  { &hf_samr_group_access_mask,
15310
15
    { "Access Mask", "samr.group.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15311
15
  { &hf_samr_group_handle,
15312
15
    { "Group Handle", "samr.group_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15313
15
  { &hf_samr_handle,
15314
15
    { "Handle", "samr.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15315
15
  { &hf_samr_lsa_Strings_count,
15316
15
    { "Count", "samr.lsa_Strings.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15317
15
  { &hf_samr_lsa_Strings_names,
15318
15
    { "Names", "samr.lsa_Strings.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15319
15
  { &hf_samr_opnum,
15320
15
    { "Operation", "samr.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15321
15
  { &hf_samr_rid,
15322
15
    { "RID", "samr.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15323
15
  { &hf_samr_samr_AcctFlags_ACB_AUTOLOCK,
15324
15
    { "ACB AUTOLOCK", "samr.samr_AcctFlags.ACB_AUTOLOCK", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_AUTOLOCK_tfs), ( 0x00000400 ), NULL, HFILL }},
15325
15
  { &hf_samr_samr_AcctFlags_ACB_DISABLED,
15326
15
    { "ACB DISABLED", "samr.samr_AcctFlags.ACB_DISABLED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DISABLED_tfs), ( 0x00000001 ), NULL, HFILL }},
15327
15
  { &hf_samr_samr_AcctFlags_ACB_DOMTRUST,
15328
15
    { "ACB DOMTRUST", "samr.samr_AcctFlags.ACB_DOMTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DOMTRUST_tfs), ( 0x00000040 ), NULL, HFILL }},
15329
15
  { &hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH,
15330
15
    { "ACB DONT REQUIRE PREAUTH", "samr.samr_AcctFlags.ACB_DONT_REQUIRE_PREAUTH", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH_tfs), ( 0x00010000 ), NULL, HFILL }},
15331
15
  { &hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED,
15332
15
    { "ACB ENC TXT PWD ALLOWED", "samr.samr_AcctFlags.ACB_ENC_TXT_PWD_ALLOWED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED_tfs), ( 0x00000800 ), NULL, HFILL }},
15333
15
  { &hf_samr_samr_AcctFlags_ACB_HOMDIRREQ,
15334
15
    { "ACB HOMDIRREQ", "samr.samr_AcctFlags.ACB_HOMDIRREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_HOMDIRREQ_tfs), ( 0x00000002 ), NULL, HFILL }},
15335
15
  { &hf_samr_samr_AcctFlags_ACB_MNS,
15336
15
    { "ACB MNS", "samr.samr_AcctFlags.ACB_MNS", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_MNS_tfs), ( 0x00000020 ), NULL, HFILL }},
15337
15
  { &hf_samr_samr_AcctFlags_ACB_NORMAL,
15338
15
    { "ACB NORMAL", "samr.samr_AcctFlags.ACB_NORMAL", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NORMAL_tfs), ( 0x00000010 ), NULL, HFILL }},
15339
15
  { &hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED,
15340
15
    { "ACB NOT DELEGATED", "samr.samr_AcctFlags.ACB_NOT_DELEGATED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NOT_DELEGATED_tfs), ( 0x00004000 ), NULL, HFILL }},
15341
15
  { &hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD,
15342
15
    { "ACB NO AUTH DATA REQD", "samr.samr_AcctFlags.ACB_NO_AUTH_DATA_REQD", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NO_AUTH_DATA_REQD_tfs), ( 0x00080000 ), NULL, HFILL }},
15343
15
  { &hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT,
15344
15
    { "ACB PARTIAL SECRETS ACCOUNT", "samr.samr_AcctFlags.ACB_PARTIAL_SECRETS_ACCOUNT", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT_tfs), ( 0x00100000 ), NULL, HFILL }},
15345
15
  { &hf_samr_samr_AcctFlags_ACB_PWNOEXP,
15346
15
    { "ACB PWNOEXP", "samr.samr_AcctFlags.ACB_PWNOEXP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOEXP_tfs), ( 0x00000200 ), NULL, HFILL }},
15347
15
  { &hf_samr_samr_AcctFlags_ACB_PWNOTREQ,
15348
15
    { "ACB PWNOTREQ", "samr.samr_AcctFlags.ACB_PWNOTREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOTREQ_tfs), ( 0x00000004 ), NULL, HFILL }},
15349
15
  { &hf_samr_samr_AcctFlags_ACB_PW_EXPIRED,
15350
15
    { "ACB PW EXPIRED", "samr.samr_AcctFlags.ACB_PW_EXPIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PW_EXPIRED_tfs), ( 0x00020000 ), NULL, HFILL }},
15351
15
  { &hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED,
15352
15
    { "ACB SMARTCARD REQUIRED", "samr.samr_AcctFlags.ACB_SMARTCARD_REQUIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs), ( 0x00001000 ), NULL, HFILL }},
15353
15
  { &hf_samr_samr_AcctFlags_ACB_SVRTRUST,
15354
15
    { "ACB SVRTRUST", "samr.samr_AcctFlags.ACB_SVRTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SVRTRUST_tfs), ( 0x00000100 ), NULL, HFILL }},
15355
15
  { &hf_samr_samr_AcctFlags_ACB_TEMPDUP,
15356
15
    { "ACB TEMPDUP", "samr.samr_AcctFlags.ACB_TEMPDUP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TEMPDUP_tfs), ( 0x00000008 ), NULL, HFILL }},
15357
15
  { &hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION,
15358
15
    { "ACB TRUSTED FOR DELEGATION", "samr.samr_AcctFlags.ACB_TRUSTED_FOR_DELEGATION", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION_tfs), ( 0x00002000 ), NULL, HFILL }},
15359
15
  { &hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION,
15360
15
    { "ACB TRUSTED TO AUTHENTICATE FOR DELEGATION", "samr.samr_AcctFlags.ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION_tfs), ( 0x00040000 ), NULL, HFILL }},
15361
15
  { &hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS,
15362
15
    { "ACB USE AES KEYS", "samr.samr_AcctFlags.ACB_USE_AES_KEYS", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_USE_AES_KEYS_tfs), ( 0x00200000 ), NULL, HFILL }},
15363
15
  { &hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY,
15364
15
    { "ACB USE DES KEY ONLY", "samr.samr_AcctFlags.ACB_USE_DES_KEY_ONLY", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_USE_DES_KEY_ONLY_tfs), ( 0x00008000 ), NULL, HFILL }},
15365
15
  { &hf_samr_samr_AcctFlags_ACB_WSTRUST,
15366
15
    { "ACB WSTRUST", "samr.samr_AcctFlags.ACB_WSTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_WSTRUST_tfs), ( 0x00000080 ), NULL, HFILL }},
15367
15
  { &hf_samr_samr_AddAliasMember_sid,
15368
15
    { "Sid", "samr.samr_AddAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15369
15
  { &hf_samr_samr_AddGroupMember_flags,
15370
15
    { "Flags", "samr.samr_AddGroupMember.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15371
15
  { &hf_samr_samr_AddMultipleMembersToAlias_sids,
15372
15
    { "Sids", "samr.samr_AddMultipleMembersToAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15373
15
  { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER,
15374
15
    { "SAMR ALIAS ACCESS ADD MEMBER", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_ADD_MEMBER", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER_tfs), ( 0x00000001 ), NULL, HFILL }},
15375
15
  { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS,
15376
15
    { "SAMR ALIAS ACCESS GET MEMBERS", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_GET_MEMBERS", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS_tfs), ( 0x00000004 ), NULL, HFILL }},
15377
15
  { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO,
15378
15
    { "SAMR ALIAS ACCESS LOOKUP INFO", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_LOOKUP_INFO", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO_tfs), ( 0x00000008 ), NULL, HFILL }},
15379
15
  { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER,
15380
15
    { "SAMR ALIAS ACCESS REMOVE MEMBER", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_REMOVE_MEMBER", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER_tfs), ( 0x00000002 ), NULL, HFILL }},
15381
15
  { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO,
15382
15
    { "SAMR ALIAS ACCESS SET INFO", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_SET_INFO", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO_tfs), ( 0x00000010 ), NULL, HFILL }},
15383
15
  { &hf_samr_samr_AliasInfoAll_description,
15384
15
    { "Description", "samr.samr_AliasInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15385
15
  { &hf_samr_samr_AliasInfoAll_name,
15386
15
    { "Name", "samr.samr_AliasInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15387
15
  { &hf_samr_samr_AliasInfoAll_num_members,
15388
15
    { "Num Members", "samr.samr_AliasInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15389
15
  { &hf_samr_samr_AliasInfo_all,
15390
15
    { "All", "samr.samr_AliasInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15391
15
  { &hf_samr_samr_AliasInfo_description,
15392
15
    { "Description", "samr.samr_AliasInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15393
15
  { &hf_samr_samr_AliasInfo_name,
15394
15
    { "Name", "samr.samr_AliasInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15395
15
  { &hf_samr_samr_ChangePasswordUser2_account,
15396
15
    { "Account", "samr.samr_ChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15397
15
  { &hf_samr_samr_ChangePasswordUser2_lm_change,
15398
15
    { "Lm Change", "samr.samr_ChangePasswordUser2.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15399
15
  { &hf_samr_samr_ChangePasswordUser2_lm_password,
15400
15
    { "Lm Password", "samr.samr_ChangePasswordUser2.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15401
15
  { &hf_samr_samr_ChangePasswordUser2_lm_verifier,
15402
15
    { "Lm Verifier", "samr.samr_ChangePasswordUser2.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15403
15
  { &hf_samr_samr_ChangePasswordUser2_nt_password,
15404
15
    { "Nt Password", "samr.samr_ChangePasswordUser2.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15405
15
  { &hf_samr_samr_ChangePasswordUser2_nt_verifier,
15406
15
    { "Nt Verifier", "samr.samr_ChangePasswordUser2.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15407
15
  { &hf_samr_samr_ChangePasswordUser2_server,
15408
15
    { "Server", "samr.samr_ChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15409
15
  { &hf_samr_samr_ChangePasswordUser3_account,
15410
15
    { "Account", "samr.samr_ChangePasswordUser3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15411
15
  { &hf_samr_samr_ChangePasswordUser3_dominfo,
15412
15
    { "Dominfo", "samr.samr_ChangePasswordUser3.dominfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15413
15
  { &hf_samr_samr_ChangePasswordUser3_lm_change,
15414
15
    { "Lm Change", "samr.samr_ChangePasswordUser3.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15415
15
  { &hf_samr_samr_ChangePasswordUser3_lm_password,
15416
15
    { "Lm Password", "samr.samr_ChangePasswordUser3.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15417
15
  { &hf_samr_samr_ChangePasswordUser3_lm_verifier,
15418
15
    { "Lm Verifier", "samr.samr_ChangePasswordUser3.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15419
15
  { &hf_samr_samr_ChangePasswordUser3_nt_password,
15420
15
    { "Nt Password", "samr.samr_ChangePasswordUser3.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15421
15
  { &hf_samr_samr_ChangePasswordUser3_nt_verifier,
15422
15
    { "Nt Verifier", "samr.samr_ChangePasswordUser3.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15423
15
  { &hf_samr_samr_ChangePasswordUser3_password3,
15424
15
    { "Password3", "samr.samr_ChangePasswordUser3.password3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15425
15
  { &hf_samr_samr_ChangePasswordUser3_reject,
15426
15
    { "Reject", "samr.samr_ChangePasswordUser3.reject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15427
15
  { &hf_samr_samr_ChangePasswordUser3_server,
15428
15
    { "Server", "samr.samr_ChangePasswordUser3.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15429
15
  { &hf_samr_samr_ChangePasswordUser4_account,
15430
15
    { "Account", "samr.samr_ChangePasswordUser4.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15431
15
  { &hf_samr_samr_ChangePasswordUser4_password,
15432
15
    { "Password", "samr.samr_ChangePasswordUser4.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15433
15
  { &hf_samr_samr_ChangePasswordUser4_server,
15434
15
    { "Server", "samr.samr_ChangePasswordUser4.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15435
15
  { &hf_samr_samr_ChangePasswordUser_cross1_present,
15436
15
    { "Cross1 Present", "samr.samr_ChangePasswordUser.cross1_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15437
15
  { &hf_samr_samr_ChangePasswordUser_cross2_present,
15438
15
    { "Cross2 Present", "samr.samr_ChangePasswordUser.cross2_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15439
15
  { &hf_samr_samr_ChangePasswordUser_lm_cross,
15440
15
    { "Lm Cross", "samr.samr_ChangePasswordUser.lm_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15441
15
  { &hf_samr_samr_ChangePasswordUser_lm_present,
15442
15
    { "Lm Present", "samr.samr_ChangePasswordUser.lm_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15443
15
  { &hf_samr_samr_ChangePasswordUser_new_lm_crypted,
15444
15
    { "New Lm Crypted", "samr.samr_ChangePasswordUser.new_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15445
15
  { &hf_samr_samr_ChangePasswordUser_new_nt_crypted,
15446
15
    { "New Nt Crypted", "samr.samr_ChangePasswordUser.new_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15447
15
  { &hf_samr_samr_ChangePasswordUser_nt_cross,
15448
15
    { "Nt Cross", "samr.samr_ChangePasswordUser.nt_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15449
15
  { &hf_samr_samr_ChangePasswordUser_nt_present,
15450
15
    { "Nt Present", "samr.samr_ChangePasswordUser.nt_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15451
15
  { &hf_samr_samr_ChangePasswordUser_old_lm_crypted,
15452
15
    { "Old Lm Crypted", "samr.samr_ChangePasswordUser.old_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15453
15
  { &hf_samr_samr_ChangePasswordUser_old_nt_crypted,
15454
15
    { "Old Nt Crypted", "samr.samr_ChangePasswordUser.old_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15455
15
  { &hf_samr_samr_Connect2_system_name,
15456
15
    { "System Name", "samr.samr_Connect2.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15457
15
  { &hf_samr_samr_Connect3_system_name,
15458
15
    { "System Name", "samr.samr_Connect3.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15459
15
  { &hf_samr_samr_Connect3_unknown,
15460
15
    { "Unknown", "samr.samr_Connect3.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15461
15
  { &hf_samr_samr_Connect4_client_version,
15462
15
    { "Client Version", "samr.samr_Connect4.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
15463
15
  { &hf_samr_samr_Connect4_system_name,
15464
15
    { "System Name", "samr.samr_Connect4.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15465
15
  { &hf_samr_samr_Connect5_info_in,
15466
15
    { "Info In", "samr.samr_Connect5.info_in", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15467
15
  { &hf_samr_samr_Connect5_info_out,
15468
15
    { "Info Out", "samr.samr_Connect5.info_out", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15469
15
  { &hf_samr_samr_Connect5_level_in,
15470
15
    { "Level In", "samr.samr_Connect5.level_in", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15471
15
  { &hf_samr_samr_Connect5_level_out,
15472
15
    { "Level Out", "samr.samr_Connect5.level_out", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15473
15
  { &hf_samr_samr_Connect5_system_name,
15474
15
    { "System Name", "samr.samr_Connect5.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15475
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER,
15476
15
    { "SAMR ACCESS CONNECT TO SERVER", "samr.samr_ConnectAccessMask.SAMR_ACCESS_CONNECT_TO_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER_tfs), ( 0x00000001 ), NULL, HFILL }},
15477
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN,
15478
15
    { "SAMR ACCESS CREATE DOMAIN", "samr.samr_ConnectAccessMask.SAMR_ACCESS_CREATE_DOMAIN", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN_tfs), ( 0x00000008 ), NULL, HFILL }},
15479
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS,
15480
15
    { "SAMR ACCESS ENUM DOMAINS", "samr.samr_ConnectAccessMask.SAMR_ACCESS_ENUM_DOMAINS", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS_tfs), ( 0x00000010 ), NULL, HFILL }},
15481
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER,
15482
15
    { "SAMR ACCESS INITIALIZE SERVER", "samr.samr_ConnectAccessMask.SAMR_ACCESS_INITIALIZE_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER_tfs), ( 0x00000004 ), NULL, HFILL }},
15483
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN,
15484
15
    { "SAMR ACCESS LOOKUP DOMAIN", "samr.samr_ConnectAccessMask.SAMR_ACCESS_LOOKUP_DOMAIN", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN_tfs), ( 0x00000020 ), NULL, HFILL }},
15485
15
  { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER,
15486
15
    { "SAMR ACCESS SHUTDOWN SERVER", "samr.samr_ConnectAccessMask.SAMR_ACCESS_SHUTDOWN_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER_tfs), ( 0x00000002 ), NULL, HFILL }},
15487
15
  { &hf_samr_samr_ConnectInfo1_client_version,
15488
15
    { "Client Version", "samr.samr_ConnectInfo1.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
15489
15
  { &hf_samr_samr_ConnectInfo1_supported_features,
15490
15
    { "Supported Features", "samr.samr_ConnectInfo1.supported_features", FT_UINT32, BASE_DEC, VALS(samr_samr_SupportedFeatures_vals), 0, NULL, HFILL }},
15491
15
  { &hf_samr_samr_ConnectInfo_info1,
15492
15
    { "Info1", "samr.samr_ConnectInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15493
15
  { &hf_samr_samr_Connect_system_name,
15494
15
    { "System Name", "samr.samr_Connect.system_name", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15495
15
  { &hf_samr_samr_CreateDomAlias_alias_name,
15496
15
    { "Alias Name", "samr.samr_CreateDomAlias.alias_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15497
15
  { &hf_samr_samr_CreateDomainGroup_name,
15498
15
    { "Name", "samr.samr_CreateDomainGroup.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15499
15
  { &hf_samr_samr_CreateUser2_access_granted,
15500
15
    { "Access Granted", "samr.samr_CreateUser2.access_granted", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15501
15
  { &hf_samr_samr_CreateUser2_account_name,
15502
15
    { "Account Name", "samr.samr_CreateUser2.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15503
15
  { &hf_samr_samr_CreateUser2_acct_flags,
15504
15
    { "Acct Flags", "samr.samr_CreateUser2.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15505
15
  { &hf_samr_samr_CreateUser_account_name,
15506
15
    { "Account Name", "samr.samr_CreateUser.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15507
15
  { &hf_samr_samr_CryptPasswordEx_data,
15508
15
    { "Data", "samr.samr_CryptPasswordEx.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15509
15
  { &hf_samr_samr_CryptPassword_data,
15510
15
    { "Data", "samr.samr_CryptPassword.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15511
15
  { &hf_samr_samr_DeleteAliasMember_sid,
15512
15
    { "Sid", "samr.samr_DeleteAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15513
15
  { &hf_samr_samr_DispEntryAscii_account_name,
15514
15
    { "Account Name", "samr.samr_DispEntryAscii.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15515
15
  { &hf_samr_samr_DispEntryAscii_idx,
15516
15
    { "Idx", "samr.samr_DispEntryAscii.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15517
15
  { &hf_samr_samr_DispEntryFullGroup_account_name,
15518
15
    { "Account Name", "samr.samr_DispEntryFullGroup.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15519
15
  { &hf_samr_samr_DispEntryFullGroup_acct_flags,
15520
15
    { "Acct Flags", "samr.samr_DispEntryFullGroup.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15521
15
  { &hf_samr_samr_DispEntryFullGroup_description,
15522
15
    { "Description", "samr.samr_DispEntryFullGroup.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15523
15
  { &hf_samr_samr_DispEntryFullGroup_idx,
15524
15
    { "Idx", "samr.samr_DispEntryFullGroup.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15525
15
  { &hf_samr_samr_DispEntryFull_account_name,
15526
15
    { "Account Name", "samr.samr_DispEntryFull.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15527
15
  { &hf_samr_samr_DispEntryFull_acct_flags,
15528
15
    { "Acct Flags", "samr.samr_DispEntryFull.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15529
15
  { &hf_samr_samr_DispEntryFull_description,
15530
15
    { "Description", "samr.samr_DispEntryFull.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15531
15
  { &hf_samr_samr_DispEntryFull_idx,
15532
15
    { "Idx", "samr.samr_DispEntryFull.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15533
15
  { &hf_samr_samr_DispEntryGeneral_account_name,
15534
15
    { "Account Name", "samr.samr_DispEntryGeneral.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15535
15
  { &hf_samr_samr_DispEntryGeneral_acct_flags,
15536
15
    { "Acct Flags", "samr.samr_DispEntryGeneral.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15537
15
  { &hf_samr_samr_DispEntryGeneral_description,
15538
15
    { "Description", "samr.samr_DispEntryGeneral.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15539
15
  { &hf_samr_samr_DispEntryGeneral_full_name,
15540
15
    { "Full Name", "samr.samr_DispEntryGeneral.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15541
15
  { &hf_samr_samr_DispEntryGeneral_idx,
15542
15
    { "Idx", "samr.samr_DispEntryGeneral.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15543
15
  { &hf_samr_samr_DispInfoAscii_count,
15544
15
    { "Count", "samr.samr_DispInfoAscii.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15545
15
  { &hf_samr_samr_DispInfoAscii_entries,
15546
15
    { "Entries", "samr.samr_DispInfoAscii.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15547
15
  { &hf_samr_samr_DispInfoFullGroups_count,
15548
15
    { "Count", "samr.samr_DispInfoFullGroups.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15549
15
  { &hf_samr_samr_DispInfoFullGroups_entries,
15550
15
    { "Entries", "samr.samr_DispInfoFullGroups.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15551
15
  { &hf_samr_samr_DispInfoFull_count,
15552
15
    { "Count", "samr.samr_DispInfoFull.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15553
15
  { &hf_samr_samr_DispInfoFull_entries,
15554
15
    { "Entries", "samr.samr_DispInfoFull.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15555
15
  { &hf_samr_samr_DispInfoGeneral_count,
15556
15
    { "Count", "samr.samr_DispInfoGeneral.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15557
15
  { &hf_samr_samr_DispInfoGeneral_entries,
15558
15
    { "Entries", "samr.samr_DispInfoGeneral.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15559
15
  { &hf_samr_samr_DispInfo_info1,
15560
15
    { "Info1", "samr.samr_DispInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15561
15
  { &hf_samr_samr_DispInfo_info2,
15562
15
    { "Info2", "samr.samr_DispInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15563
15
  { &hf_samr_samr_DispInfo_info3,
15564
15
    { "Info3", "samr.samr_DispInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15565
15
  { &hf_samr_samr_DispInfo_info4,
15566
15
    { "Info4", "samr.samr_DispInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15567
15
  { &hf_samr_samr_DispInfo_info5,
15568
15
    { "Info5", "samr.samr_DispInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15569
15
  { &hf_samr_samr_DomGeneralInformation2_general,
15570
15
    { "General", "samr.samr_DomGeneralInformation2.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15571
15
  { &hf_samr_samr_DomGeneralInformation2_lockout_duration,
15572
15
    { "Lockout Duration", "samr.samr_DomGeneralInformation2.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15573
15
  { &hf_samr_samr_DomGeneralInformation2_lockout_threshold,
15574
15
    { "Lockout Threshold", "samr.samr_DomGeneralInformation2.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15575
15
  { &hf_samr_samr_DomGeneralInformation2_lockout_window,
15576
15
    { "Lockout Window", "samr.samr_DomGeneralInformation2.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15577
15
  { &hf_samr_samr_DomGeneralInformation_domain_name,
15578
15
    { "Domain Name", "samr.samr_DomGeneralInformation.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15579
15
  { &hf_samr_samr_DomGeneralInformation_domain_server_state,
15580
15
    { "Domain Server State", "samr.samr_DomGeneralInformation.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
15581
15
  { &hf_samr_samr_DomGeneralInformation_force_logoff_time,
15582
15
    { "Force Logoff Time", "samr.samr_DomGeneralInformation.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15583
15
  { &hf_samr_samr_DomGeneralInformation_num_aliases,
15584
15
    { "Num Aliases", "samr.samr_DomGeneralInformation.num_aliases", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15585
15
  { &hf_samr_samr_DomGeneralInformation_num_groups,
15586
15
    { "Num Groups", "samr.samr_DomGeneralInformation.num_groups", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15587
15
  { &hf_samr_samr_DomGeneralInformation_num_users,
15588
15
    { "Num Users", "samr.samr_DomGeneralInformation.num_users", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15589
15
  { &hf_samr_samr_DomGeneralInformation_oem_information,
15590
15
    { "Oem Information", "samr.samr_DomGeneralInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15591
15
  { &hf_samr_samr_DomGeneralInformation_primary,
15592
15
    { "Primary", "samr.samr_DomGeneralInformation.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15593
15
  { &hf_samr_samr_DomGeneralInformation_role,
15594
15
    { "Role", "samr.samr_DomGeneralInformation.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
15595
15
  { &hf_samr_samr_DomGeneralInformation_sequence_num,
15596
15
    { "Sequence Num", "samr.samr_DomGeneralInformation.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15597
15
  { &hf_samr_samr_DomGeneralInformation_unknown3,
15598
15
    { "Unknown3", "samr.samr_DomGeneralInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15599
15
  { &hf_samr_samr_DomInfo12_lockout_duration,
15600
15
    { "Lockout Duration", "samr.samr_DomInfo12.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15601
15
  { &hf_samr_samr_DomInfo12_lockout_threshold,
15602
15
    { "Lockout Threshold", "samr.samr_DomInfo12.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15603
15
  { &hf_samr_samr_DomInfo12_lockout_window,
15604
15
    { "Lockout Window", "samr.samr_DomInfo12.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15605
15
  { &hf_samr_samr_DomInfo13_domain_create_time,
15606
15
    { "Domain Create Time", "samr.samr_DomInfo13.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15607
15
  { &hf_samr_samr_DomInfo13_modified_count_at_last_promotion,
15608
15
    { "Modified Count At Last Promotion", "samr.samr_DomInfo13.modified_count_at_last_promotion", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15609
15
  { &hf_samr_samr_DomInfo13_sequence_num,
15610
15
    { "Sequence Num", "samr.samr_DomInfo13.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15611
15
  { &hf_samr_samr_DomInfo1_max_password_age,
15612
15
    { "Max Password Age", "samr.samr_DomInfo1.max_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15613
15
  { &hf_samr_samr_DomInfo1_min_password_age,
15614
15
    { "Min Password Age", "samr.samr_DomInfo1.min_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15615
15
  { &hf_samr_samr_DomInfo1_min_password_length,
15616
15
    { "Min Password Length", "samr.samr_DomInfo1.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15617
15
  { &hf_samr_samr_DomInfo1_password_history_length,
15618
15
    { "Password History Length", "samr.samr_DomInfo1.password_history_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15619
15
  { &hf_samr_samr_DomInfo1_password_properties,
15620
15
    { "Password Properties", "samr.samr_DomInfo1.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15621
15
  { &hf_samr_samr_DomInfo3_force_logoff_time,
15622
15
    { "Force Logoff Time", "samr.samr_DomInfo3.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15623
15
  { &hf_samr_samr_DomInfo5_domain_name,
15624
15
    { "Domain Name", "samr.samr_DomInfo5.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15625
15
  { &hf_samr_samr_DomInfo6_primary,
15626
15
    { "Primary", "samr.samr_DomInfo6.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15627
15
  { &hf_samr_samr_DomInfo7_role,
15628
15
    { "Role", "samr.samr_DomInfo7.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
15629
15
  { &hf_samr_samr_DomInfo8_domain_create_time,
15630
15
    { "Domain Create Time", "samr.samr_DomInfo8.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15631
15
  { &hf_samr_samr_DomInfo8_sequence_num,
15632
15
    { "Sequence Num", "samr.samr_DomInfo8.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15633
15
  { &hf_samr_samr_DomInfo9_domain_server_state,
15634
15
    { "Domain Server State", "samr.samr_DomInfo9.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
15635
15
  { &hf_samr_samr_DomOEMInformation_oem_information,
15636
15
    { "Oem Information", "samr.samr_DomOEMInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15637
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS,
15638
15
    { "SAMR DOMAIN ACCESS CREATE ALIAS", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_ALIAS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS_tfs), ( 0x00000040 ), NULL, HFILL }},
15639
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP,
15640
15
    { "SAMR DOMAIN ACCESS CREATE GROUP", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_GROUP", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP_tfs), ( 0x00000020 ), NULL, HFILL }},
15641
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER,
15642
15
    { "SAMR DOMAIN ACCESS CREATE USER", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_USER", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER_tfs), ( 0x00000010 ), NULL, HFILL }},
15643
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS,
15644
15
    { "SAMR DOMAIN ACCESS ENUM ACCOUNTS", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS_tfs), ( 0x00000100 ), NULL, HFILL }},
15645
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS,
15646
15
    { "SAMR DOMAIN ACCESS LOOKUP ALIAS", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS_tfs), ( 0x00000080 ), NULL, HFILL }},
15647
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1,
15648
15
    { "SAMR DOMAIN ACCESS LOOKUP INFO 1", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1_tfs), ( 0x00000001 ), NULL, HFILL }},
15649
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2,
15650
15
    { "SAMR DOMAIN ACCESS LOOKUP INFO 2", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2_tfs), ( 0x00000004 ), NULL, HFILL }},
15651
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT,
15652
15
    { "SAMR DOMAIN ACCESS OPEN ACCOUNT", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT_tfs), ( 0x00000200 ), NULL, HFILL }},
15653
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1,
15654
15
    { "SAMR DOMAIN ACCESS SET INFO 1", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_1", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1_tfs), ( 0x00000002 ), NULL, HFILL }},
15655
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2,
15656
15
    { "SAMR DOMAIN ACCESS SET INFO 2", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_2", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2_tfs), ( 0x00000008 ), NULL, HFILL }},
15657
15
  { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3,
15658
15
    { "SAMR DOMAIN ACCESS SET INFO 3", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_3", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3_tfs), ( 0x00000400 ), NULL, HFILL }},
15659
15
  { &hf_samr_samr_DomainInfo_general,
15660
15
    { "General", "samr.samr_DomainInfo.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15661
15
  { &hf_samr_samr_DomainInfo_general2,
15662
15
    { "General2", "samr.samr_DomainInfo.general2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15663
15
  { &hf_samr_samr_DomainInfo_info1,
15664
15
    { "Info1", "samr.samr_DomainInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15665
15
  { &hf_samr_samr_DomainInfo_info12,
15666
15
    { "Info12", "samr.samr_DomainInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15667
15
  { &hf_samr_samr_DomainInfo_info13,
15668
15
    { "Info13", "samr.samr_DomainInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15669
15
  { &hf_samr_samr_DomainInfo_info3,
15670
15
    { "Info3", "samr.samr_DomainInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15671
15
  { &hf_samr_samr_DomainInfo_info5,
15672
15
    { "Info5", "samr.samr_DomainInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15673
15
  { &hf_samr_samr_DomainInfo_info6,
15674
15
    { "Info6", "samr.samr_DomainInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15675
15
  { &hf_samr_samr_DomainInfo_info7,
15676
15
    { "Info7", "samr.samr_DomainInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15677
15
  { &hf_samr_samr_DomainInfo_info8,
15678
15
    { "Info8", "samr.samr_DomainInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15679
15
  { &hf_samr_samr_DomainInfo_info9,
15680
15
    { "Info9", "samr.samr_DomainInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15681
15
  { &hf_samr_samr_DomainInfo_oem,
15682
15
    { "Oem", "samr.samr_DomainInfo.oem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15683
15
  { &hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations,
15684
15
    { "PBKDF2Iterations", "samr.samr_EncryptedPasswordAES.PBKDF2Iterations", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15685
15
  { &hf_samr_samr_EncryptedPasswordAES_auth_data,
15686
15
    { "Auth Data", "samr.samr_EncryptedPasswordAES.auth_data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15687
15
  { &hf_samr_samr_EncryptedPasswordAES_cipher,
15688
15
    { "Cipher", "samr.samr_EncryptedPasswordAES.cipher", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15689
15
  { &hf_samr_samr_EncryptedPasswordAES_cipher_len,
15690
15
    { "Cipher Len", "samr.samr_EncryptedPasswordAES.cipher_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15691
15
  { &hf_samr_samr_EncryptedPasswordAES_salt,
15692
15
    { "Salt", "samr.samr_EncryptedPasswordAES.salt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15693
15
  { &hf_samr_samr_EnumDomainAliases_max_size,
15694
15
    { "Max Size", "samr.samr_EnumDomainAliases.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15695
15
  { &hf_samr_samr_EnumDomainAliases_num_entries,
15696
15
    { "Num Entries", "samr.samr_EnumDomainAliases.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15697
15
  { &hf_samr_samr_EnumDomainAliases_resume_handle,
15698
15
    { "Resume Handle", "samr.samr_EnumDomainAliases.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15699
15
  { &hf_samr_samr_EnumDomainAliases_sam,
15700
15
    { "Sam", "samr.samr_EnumDomainAliases.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15701
15
  { &hf_samr_samr_EnumDomainGroups_max_size,
15702
15
    { "Max Size", "samr.samr_EnumDomainGroups.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15703
15
  { &hf_samr_samr_EnumDomainGroups_num_entries,
15704
15
    { "Num Entries", "samr.samr_EnumDomainGroups.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15705
15
  { &hf_samr_samr_EnumDomainGroups_resume_handle,
15706
15
    { "Resume Handle", "samr.samr_EnumDomainGroups.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15707
15
  { &hf_samr_samr_EnumDomainGroups_sam,
15708
15
    { "Sam", "samr.samr_EnumDomainGroups.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15709
15
  { &hf_samr_samr_EnumDomainUsers_acct_flags,
15710
15
    { "Acct Flags", "samr.samr_EnumDomainUsers.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15711
15
  { &hf_samr_samr_EnumDomainUsers_max_size,
15712
15
    { "Max Size", "samr.samr_EnumDomainUsers.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15713
15
  { &hf_samr_samr_EnumDomainUsers_num_entries,
15714
15
    { "Num Entries", "samr.samr_EnumDomainUsers.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15715
15
  { &hf_samr_samr_EnumDomainUsers_resume_handle,
15716
15
    { "Resume Handle", "samr.samr_EnumDomainUsers.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15717
15
  { &hf_samr_samr_EnumDomainUsers_sam,
15718
15
    { "Sam", "samr.samr_EnumDomainUsers.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15719
15
  { &hf_samr_samr_EnumDomains_buf_size,
15720
15
    { "Buf Size", "samr.samr_EnumDomains.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15721
15
  { &hf_samr_samr_EnumDomains_num_entries,
15722
15
    { "Num Entries", "samr.samr_EnumDomains.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15723
15
  { &hf_samr_samr_EnumDomains_resume_handle,
15724
15
    { "Resume Handle", "samr.samr_EnumDomains.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15725
15
  { &hf_samr_samr_EnumDomains_sam,
15726
15
    { "Sam", "samr.samr_EnumDomains.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15727
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME,
15728
15
    { "SAMR FIELD ACCOUNT NAME", "samr.samr_FieldsPresent.SAMR_FIELD_ACCOUNT_NAME", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME_tfs), ( 0x00000001 ), NULL, HFILL }},
15729
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY,
15730
15
    { "SAMR FIELD ACCT EXPIRY", "samr.samr_FieldsPresent.SAMR_FIELD_ACCT_EXPIRY", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY_tfs), ( 0x00080000 ), NULL, HFILL }},
15731
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS,
15732
15
    { "SAMR FIELD ACCT FLAGS", "samr.samr_FieldsPresent.SAMR_FIELD_ACCT_FLAGS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS_tfs), ( 0x00100000 ), NULL, HFILL }},
15733
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE,
15734
15
    { "SAMR FIELD ALLOW PWD CHANGE", "samr.samr_FieldsPresent.SAMR_FIELD_ALLOW_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE_tfs), ( 0x00010000 ), NULL, HFILL }},
15735
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT,
15736
15
    { "SAMR FIELD BAD PWD COUNT", "samr.samr_FieldsPresent.SAMR_FIELD_BAD_PWD_COUNT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT_tfs), ( 0x00004000 ), NULL, HFILL }},
15737
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE,
15738
15
    { "SAMR FIELD CODE PAGE", "samr.samr_FieldsPresent.SAMR_FIELD_CODE_PAGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_CODE_PAGE_tfs), ( 0x00800000 ), NULL, HFILL }},
15739
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT,
15740
15
    { "SAMR FIELD COMMENT", "samr.samr_FieldsPresent.SAMR_FIELD_COMMENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs), ( 0x00000020 ), NULL, HFILL }},
15741
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE,
15742
15
    { "SAMR FIELD COUNTRY CODE", "samr.samr_FieldsPresent.SAMR_FIELD_COUNTRY_CODE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE_tfs), ( 0x00400000 ), NULL, HFILL }},
15743
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION,
15744
15
    { "SAMR FIELD DESCRIPTION", "samr.samr_FieldsPresent.SAMR_FIELD_DESCRIPTION", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs), ( 0x00000010 ), NULL, HFILL }},
15745
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG,
15746
15
    { "SAMR FIELD EXPIRED FLAG", "samr.samr_FieldsPresent.SAMR_FIELD_EXPIRED_FLAG", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG_tfs), ( 0x08000000 ), NULL, HFILL }},
15747
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE,
15748
15
    { "SAMR FIELD FORCE PWD CHANGE", "samr.samr_FieldsPresent.SAMR_FIELD_FORCE_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE_tfs), ( 0x00020000 ), NULL, HFILL }},
15749
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME,
15750
15
    { "SAMR FIELD FULL NAME", "samr.samr_FieldsPresent.SAMR_FIELD_FULL_NAME", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_FULL_NAME_tfs), ( 0x00000002 ), NULL, HFILL }},
15751
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY,
15752
15
    { "SAMR FIELD HOME DIRECTORY", "samr.samr_FieldsPresent.SAMR_FIELD_HOME_DIRECTORY", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY_tfs), ( 0x00000040 ), NULL, HFILL }},
15753
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE,
15754
15
    { "SAMR FIELD HOME DRIVE", "samr.samr_FieldsPresent.SAMR_FIELD_HOME_DRIVE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE_tfs), ( 0x00000080 ), NULL, HFILL }},
15755
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF,
15756
15
    { "SAMR FIELD LAST LOGOFF", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_LOGOFF", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF_tfs), ( 0x00001000 ), NULL, HFILL }},
15757
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON,
15758
15
    { "SAMR FIELD LAST LOGON", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_LOGON", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_LOGON_tfs), ( 0x00000800 ), NULL, HFILL }},
15759
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE,
15760
15
    { "SAMR FIELD LAST PWD CHANGE", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE_tfs), ( 0x00040000 ), NULL, HFILL }},
15761
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT,
15762
15
    { "SAMR FIELD LM PASSWORD PRESENT", "samr.samr_FieldsPresent.SAMR_FIELD_LM_PASSWORD_PRESENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT_tfs), ( 0x02000000 ), NULL, HFILL }},
15763
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS,
15764
15
    { "SAMR FIELD LOGON HOURS", "samr.samr_FieldsPresent.SAMR_FIELD_LOGON_HOURS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS_tfs), ( 0x00002000 ), NULL, HFILL }},
15765
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT,
15766
15
    { "SAMR FIELD LOGON SCRIPT", "samr.samr_FieldsPresent.SAMR_FIELD_LOGON_SCRIPT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT_tfs), ( 0x00000100 ), NULL, HFILL }},
15767
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT,
15768
15
    { "SAMR FIELD NT PASSWORD PRESENT", "samr.samr_FieldsPresent.SAMR_FIELD_NT_PASSWORD_PRESENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT_tfs), ( 0x01000000 ), NULL, HFILL }},
15769
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS,
15770
15
    { "SAMR FIELD NUM LOGONS", "samr.samr_FieldsPresent.SAMR_FIELD_NUM_LOGONS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS_tfs), ( 0x00008000 ), NULL, HFILL }},
15771
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD,
15772
15
    { "SAMR FIELD OWF PWD", "samr.samr_FieldsPresent.SAMR_FIELD_OWF_PWD", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_OWF_PWD_tfs), ( 0x20000000 ), NULL, HFILL }},
15773
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS,
15774
15
    { "SAMR FIELD PARAMETERS", "samr.samr_FieldsPresent.SAMR_FIELD_PARAMETERS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs), ( 0x00200000 ), NULL, HFILL }},
15775
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID,
15776
15
    { "SAMR FIELD PRIMARY GID", "samr.samr_FieldsPresent.SAMR_FIELD_PRIMARY_GID", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID_tfs), ( 0x00000008 ), NULL, HFILL }},
15777
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA,
15778
15
    { "SAMR FIELD PRIVATE DATA", "samr.samr_FieldsPresent.SAMR_FIELD_PRIVATE_DATA", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA_tfs), ( 0x04000000 ), NULL, HFILL }},
15779
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH,
15780
15
    { "SAMR FIELD PROFILE PATH", "samr.samr_FieldsPresent.SAMR_FIELD_PROFILE_PATH", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH_tfs), ( 0x00000200 ), NULL, HFILL }},
15781
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_RID,
15782
15
    { "SAMR FIELD RID", "samr.samr_FieldsPresent.SAMR_FIELD_RID", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_RID_tfs), ( 0x00000004 ), NULL, HFILL }},
15783
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC,
15784
15
    { "SAMR FIELD SEC DESC", "samr.samr_FieldsPresent.SAMR_FIELD_SEC_DESC", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_SEC_DESC_tfs), ( 0x10000000 ), NULL, HFILL }},
15785
15
  { &hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS,
15786
15
    { "SAMR FIELD WORKSTATIONS", "samr.samr_FieldsPresent.SAMR_FIELD_WORKSTATIONS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs), ( 0x00000400 ), NULL, HFILL }},
15787
15
  { &hf_samr_samr_GetAliasMembership_rids,
15788
15
    { "Rids", "samr.samr_GetAliasMembership.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15789
15
  { &hf_samr_samr_GetAliasMembership_sids,
15790
15
    { "Sids", "samr.samr_GetAliasMembership.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15791
15
  { &hf_samr_samr_GetBootKeyInformation_unknown,
15792
15
    { "Unknown", "samr.samr_GetBootKeyInformation.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15793
15
  { &hf_samr_samr_GetDisplayEnumerationIndex2_idx,
15794
15
    { "Idx", "samr.samr_GetDisplayEnumerationIndex2.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15795
15
  { &hf_samr_samr_GetDisplayEnumerationIndex2_level,
15796
15
    { "Level", "samr.samr_GetDisplayEnumerationIndex2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15797
15
  { &hf_samr_samr_GetDisplayEnumerationIndex2_name,
15798
15
    { "Name", "samr.samr_GetDisplayEnumerationIndex2.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15799
15
  { &hf_samr_samr_GetDisplayEnumerationIndex_idx,
15800
15
    { "Idx", "samr.samr_GetDisplayEnumerationIndex.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15801
15
  { &hf_samr_samr_GetDisplayEnumerationIndex_level,
15802
15
    { "Level", "samr.samr_GetDisplayEnumerationIndex.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15803
15
  { &hf_samr_samr_GetDisplayEnumerationIndex_name,
15804
15
    { "Name", "samr.samr_GetDisplayEnumerationIndex.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15805
15
  { &hf_samr_samr_GetDomPwInfo_domain_name,
15806
15
    { "Domain Name", "samr.samr_GetDomPwInfo.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15807
15
  { &hf_samr_samr_GetDomPwInfo_info,
15808
15
    { "Info", "samr.samr_GetDomPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15809
15
  { &hf_samr_samr_GetGroupsForUser_rids,
15810
15
    { "Rids", "samr.samr_GetGroupsForUser.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15811
15
  { &hf_samr_samr_GetMembersInAlias_sids,
15812
15
    { "Sids", "samr.samr_GetMembersInAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15813
15
  { &hf_samr_samr_GetUserPwInfo_info,
15814
15
    { "Info", "samr.samr_GetUserPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15815
15
  { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER,
15816
15
    { "SAMR GROUP ACCESS ADD MEMBER", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_ADD_MEMBER", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER_tfs), ( 0x00000004 ), NULL, HFILL }},
15817
15
  { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS,
15818
15
    { "SAMR GROUP ACCESS GET MEMBERS", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_GET_MEMBERS", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS_tfs), ( 0x00000010 ), NULL, HFILL }},
15819
15
  { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO,
15820
15
    { "SAMR GROUP ACCESS LOOKUP INFO", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_LOOKUP_INFO", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO_tfs), ( 0x00000001 ), NULL, HFILL }},
15821
15
  { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER,
15822
15
    { "SAMR GROUP ACCESS REMOVE MEMBER", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_REMOVE_MEMBER", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER_tfs), ( 0x00000008 ), NULL, HFILL }},
15823
15
  { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO,
15824
15
    { "SAMR GROUP ACCESS SET INFO", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_SET_INFO", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO_tfs), ( 0x00000002 ), NULL, HFILL }},
15825
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED,
15826
15
    { "SE GROUP ENABLED", "samr.samr_GroupAttrs.SE_GROUP_ENABLED", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_ENABLED_tfs), ( 0x00000004 ), NULL, HFILL }},
15827
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT,
15828
15
    { "SE GROUP ENABLED BY DEFAULT", "samr.samr_GroupAttrs.SE_GROUP_ENABLED_BY_DEFAULT", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT_tfs), ( 0x00000002 ), NULL, HFILL }},
15829
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID,
15830
15
    { "SE GROUP LOGON ID", "samr.samr_GroupAttrs.SE_GROUP_LOGON_ID", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_LOGON_ID_tfs), ( 0xC0000000 ), NULL, HFILL }},
15831
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY,
15832
15
    { "SE GROUP MANDATORY", "samr.samr_GroupAttrs.SE_GROUP_MANDATORY", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_MANDATORY_tfs), ( 0x00000001 ), NULL, HFILL }},
15833
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_OWNER,
15834
15
    { "SE GROUP OWNER", "samr.samr_GroupAttrs.SE_GROUP_OWNER", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_OWNER_tfs), ( 0x00000008 ), NULL, HFILL }},
15835
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE,
15836
15
    { "SE GROUP RESOURCE", "samr.samr_GroupAttrs.SE_GROUP_RESOURCE", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_RESOURCE_tfs), ( 0x20000000 ), NULL, HFILL }},
15837
15
  { &hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY,
15838
15
    { "SE GROUP USE FOR DENY ONLY", "samr.samr_GroupAttrs.SE_GROUP_USE_FOR_DENY_ONLY", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY_tfs), ( 0x00000010 ), NULL, HFILL }},
15839
15
  { &hf_samr_samr_GroupInfoAll_attributes,
15840
15
    { "Attributes", "samr.samr_GroupInfoAll.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15841
15
  { &hf_samr_samr_GroupInfoAll_description,
15842
15
    { "Description", "samr.samr_GroupInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15843
15
  { &hf_samr_samr_GroupInfoAll_name,
15844
15
    { "Name", "samr.samr_GroupInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15845
15
  { &hf_samr_samr_GroupInfoAll_num_members,
15846
15
    { "Num Members", "samr.samr_GroupInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15847
15
  { &hf_samr_samr_GroupInfoAttributes_attributes,
15848
15
    { "Attributes", "samr.samr_GroupInfoAttributes.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15849
15
  { &hf_samr_samr_GroupInfoDescription_description,
15850
15
    { "Description", "samr.samr_GroupInfoDescription.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15851
15
  { &hf_samr_samr_GroupInfo_all,
15852
15
    { "All", "samr.samr_GroupInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15853
15
  { &hf_samr_samr_GroupInfo_all2,
15854
15
    { "All2", "samr.samr_GroupInfo.all2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15855
15
  { &hf_samr_samr_GroupInfo_attributes,
15856
15
    { "Attributes", "samr.samr_GroupInfo.attributes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15857
15
  { &hf_samr_samr_GroupInfo_description,
15858
15
    { "Description", "samr.samr_GroupInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15859
15
  { &hf_samr_samr_GroupInfo_name,
15860
15
    { "Name", "samr.samr_GroupInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15861
15
  { &hf_samr_samr_Ids_count,
15862
15
    { "Count", "samr.samr_Ids.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15863
15
  { &hf_samr_samr_LogonHours_bits,
15864
15
    { "Bits", "samr.samr_LogonHours.bits", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15865
15
  { &hf_samr_samr_LogonHours_units_per_week,
15866
15
    { "Units Per Week", "samr.samr_LogonHours.units_per_week", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15867
15
  { &hf_samr_samr_LookupDomain_domain_name,
15868
15
    { "Domain Name", "samr.samr_LookupDomain.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15869
15
  { &hf_samr_samr_LookupDomain_sid,
15870
15
    { "Sid", "samr.samr_LookupDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15871
15
  { &hf_samr_samr_LookupNames_names,
15872
15
    { "Names", "samr.samr_LookupNames.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15873
15
  { &hf_samr_samr_LookupNames_num_names,
15874
15
    { "Num Names", "samr.samr_LookupNames.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15875
15
  { &hf_samr_samr_LookupNames_rids,
15876
15
    { "Rids", "samr.samr_LookupNames.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15877
15
  { &hf_samr_samr_LookupNames_types,
15878
15
    { "Types", "samr.samr_LookupNames.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15879
15
  { &hf_samr_samr_LookupRids_names,
15880
15
    { "Names", "samr.samr_LookupRids.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15881
15
  { &hf_samr_samr_LookupRids_num_rids,
15882
15
    { "Num Rids", "samr.samr_LookupRids.num_rids", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15883
15
  { &hf_samr_samr_LookupRids_types,
15884
15
    { "Types", "samr.samr_LookupRids.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15885
15
  { &hf_samr_samr_OemChangePasswordUser2_account,
15886
15
    { "Account", "samr.samr_OemChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15887
15
  { &hf_samr_samr_OemChangePasswordUser2_hash,
15888
15
    { "Hash", "samr.samr_OemChangePasswordUser2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15889
15
  { &hf_samr_samr_OemChangePasswordUser2_password,
15890
15
    { "Password", "samr.samr_OemChangePasswordUser2.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15891
15
  { &hf_samr_samr_OemChangePasswordUser2_server,
15892
15
    { "Server", "samr.samr_OemChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15893
15
  { &hf_samr_samr_OpenDomain_sid,
15894
15
    { "Sid", "samr.samr_OpenDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15895
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX,
15896
15
    { "DOMAIN PASSWORD COMPLEX", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_COMPLEX", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs), ( 0x00000001 ), NULL, HFILL }},
15897
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS,
15898
15
    { "DOMAIN PASSWORD LOCKOUT ADMINS", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_LOCKOUT_ADMINS", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS_tfs), ( 0x00000008 ), NULL, HFILL }},
15899
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE,
15900
15
    { "DOMAIN PASSWORD NO ANON CHANGE", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_NO_ANON_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE_tfs), ( 0x00000002 ), NULL, HFILL }},
15901
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE,
15902
15
    { "DOMAIN PASSWORD NO CLEAR CHANGE", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_NO_CLEAR_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE_tfs), ( 0x00000004 ), NULL, HFILL }},
15903
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT,
15904
15
    { "DOMAIN PASSWORD STORE CLEARTEXT", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_STORE_CLEARTEXT", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT_tfs), ( 0x00000010 ), NULL, HFILL }},
15905
15
  { &hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE,
15906
15
    { "DOMAIN REFUSE PASSWORD CHANGE", "samr.samr_PasswordProperties.DOMAIN_REFUSE_PASSWORD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE_tfs), ( 0x00000020 ), NULL, HFILL }},
15907
15
  { &hf_samr_samr_Password_hash,
15908
15
    { "Hash", "samr.samr_Password.hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15909
15
  { &hf_samr_samr_PwInfo_min_password_length,
15910
15
    { "Min Password Length", "samr.samr_PwInfo.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15911
15
  { &hf_samr_samr_PwInfo_password_properties,
15912
15
    { "Password Properties", "samr.samr_PwInfo.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15913
15
  { &hf_samr_samr_QueryAliasInfo_info,
15914
15
    { "Info", "samr.samr_QueryAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15915
15
  { &hf_samr_samr_QueryAliasInfo_level,
15916
15
    { "Level", "samr.samr_QueryAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
15917
15
  { &hf_samr_samr_QueryDisplayInfo2_buf_size,
15918
15
    { "Buf Size", "samr.samr_QueryDisplayInfo2.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15919
15
  { &hf_samr_samr_QueryDisplayInfo2_info,
15920
15
    { "Info", "samr.samr_QueryDisplayInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15921
15
  { &hf_samr_samr_QueryDisplayInfo2_level,
15922
15
    { "Level", "samr.samr_QueryDisplayInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15923
15
  { &hf_samr_samr_QueryDisplayInfo2_max_entries,
15924
15
    { "Max Entries", "samr.samr_QueryDisplayInfo2.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15925
15
  { &hf_samr_samr_QueryDisplayInfo2_returned_size,
15926
15
    { "Returned Size", "samr.samr_QueryDisplayInfo2.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15927
15
  { &hf_samr_samr_QueryDisplayInfo2_start_idx,
15928
15
    { "Start Idx", "samr.samr_QueryDisplayInfo2.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15929
15
  { &hf_samr_samr_QueryDisplayInfo2_total_size,
15930
15
    { "Total Size", "samr.samr_QueryDisplayInfo2.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15931
15
  { &hf_samr_samr_QueryDisplayInfo3_buf_size,
15932
15
    { "Buf Size", "samr.samr_QueryDisplayInfo3.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15933
15
  { &hf_samr_samr_QueryDisplayInfo3_info,
15934
15
    { "Info", "samr.samr_QueryDisplayInfo3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15935
15
  { &hf_samr_samr_QueryDisplayInfo3_level,
15936
15
    { "Level", "samr.samr_QueryDisplayInfo3.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15937
15
  { &hf_samr_samr_QueryDisplayInfo3_max_entries,
15938
15
    { "Max Entries", "samr.samr_QueryDisplayInfo3.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15939
15
  { &hf_samr_samr_QueryDisplayInfo3_returned_size,
15940
15
    { "Returned Size", "samr.samr_QueryDisplayInfo3.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15941
15
  { &hf_samr_samr_QueryDisplayInfo3_start_idx,
15942
15
    { "Start Idx", "samr.samr_QueryDisplayInfo3.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15943
15
  { &hf_samr_samr_QueryDisplayInfo3_total_size,
15944
15
    { "Total Size", "samr.samr_QueryDisplayInfo3.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15945
15
  { &hf_samr_samr_QueryDisplayInfo_buf_size,
15946
15
    { "Buf Size", "samr.samr_QueryDisplayInfo.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15947
15
  { &hf_samr_samr_QueryDisplayInfo_info,
15948
15
    { "Info", "samr.samr_QueryDisplayInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15949
15
  { &hf_samr_samr_QueryDisplayInfo_level,
15950
15
    { "Level", "samr.samr_QueryDisplayInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15951
15
  { &hf_samr_samr_QueryDisplayInfo_max_entries,
15952
15
    { "Max Entries", "samr.samr_QueryDisplayInfo.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15953
15
  { &hf_samr_samr_QueryDisplayInfo_returned_size,
15954
15
    { "Returned Size", "samr.samr_QueryDisplayInfo.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15955
15
  { &hf_samr_samr_QueryDisplayInfo_start_idx,
15956
15
    { "Start Idx", "samr.samr_QueryDisplayInfo.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15957
15
  { &hf_samr_samr_QueryDisplayInfo_total_size,
15958
15
    { "Total Size", "samr.samr_QueryDisplayInfo.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15959
15
  { &hf_samr_samr_QueryDomainInfo2_info,
15960
15
    { "Info", "samr.samr_QueryDomainInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15961
15
  { &hf_samr_samr_QueryDomainInfo2_level,
15962
15
    { "Level", "samr.samr_QueryDomainInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15963
15
  { &hf_samr_samr_QueryDomainInfo_info,
15964
15
    { "Info", "samr.samr_QueryDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15965
15
  { &hf_samr_samr_QueryDomainInfo_level,
15966
15
    { "Level", "samr.samr_QueryDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15967
15
  { &hf_samr_samr_QueryGroupInfo_info,
15968
15
    { "Info", "samr.samr_QueryGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15969
15
  { &hf_samr_samr_QueryGroupInfo_level,
15970
15
    { "Level", "samr.samr_QueryGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
15971
15
  { &hf_samr_samr_QueryGroupMember_rids,
15972
15
    { "Rids", "samr.samr_QueryGroupMember.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15973
15
  { &hf_samr_samr_QuerySecurity_sdbuf,
15974
15
    { "Sdbuf", "samr.samr_QuerySecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15975
15
  { &hf_samr_samr_QuerySecurity_sec_info,
15976
15
    { "Sec Info", "samr.samr_QuerySecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15977
15
  { &hf_samr_samr_QueryUserInfo2_info,
15978
15
    { "Info", "samr.samr_QueryUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15979
15
  { &hf_samr_samr_QueryUserInfo2_level,
15980
15
    { "Level", "samr.samr_QueryUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15981
15
  { &hf_samr_samr_QueryUserInfo_info,
15982
15
    { "Info", "samr.samr_QueryUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15983
15
  { &hf_samr_samr_QueryUserInfo_level,
15984
15
    { "Level", "samr.samr_QueryUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15985
15
  { &hf_samr_samr_RemoveMemberFromForeignDomain_sid,
15986
15
    { "Sid", "samr.samr_RemoveMemberFromForeignDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15987
15
  { &hf_samr_samr_RemoveMultipleMembersFromAlias_sids,
15988
15
    { "Sids", "samr.samr_RemoveMultipleMembersFromAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15989
15
  { &hf_samr_samr_RidToSid_sid,
15990
15
    { "Sid", "samr.samr_RidToSid.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15991
15
  { &hf_samr_samr_RidTypeArray_count,
15992
15
    { "Count", "samr.samr_RidTypeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15993
15
  { &hf_samr_samr_RidTypeArray_types,
15994
15
    { "Types", "samr.samr_RidTypeArray.types", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15995
15
  { &hf_samr_samr_RidWithAttributeArray_count,
15996
15
    { "Count", "samr.samr_RidWithAttributeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15997
15
  { &hf_samr_samr_RidWithAttributeArray_rids,
15998
15
    { "Rids", "samr.samr_RidWithAttributeArray.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15999
15
  { &hf_samr_samr_RidWithAttribute_attributes,
16000
15
    { "Attributes", "samr.samr_RidWithAttribute.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16001
15
  { &hf_samr_samr_SamArray_count,
16002
15
    { "Count", "samr.samr_SamArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16003
15
  { &hf_samr_samr_SamArray_entries,
16004
15
    { "Entries", "samr.samr_SamArray.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16005
15
  { &hf_samr_samr_SamEntry_idx,
16006
15
    { "Idx", "samr.samr_SamEntry.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16007
15
  { &hf_samr_samr_SamEntry_name,
16008
15
    { "Name", "samr.samr_SamEntry.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16009
15
  { &hf_samr_samr_SetAliasInfo_info,
16010
15
    { "Info", "samr.samr_SetAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16011
15
  { &hf_samr_samr_SetAliasInfo_level,
16012
15
    { "Level", "samr.samr_SetAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
16013
15
  { &hf_samr_samr_SetBootKeyInformation_unknown1,
16014
15
    { "Unknown1", "samr.samr_SetBootKeyInformation.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16015
15
  { &hf_samr_samr_SetBootKeyInformation_unknown2,
16016
15
    { "Unknown2", "samr.samr_SetBootKeyInformation.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16017
15
  { &hf_samr_samr_SetBootKeyInformation_unknown3,
16018
15
    { "Unknown3", "samr.samr_SetBootKeyInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16019
15
  { &hf_samr_samr_SetDomainInfo_info,
16020
15
    { "Info", "samr.samr_SetDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16021
15
  { &hf_samr_samr_SetDomainInfo_level,
16022
15
    { "Level", "samr.samr_SetDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
16023
15
  { &hf_samr_samr_SetDsrmPassword_hash,
16024
15
    { "Hash", "samr.samr_SetDsrmPassword.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16025
15
  { &hf_samr_samr_SetDsrmPassword_name,
16026
15
    { "Name", "samr.samr_SetDsrmPassword.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16027
15
  { &hf_samr_samr_SetDsrmPassword_unknown,
16028
15
    { "Unknown", "samr.samr_SetDsrmPassword.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16029
15
  { &hf_samr_samr_SetGroupInfo_info,
16030
15
    { "Info", "samr.samr_SetGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16031
15
  { &hf_samr_samr_SetGroupInfo_level,
16032
15
    { "Level", "samr.samr_SetGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
16033
15
  { &hf_samr_samr_SetMemberAttributesOfGroup_unknown1,
16034
15
    { "Unknown1", "samr.samr_SetMemberAttributesOfGroup.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16035
15
  { &hf_samr_samr_SetMemberAttributesOfGroup_unknown2,
16036
15
    { "Unknown2", "samr.samr_SetMemberAttributesOfGroup.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16037
15
  { &hf_samr_samr_SetSecurity_sdbuf,
16038
15
    { "Sdbuf", "samr.samr_SetSecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16039
15
  { &hf_samr_samr_SetSecurity_sec_info,
16040
15
    { "Sec Info", "samr.samr_SetSecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16041
15
  { &hf_samr_samr_SetUserInfo2_info,
16042
15
    { "Info", "samr.samr_SetUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16043
15
  { &hf_samr_samr_SetUserInfo2_level,
16044
15
    { "Level", "samr.samr_SetUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16045
15
  { &hf_samr_samr_SetUserInfo_info,
16046
15
    { "Info", "samr.samr_SetUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16047
15
  { &hf_samr_samr_SetUserInfo_level,
16048
15
    { "Level", "samr.samr_SetUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16049
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP,
16050
15
    { "SAMR USER ACCESS CHANGE GROUP MEMBERSHIP", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP_tfs), ( 0x00000400 ), NULL, HFILL }},
16051
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD,
16052
15
    { "SAMR USER ACCESS CHANGE PASSWORD", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_CHANGE_PASSWORD", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD_tfs), ( 0x00000040 ), NULL, HFILL }},
16053
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES,
16054
15
    { "SAMR USER ACCESS GET ATTRIBUTES", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_ATTRIBUTES", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES_tfs), ( 0x00000010 ), NULL, HFILL }},
16055
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS,
16056
15
    { "SAMR USER ACCESS GET GROUPS", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_GROUPS", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS_tfs), ( 0x00000100 ), NULL, HFILL }},
16057
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP,
16058
15
    { "SAMR USER ACCESS GET GROUP MEMBERSHIP", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP_tfs), ( 0x00000200 ), NULL, HFILL }},
16059
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE,
16060
15
    { "SAMR USER ACCESS GET LOCALE", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_LOCALE", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE_tfs), ( 0x00000002 ), NULL, HFILL }},
16061
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO,
16062
15
    { "SAMR USER ACCESS GET LOGONINFO", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_LOGONINFO", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO_tfs), ( 0x00000008 ), NULL, HFILL }},
16063
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC,
16064
15
    { "SAMR USER ACCESS GET NAME ETC", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_NAME_ETC", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC_tfs), ( 0x00000001 ), NULL, HFILL }},
16065
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES,
16066
15
    { "SAMR USER ACCESS SET ATTRIBUTES", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_ATTRIBUTES", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES_tfs), ( 0x00000020 ), NULL, HFILL }},
16067
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM,
16068
15
    { "SAMR USER ACCESS SET LOC COM", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_LOC_COM", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM_tfs), ( 0x00000004 ), NULL, HFILL }},
16069
15
  { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD,
16070
15
    { "SAMR USER ACCESS SET PASSWORD", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_PASSWORD", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD_tfs), ( 0x00000080 ), NULL, HFILL }},
16071
15
  { &hf_samr_samr_UserInfo10_home_directory,
16072
15
    { "Home Directory", "samr.samr_UserInfo10.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16073
15
  { &hf_samr_samr_UserInfo10_home_drive,
16074
15
    { "Home Drive", "samr.samr_UserInfo10.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16075
15
  { &hf_samr_samr_UserInfo11_logon_script,
16076
15
    { "Logon Script", "samr.samr_UserInfo11.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16077
15
  { &hf_samr_samr_UserInfo12_profile_path,
16078
15
    { "Profile Path", "samr.samr_UserInfo12.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16079
15
  { &hf_samr_samr_UserInfo13_description,
16080
15
    { "Description", "samr.samr_UserInfo13.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16081
15
  { &hf_samr_samr_UserInfo14_workstations,
16082
15
    { "Workstations", "samr.samr_UserInfo14.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16083
15
  { &hf_samr_samr_UserInfo16_acct_flags,
16084
15
    { "Acct Flags", "samr.samr_UserInfo16.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16085
15
  { &hf_samr_samr_UserInfo17_acct_expiry,
16086
15
    { "Acct Expiry", "samr.samr_UserInfo17.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16087
15
  { &hf_samr_samr_UserInfo18_lm_pwd,
16088
15
    { "Lm Pwd", "samr.samr_UserInfo18.lm_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16089
15
  { &hf_samr_samr_UserInfo18_lm_pwd_active,
16090
15
    { "Lm Pwd Active", "samr.samr_UserInfo18.lm_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16091
15
  { &hf_samr_samr_UserInfo18_nt_pwd,
16092
15
    { "Nt Pwd", "samr.samr_UserInfo18.nt_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16093
15
  { &hf_samr_samr_UserInfo18_nt_pwd_active,
16094
15
    { "Nt Pwd Active", "samr.samr_UserInfo18.nt_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16095
15
  { &hf_samr_samr_UserInfo18_password_expired,
16096
15
    { "Password Expired", "samr.samr_UserInfo18.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16097
15
  { &hf_samr_samr_UserInfo1_account_name,
16098
15
    { "Account Name", "samr.samr_UserInfo1.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16099
15
  { &hf_samr_samr_UserInfo1_comment,
16100
15
    { "Comment", "samr.samr_UserInfo1.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16101
15
  { &hf_samr_samr_UserInfo1_description,
16102
15
    { "Description", "samr.samr_UserInfo1.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16103
15
  { &hf_samr_samr_UserInfo1_full_name,
16104
15
    { "Full Name", "samr.samr_UserInfo1.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16105
15
  { &hf_samr_samr_UserInfo1_primary_gid,
16106
15
    { "Primary Gid", "samr.samr_UserInfo1.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16107
15
  { &hf_samr_samr_UserInfo20_parameters,
16108
15
    { "Parameters", "samr.samr_UserInfo20.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16109
15
  { &hf_samr_samr_UserInfo21_account_name,
16110
15
    { "Account Name", "samr.samr_UserInfo21.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16111
15
  { &hf_samr_samr_UserInfo21_acct_expiry,
16112
15
    { "Acct Expiry", "samr.samr_UserInfo21.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16113
15
  { &hf_samr_samr_UserInfo21_acct_flags,
16114
15
    { "Acct Flags", "samr.samr_UserInfo21.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16115
15
  { &hf_samr_samr_UserInfo21_allow_password_change,
16116
15
    { "Allow Password Change", "samr.samr_UserInfo21.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16117
15
  { &hf_samr_samr_UserInfo21_bad_password_count,
16118
15
    { "Bad Password Count", "samr.samr_UserInfo21.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16119
15
  { &hf_samr_samr_UserInfo21_buf_count,
16120
15
    { "Buf Count", "samr.samr_UserInfo21.buf_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16121
15
  { &hf_samr_samr_UserInfo21_buffer,
16122
15
    { "Buffer", "samr.samr_UserInfo21.buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16123
15
  { &hf_samr_samr_UserInfo21_code_page,
16124
15
    { "Code Page", "samr.samr_UserInfo21.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16125
15
  { &hf_samr_samr_UserInfo21_comment,
16126
15
    { "Comment", "samr.samr_UserInfo21.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16127
15
  { &hf_samr_samr_UserInfo21_country_code,
16128
15
    { "Country Code", "samr.samr_UserInfo21.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16129
15
  { &hf_samr_samr_UserInfo21_description,
16130
15
    { "Description", "samr.samr_UserInfo21.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16131
15
  { &hf_samr_samr_UserInfo21_fields_present,
16132
15
    { "Fields Present", "samr.samr_UserInfo21.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16133
15
  { &hf_samr_samr_UserInfo21_force_password_change,
16134
15
    { "Force Password Change", "samr.samr_UserInfo21.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16135
15
  { &hf_samr_samr_UserInfo21_full_name,
16136
15
    { "Full Name", "samr.samr_UserInfo21.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16137
15
  { &hf_samr_samr_UserInfo21_home_directory,
16138
15
    { "Home Directory", "samr.samr_UserInfo21.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16139
15
  { &hf_samr_samr_UserInfo21_home_drive,
16140
15
    { "Home Drive", "samr.samr_UserInfo21.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16141
15
  { &hf_samr_samr_UserInfo21_last_logoff,
16142
15
    { "Last Logoff", "samr.samr_UserInfo21.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16143
15
  { &hf_samr_samr_UserInfo21_last_logon,
16144
15
    { "Last Logon", "samr.samr_UserInfo21.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16145
15
  { &hf_samr_samr_UserInfo21_last_password_change,
16146
15
    { "Last Password Change", "samr.samr_UserInfo21.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16147
15
  { &hf_samr_samr_UserInfo21_lm_owf_password,
16148
15
    { "Lm Owf Password", "samr.samr_UserInfo21.lm_owf_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16149
15
  { &hf_samr_samr_UserInfo21_lm_password_set,
16150
15
    { "Lm Password Set", "samr.samr_UserInfo21.lm_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16151
15
  { &hf_samr_samr_UserInfo21_logon_count,
16152
15
    { "Logon Count", "samr.samr_UserInfo21.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16153
15
  { &hf_samr_samr_UserInfo21_logon_hours,
16154
15
    { "Logon Hours", "samr.samr_UserInfo21.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16155
15
  { &hf_samr_samr_UserInfo21_logon_script,
16156
15
    { "Logon Script", "samr.samr_UserInfo21.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16157
15
  { &hf_samr_samr_UserInfo21_nt_owf_password,
16158
15
    { "Nt Owf Password", "samr.samr_UserInfo21.nt_owf_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16159
15
  { &hf_samr_samr_UserInfo21_nt_password_set,
16160
15
    { "Nt Password Set", "samr.samr_UserInfo21.nt_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16161
15
  { &hf_samr_samr_UserInfo21_parameters,
16162
15
    { "Parameters", "samr.samr_UserInfo21.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16163
15
  { &hf_samr_samr_UserInfo21_password_expired,
16164
15
    { "Password Expired", "samr.samr_UserInfo21.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16165
15
  { &hf_samr_samr_UserInfo21_primary_gid,
16166
15
    { "Primary Gid", "samr.samr_UserInfo21.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16167
15
  { &hf_samr_samr_UserInfo21_private_data,
16168
15
    { "Private Data", "samr.samr_UserInfo21.private_data", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16169
15
  { &hf_samr_samr_UserInfo21_private_data_sensitive,
16170
15
    { "Private Data Sensitive", "samr.samr_UserInfo21.private_data_sensitive", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16171
15
  { &hf_samr_samr_UserInfo21_profile_path,
16172
15
    { "Profile Path", "samr.samr_UserInfo21.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16173
15
  { &hf_samr_samr_UserInfo21_workstations,
16174
15
    { "Workstations", "samr.samr_UserInfo21.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16175
15
  { &hf_samr_samr_UserInfo23_info,
16176
15
    { "Info", "samr.samr_UserInfo23.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16177
15
  { &hf_samr_samr_UserInfo23_password,
16178
15
    { "Password", "samr.samr_UserInfo23.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16179
15
  { &hf_samr_samr_UserInfo24_password,
16180
15
    { "Password", "samr.samr_UserInfo24.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16181
15
  { &hf_samr_samr_UserInfo24_password_expired,
16182
15
    { "Password Expired", "samr.samr_UserInfo24.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16183
15
  { &hf_samr_samr_UserInfo25_info,
16184
15
    { "Info", "samr.samr_UserInfo25.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16185
15
  { &hf_samr_samr_UserInfo25_password,
16186
15
    { "Password", "samr.samr_UserInfo25.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16187
15
  { &hf_samr_samr_UserInfo26_password,
16188
15
    { "Password", "samr.samr_UserInfo26.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16189
15
  { &hf_samr_samr_UserInfo26_password_expired,
16190
15
    { "Password Expired", "samr.samr_UserInfo26.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16191
15
  { &hf_samr_samr_UserInfo2_code_page,
16192
15
    { "Code Page", "samr.samr_UserInfo2.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16193
15
  { &hf_samr_samr_UserInfo2_comment,
16194
15
    { "Comment", "samr.samr_UserInfo2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16195
15
  { &hf_samr_samr_UserInfo2_country_code,
16196
15
    { "Country Code", "samr.samr_UserInfo2.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16197
15
  { &hf_samr_samr_UserInfo2_reserved,
16198
15
    { "Reserved", "samr.samr_UserInfo2.reserved", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16199
15
  { &hf_samr_samr_UserInfo31_password,
16200
15
    { "Password", "samr.samr_UserInfo31.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16201
15
  { &hf_samr_samr_UserInfo31_password_expired,
16202
15
    { "Password Expired", "samr.samr_UserInfo31.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16203
15
  { &hf_samr_samr_UserInfo32_info,
16204
15
    { "Info", "samr.samr_UserInfo32.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16205
15
  { &hf_samr_samr_UserInfo32_password,
16206
15
    { "Password", "samr.samr_UserInfo32.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16207
15
  { &hf_samr_samr_UserInfo3_account_name,
16208
15
    { "Account Name", "samr.samr_UserInfo3.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16209
15
  { &hf_samr_samr_UserInfo3_acct_flags,
16210
15
    { "Acct Flags", "samr.samr_UserInfo3.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16211
15
  { &hf_samr_samr_UserInfo3_allow_password_change,
16212
15
    { "Allow Password Change", "samr.samr_UserInfo3.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16213
15
  { &hf_samr_samr_UserInfo3_bad_password_count,
16214
15
    { "Bad Password Count", "samr.samr_UserInfo3.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16215
15
  { &hf_samr_samr_UserInfo3_force_password_change,
16216
15
    { "Force Password Change", "samr.samr_UserInfo3.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16217
15
  { &hf_samr_samr_UserInfo3_full_name,
16218
15
    { "Full Name", "samr.samr_UserInfo3.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16219
15
  { &hf_samr_samr_UserInfo3_home_directory,
16220
15
    { "Home Directory", "samr.samr_UserInfo3.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16221
15
  { &hf_samr_samr_UserInfo3_home_drive,
16222
15
    { "Home Drive", "samr.samr_UserInfo3.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16223
15
  { &hf_samr_samr_UserInfo3_last_logoff,
16224
15
    { "Last Logoff", "samr.samr_UserInfo3.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16225
15
  { &hf_samr_samr_UserInfo3_last_logon,
16226
15
    { "Last Logon", "samr.samr_UserInfo3.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16227
15
  { &hf_samr_samr_UserInfo3_last_password_change,
16228
15
    { "Last Password Change", "samr.samr_UserInfo3.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16229
15
  { &hf_samr_samr_UserInfo3_logon_count,
16230
15
    { "Logon Count", "samr.samr_UserInfo3.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16231
15
  { &hf_samr_samr_UserInfo3_logon_hours,
16232
15
    { "Logon Hours", "samr.samr_UserInfo3.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16233
15
  { &hf_samr_samr_UserInfo3_logon_script,
16234
15
    { "Logon Script", "samr.samr_UserInfo3.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16235
15
  { &hf_samr_samr_UserInfo3_primary_gid,
16236
15
    { "Primary Gid", "samr.samr_UserInfo3.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16237
15
  { &hf_samr_samr_UserInfo3_profile_path,
16238
15
    { "Profile Path", "samr.samr_UserInfo3.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16239
15
  { &hf_samr_samr_UserInfo3_workstations,
16240
15
    { "Workstations", "samr.samr_UserInfo3.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16241
15
  { &hf_samr_samr_UserInfo4_logon_hours,
16242
15
    { "Logon Hours", "samr.samr_UserInfo4.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16243
15
  { &hf_samr_samr_UserInfo5_account_name,
16244
15
    { "Account Name", "samr.samr_UserInfo5.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16245
15
  { &hf_samr_samr_UserInfo5_acct_expiry,
16246
15
    { "Acct Expiry", "samr.samr_UserInfo5.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16247
15
  { &hf_samr_samr_UserInfo5_acct_flags,
16248
15
    { "Acct Flags", "samr.samr_UserInfo5.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16249
15
  { &hf_samr_samr_UserInfo5_bad_password_count,
16250
15
    { "Bad Password Count", "samr.samr_UserInfo5.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16251
15
  { &hf_samr_samr_UserInfo5_description,
16252
15
    { "Description", "samr.samr_UserInfo5.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16253
15
  { &hf_samr_samr_UserInfo5_full_name,
16254
15
    { "Full Name", "samr.samr_UserInfo5.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16255
15
  { &hf_samr_samr_UserInfo5_home_directory,
16256
15
    { "Home Directory", "samr.samr_UserInfo5.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16257
15
  { &hf_samr_samr_UserInfo5_home_drive,
16258
15
    { "Home Drive", "samr.samr_UserInfo5.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16259
15
  { &hf_samr_samr_UserInfo5_last_logoff,
16260
15
    { "Last Logoff", "samr.samr_UserInfo5.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16261
15
  { &hf_samr_samr_UserInfo5_last_logon,
16262
15
    { "Last Logon", "samr.samr_UserInfo5.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16263
15
  { &hf_samr_samr_UserInfo5_last_password_change,
16264
15
    { "Last Password Change", "samr.samr_UserInfo5.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16265
15
  { &hf_samr_samr_UserInfo5_logon_count,
16266
15
    { "Logon Count", "samr.samr_UserInfo5.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16267
15
  { &hf_samr_samr_UserInfo5_logon_hours,
16268
15
    { "Logon Hours", "samr.samr_UserInfo5.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16269
15
  { &hf_samr_samr_UserInfo5_logon_script,
16270
15
    { "Logon Script", "samr.samr_UserInfo5.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16271
15
  { &hf_samr_samr_UserInfo5_primary_gid,
16272
15
    { "Primary Gid", "samr.samr_UserInfo5.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16273
15
  { &hf_samr_samr_UserInfo5_profile_path,
16274
15
    { "Profile Path", "samr.samr_UserInfo5.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16275
15
  { &hf_samr_samr_UserInfo5_workstations,
16276
15
    { "Workstations", "samr.samr_UserInfo5.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16277
15
  { &hf_samr_samr_UserInfo6_account_name,
16278
15
    { "Account Name", "samr.samr_UserInfo6.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16279
15
  { &hf_samr_samr_UserInfo6_full_name,
16280
15
    { "Full Name", "samr.samr_UserInfo6.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16281
15
  { &hf_samr_samr_UserInfo7_account_name,
16282
15
    { "Account Name", "samr.samr_UserInfo7.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16283
15
  { &hf_samr_samr_UserInfo8_full_name,
16284
15
    { "Full Name", "samr.samr_UserInfo8.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16285
15
  { &hf_samr_samr_UserInfo9_primary_gid,
16286
15
    { "Primary Gid", "samr.samr_UserInfo9.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16287
15
  { &hf_samr_samr_UserInfo_info1,
16288
15
    { "Info1", "samr.samr_UserInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16289
15
  { &hf_samr_samr_UserInfo_info10,
16290
15
    { "Info10", "samr.samr_UserInfo.info10", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16291
15
  { &hf_samr_samr_UserInfo_info11,
16292
15
    { "Info11", "samr.samr_UserInfo.info11", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16293
15
  { &hf_samr_samr_UserInfo_info12,
16294
15
    { "Info12", "samr.samr_UserInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16295
15
  { &hf_samr_samr_UserInfo_info13,
16296
15
    { "Info13", "samr.samr_UserInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16297
15
  { &hf_samr_samr_UserInfo_info14,
16298
15
    { "Info14", "samr.samr_UserInfo.info14", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16299
15
  { &hf_samr_samr_UserInfo_info16,
16300
15
    { "Info16", "samr.samr_UserInfo.info16", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16301
15
  { &hf_samr_samr_UserInfo_info17,
16302
15
    { "Info17", "samr.samr_UserInfo.info17", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16303
15
  { &hf_samr_samr_UserInfo_info18,
16304
15
    { "Info18", "samr.samr_UserInfo.info18", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16305
15
  { &hf_samr_samr_UserInfo_info2,
16306
15
    { "Info2", "samr.samr_UserInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16307
15
  { &hf_samr_samr_UserInfo_info20,
16308
15
    { "Info20", "samr.samr_UserInfo.info20", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16309
15
  { &hf_samr_samr_UserInfo_info21,
16310
15
    { "Info21", "samr.samr_UserInfo.info21", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16311
15
  { &hf_samr_samr_UserInfo_info23,
16312
15
    { "Info23", "samr.samr_UserInfo.info23", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16313
15
  { &hf_samr_samr_UserInfo_info24,
16314
15
    { "Info24", "samr.samr_UserInfo.info24", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16315
15
  { &hf_samr_samr_UserInfo_info25,
16316
15
    { "Info25", "samr.samr_UserInfo.info25", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16317
15
  { &hf_samr_samr_UserInfo_info26,
16318
15
    { "Info26", "samr.samr_UserInfo.info26", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16319
15
  { &hf_samr_samr_UserInfo_info3,
16320
15
    { "Info3", "samr.samr_UserInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16321
15
  { &hf_samr_samr_UserInfo_info31,
16322
15
    { "Info31", "samr.samr_UserInfo.info31", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16323
15
  { &hf_samr_samr_UserInfo_info32,
16324
15
    { "Info32", "samr.samr_UserInfo.info32", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16325
15
  { &hf_samr_samr_UserInfo_info4,
16326
15
    { "Info4", "samr.samr_UserInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16327
15
  { &hf_samr_samr_UserInfo_info5,
16328
15
    { "Info5", "samr.samr_UserInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16329
15
  { &hf_samr_samr_UserInfo_info6,
16330
15
    { "Info6", "samr.samr_UserInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16331
15
  { &hf_samr_samr_UserInfo_info7,
16332
15
    { "Info7", "samr.samr_UserInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16333
15
  { &hf_samr_samr_UserInfo_info8,
16334
15
    { "Info8", "samr.samr_UserInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16335
15
  { &hf_samr_samr_UserInfo_info9,
16336
15
    { "Info9", "samr.samr_UserInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16337
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT,
16338
15
    { "SAMR VALIDATE FIELD BAD PASSWORD COUNT", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT_tfs), ( 0x00000008 ), NULL, HFILL }},
16339
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME,
16340
15
    { "SAMR VALIDATE FIELD BAD PASSWORD TIME", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME_tfs), ( 0x00000002 ), NULL, HFILL }},
16341
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME,
16342
15
    { "SAMR VALIDATE FIELD LOCKOUT TIME", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_LOCKOUT_TIME", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME_tfs), ( 0x00000004 ), NULL, HFILL }},
16343
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY,
16344
15
    { "SAMR VALIDATE FIELD PASSWORD HISTORY", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_tfs), ( 0x00000020 ), NULL, HFILL }},
16345
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH,
16346
15
    { "SAMR VALIDATE FIELD PASSWORD HISTORY LENGTH", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH_tfs), ( 0x00000010 ), NULL, HFILL }},
16347
15
  { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET,
16348
15
    { "SAMR VALIDATE FIELD PASSWORD LAST SET", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET_tfs), ( 0x00000001 ), NULL, HFILL }},
16349
15
  { &hf_samr_samr_ValidatePasswordInfo_bad_password_time,
16350
15
    { "Bad Password Time", "samr.samr_ValidatePasswordInfo.bad_password_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16351
15
  { &hf_samr_samr_ValidatePasswordInfo_bad_pwd_count,
16352
15
    { "Bad Pwd Count", "samr.samr_ValidatePasswordInfo.bad_pwd_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16353
15
  { &hf_samr_samr_ValidatePasswordInfo_fields_present,
16354
15
    { "Fields Present", "samr.samr_ValidatePasswordInfo.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16355
15
  { &hf_samr_samr_ValidatePasswordInfo_last_password_change,
16356
15
    { "Last Password Change", "samr.samr_ValidatePasswordInfo.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16357
15
  { &hf_samr_samr_ValidatePasswordInfo_lockout_time,
16358
15
    { "Lockout Time", "samr.samr_ValidatePasswordInfo.lockout_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16359
15
  { &hf_samr_samr_ValidatePasswordInfo_pwd_history,
16360
15
    { "Pwd History", "samr.samr_ValidatePasswordInfo.pwd_history", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16361
15
  { &hf_samr_samr_ValidatePasswordInfo_pwd_history_len,
16362
15
    { "Pwd History Len", "samr.samr_ValidatePasswordInfo.pwd_history_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16363
15
  { &hf_samr_samr_ValidatePasswordRepCtr_info,
16364
15
    { "Info", "samr.samr_ValidatePasswordRepCtr.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16365
15
  { &hf_samr_samr_ValidatePasswordRepCtr_status,
16366
15
    { "Status", "samr.samr_ValidatePasswordRepCtr.status", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidationStatus_vals), 0, NULL, HFILL }},
16367
15
  { &hf_samr_samr_ValidatePasswordRep_ctr1,
16368
15
    { "Ctr1", "samr.samr_ValidatePasswordRep.ctr1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16369
15
  { &hf_samr_samr_ValidatePasswordRep_ctr2,
16370
15
    { "Ctr2", "samr.samr_ValidatePasswordRep.ctr2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16371
15
  { &hf_samr_samr_ValidatePasswordRep_ctr3,
16372
15
    { "Ctr3", "samr.samr_ValidatePasswordRep.ctr3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16373
15
  { &hf_samr_samr_ValidatePasswordReq1_info,
16374
15
    { "Info", "samr.samr_ValidatePasswordReq1.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16375
15
  { &hf_samr_samr_ValidatePasswordReq1_password_matched,
16376
15
    { "Password Matched", "samr.samr_ValidatePasswordReq1.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16377
15
  { &hf_samr_samr_ValidatePasswordReq2_account,
16378
15
    { "Account", "samr.samr_ValidatePasswordReq2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16379
15
  { &hf_samr_samr_ValidatePasswordReq2_hash,
16380
15
    { "Hash", "samr.samr_ValidatePasswordReq2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16381
15
  { &hf_samr_samr_ValidatePasswordReq2_info,
16382
15
    { "Info", "samr.samr_ValidatePasswordReq2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16383
15
  { &hf_samr_samr_ValidatePasswordReq2_password,
16384
15
    { "Password", "samr.samr_ValidatePasswordReq2.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16385
15
  { &hf_samr_samr_ValidatePasswordReq2_password_matched,
16386
15
    { "Password Matched", "samr.samr_ValidatePasswordReq2.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16387
15
  { &hf_samr_samr_ValidatePasswordReq3_account,
16388
15
    { "Account", "samr.samr_ValidatePasswordReq3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16389
15
  { &hf_samr_samr_ValidatePasswordReq3_clear_lockout,
16390
15
    { "Clear Lockout", "samr.samr_ValidatePasswordReq3.clear_lockout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16391
15
  { &hf_samr_samr_ValidatePasswordReq3_hash,
16392
15
    { "Hash", "samr.samr_ValidatePasswordReq3.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16393
15
  { &hf_samr_samr_ValidatePasswordReq3_info,
16394
15
    { "Info", "samr.samr_ValidatePasswordReq3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16395
15
  { &hf_samr_samr_ValidatePasswordReq3_password,
16396
15
    { "Password", "samr.samr_ValidatePasswordReq3.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16397
15
  { &hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon,
16398
15
    { "Pwd Must Change At Next Logon", "samr.samr_ValidatePasswordReq3.pwd_must_change_at_next_logon", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16399
15
  { &hf_samr_samr_ValidatePasswordReq_req1,
16400
15
    { "Req1", "samr.samr_ValidatePasswordReq.req1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16401
15
  { &hf_samr_samr_ValidatePasswordReq_req2,
16402
15
    { "Req2", "samr.samr_ValidatePasswordReq.req2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16403
15
  { &hf_samr_samr_ValidatePasswordReq_req3,
16404
15
    { "Req3", "samr.samr_ValidatePasswordReq.req3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16405
15
  { &hf_samr_samr_ValidatePassword_level,
16406
15
    { "Level", "samr.samr_ValidatePassword.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidatePasswordLevel_vals), 0, NULL, HFILL }},
16407
15
  { &hf_samr_samr_ValidatePassword_rep,
16408
15
    { "Rep", "samr.samr_ValidatePassword.rep", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16409
15
  { &hf_samr_samr_ValidatePassword_req,
16410
15
    { "Req", "samr.samr_ValidatePassword.req", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16411
15
  { &hf_samr_samr_ValidationBlob_data,
16412
15
    { "Data", "samr.samr_ValidationBlob.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16413
15
  { &hf_samr_samr_ValidationBlob_length,
16414
15
    { "Length", "samr.samr_ValidationBlob.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16415
15
  { &hf_samr_sec_desc_buf_len,
16416
15
    { "Sec Desc Buf Len", "samr.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16417
15
  { &hf_samr_status,
16418
15
    { "NT Error", "samr.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
16419
15
  { &hf_samr_userPwdChangeFailureInformation_extendedFailureReason,
16420
15
    { "ExtendedFailureReason", "samr.userPwdChangeFailureInformation.extendedFailureReason", FT_UINT32, BASE_DEC, VALS(samr_samPwdChangeReason_vals), 0, NULL, HFILL }},
16421
15
  { &hf_samr_userPwdChangeFailureInformation_filterModuleName,
16422
15
    { "FilterModuleName", "samr.userPwdChangeFailureInformation.filterModuleName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16423
15
  { &hf_samr_user_access_mask,
16424
15
    { "Access Mask", "samr.user.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16425
15
  { &hf_samr_user_handle,
16426
15
    { "User Handle", "samr.user_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16427
15
  };
16428
16429
16430
15
  static int *ett[] = {
16431
15
    &ett_dcerpc_samr,
16432
15
    &ett_samr_lsa_Strings,
16433
15
    &ett_samr_samr_AcctFlags,
16434
15
    &ett_samr_samr_ConnectAccessMask,
16435
15
    &ett_samr_samr_UserAccessMask,
16436
15
    &ett_samr_samr_DomainAccessMask,
16437
15
    &ett_samr_samr_GroupAccessMask,
16438
15
    &ett_samr_samr_AliasAccessMask,
16439
15
    &ett_samr_samr_SamEntry,
16440
15
    &ett_samr_samr_SamArray,
16441
15
    &ett_samr_samr_PasswordProperties,
16442
15
    &ett_samr_samr_DomInfo1,
16443
15
    &ett_samr_samr_DomGeneralInformation,
16444
15
    &ett_samr_samr_DomInfo3,
16445
15
    &ett_samr_samr_DomOEMInformation,
16446
15
    &ett_samr_samr_DomInfo5,
16447
15
    &ett_samr_samr_DomInfo6,
16448
15
    &ett_samr_samr_DomInfo7,
16449
15
    &ett_samr_samr_DomInfo8,
16450
15
    &ett_samr_samr_DomInfo9,
16451
15
    &ett_samr_samr_DomGeneralInformation2,
16452
15
    &ett_samr_samr_DomInfo12,
16453
15
    &ett_samr_samr_DomInfo13,
16454
15
    &ett_samr_samr_DomainInfo,
16455
15
    &ett_samr_samr_Ids,
16456
15
    &ett_samr_samr_GroupAttrs,
16457
15
    &ett_samr_samr_GroupInfoAll,
16458
15
    &ett_samr_samr_GroupInfoAttributes,
16459
15
    &ett_samr_samr_GroupInfoDescription,
16460
15
    &ett_samr_samr_GroupInfo,
16461
15
    &ett_samr_samr_RidTypeArray,
16462
15
    &ett_samr_samr_AliasInfoAll,
16463
15
    &ett_samr_samr_AliasInfo,
16464
15
    &ett_samr_samr_UserInfo1,
16465
15
    &ett_samr_samr_UserInfo2,
16466
15
    &ett_samr_samr_LogonHours,
16467
15
    &ett_samr_samr_UserInfo3,
16468
15
    &ett_samr_samr_UserInfo4,
16469
15
    &ett_samr_samr_UserInfo5,
16470
15
    &ett_samr_samr_UserInfo6,
16471
15
    &ett_samr_samr_UserInfo7,
16472
15
    &ett_samr_samr_UserInfo8,
16473
15
    &ett_samr_samr_UserInfo9,
16474
15
    &ett_samr_samr_UserInfo10,
16475
15
    &ett_samr_samr_UserInfo11,
16476
15
    &ett_samr_samr_UserInfo12,
16477
15
    &ett_samr_samr_UserInfo13,
16478
15
    &ett_samr_samr_UserInfo14,
16479
15
    &ett_samr_samr_UserInfo16,
16480
15
    &ett_samr_samr_UserInfo17,
16481
15
    &ett_samr_samr_Password,
16482
15
    &ett_samr_samr_UserInfo18,
16483
15
    &ett_samr_samr_UserInfo20,
16484
15
    &ett_samr_samr_FieldsPresent,
16485
15
    &ett_samr_samr_UserInfo21,
16486
15
    &ett_samr_samr_CryptPassword,
16487
15
    &ett_samr_samr_UserInfo23,
16488
15
    &ett_samr_samr_UserInfo24,
16489
15
    &ett_samr_samr_CryptPasswordEx,
16490
15
    &ett_samr_samr_UserInfo25,
16491
15
    &ett_samr_samr_UserInfo26,
16492
15
    &ett_samr_samr_EncryptedPasswordAES,
16493
15
    &ett_samr_samr_UserInfo31,
16494
15
    &ett_samr_samr_UserInfo32,
16495
15
    &ett_samr_samr_UserInfo,
16496
15
    &ett_samr_samr_RidWithAttribute,
16497
15
    &ett_samr_samr_RidWithAttributeArray,
16498
15
    &ett_samr_samr_DispEntryGeneral,
16499
15
    &ett_samr_samr_DispInfoGeneral,
16500
15
    &ett_samr_samr_DispEntryFull,
16501
15
    &ett_samr_samr_DispInfoFull,
16502
15
    &ett_samr_samr_DispEntryFullGroup,
16503
15
    &ett_samr_samr_DispInfoFullGroups,
16504
15
    &ett_samr_samr_DispEntryAscii,
16505
15
    &ett_samr_samr_DispInfoAscii,
16506
15
    &ett_samr_samr_DispInfo,
16507
15
    &ett_samr_samr_PwInfo,
16508
15
    &ett_samr_userPwdChangeFailureInformation,
16509
15
    &ett_samr_samr_ConnectInfo1,
16510
15
    &ett_samr_samr_ConnectInfo,
16511
15
    &ett_samr_samr_ValidateFieldsPresent,
16512
15
    &ett_samr_samr_ValidationBlob,
16513
15
    &ett_samr_samr_ValidatePasswordInfo,
16514
15
    &ett_samr_samr_ValidatePasswordRepCtr,
16515
15
    &ett_samr_samr_ValidatePasswordRep,
16516
15
    &ett_samr_samr_ValidatePasswordReq3,
16517
15
    &ett_samr_samr_ValidatePasswordReq2,
16518
15
    &ett_samr_samr_ValidatePasswordReq1,
16519
15
    &ett_samr_samr_ValidatePasswordReq,
16520
15
  };
16521
16522
15
  proto_dcerpc_samr = proto_register_protocol("SAMR (pidl)", "SAMR", "samr");
16523
15
  proto_register_field_array(proto_dcerpc_samr, hf, array_length (hf));
16524
15
  proto_register_subtree_array(ett, array_length(ett));
16525
16526
15
  module_t* samr_module = prefs_register_protocol_obsolete(proto_dcerpc_samr);
16527
15
  prefs_register_obsolete_preference(samr_module, "nt_password");
16528
15
}
16529
16530
void proto_reg_handoff_dcerpc_samr(void)
16531
15
{
16532
15
  dcerpc_init_uuid(proto_dcerpc_samr, ett_dcerpc_samr,
16533
15
    &uuid_dcerpc_samr, ver_dcerpc_samr,
16534
15
    samr_dissectors, hf_samr_opnum);
16535
15
}