Coverage Report

Created: 2025-08-04 07:15

/src/wireshark/epan/dissectors/packet-dcerpc-dnsserver.c
Line
Count
Source (jump to first uncovered line)
1
/* DO NOT EDIT
2
  This file was automatically generated by Pidl
3
  from dnsserver.idl and dnsserver.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-dnsserver.h"
22
void proto_register_dcerpc_dnsserver(void);
23
void proto_reg_handoff_dcerpc_dnsserver(void);
24
25
/* Ett declarations */
26
static int ett_dcerpc_dnsserver;
27
static int ett_dnsserver_DNS_RPC_VERSION;
28
static int ett_dnsserver_DNS_LOG_LEVELS;
29
static int ett_dnsserver_DNS_RPC_PROTOCOLS;
30
static int ett_dnsserver_DNS_SELECT_FLAGS;
31
static int ett_dnsserver_DNS_RPC_NODE_FLAGS;
32
static int ett_dnsserver_DNS_RPC_NAME;
33
static int ett_dnsserver_DNS_RPC_RECORD_NODE_NAME;
34
static int ett_dnsserver_DNS_RPC_RECORD_UNION;
35
static int ett_dnsserver_DNS_RPC_RECORD;
36
static int ett_dnsserver_DNS_RPC_NODE;
37
static int ett_dnsserver_IP4_ARRAY;
38
static int ett_dnsserver_DNS_RPC_SERVER_INFO_DOTNET;
39
static int ett_dnsserver_DNSSRV_RPC_UNION;
40
static int ett_dnsserver_DNS_RECORD_BUFFER;
41
42
43
/* Header field declarations */
44
static int hf_dnsserver_DNSSRV_RPC_UNION_ServerInfoDotnet;
45
static int hf_dnsserver_DNSSRV_RPC_UNION_dword;
46
static int hf_dnsserver_DNSSRV_RPC_UNION_null;
47
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_ANSWERS;
48
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_FULL_PACKETS;
49
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_NOTIFY;
50
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUERY;
51
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUESTIONS;
52
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_RECV;
53
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_SEND;
54
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_TCP;
55
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UDP;
56
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UPDATE;
57
static int hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_WRITE_THROUGH;
58
static int hf_dnsserver_DNS_RECORD_BUFFER_rpc_node;
59
static int hf_dnsserver_DNS_RPC_NAME_Name;
60
static int hf_dnsserver_DNS_RPC_NAME_NameLength;
61
static int hf_dnsserver_DNS_RPC_NAME_name;
62
static int hf_dnsserver_DNS_RPC_NODE_Childcount;
63
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AGING_ON;
64
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AUTH_ZONE_ROOT;
65
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_CACHE_DATA;
66
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_COMPLETE;
67
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_STICKY;
68
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_OPEN_ACL;
69
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_CREATE_PTR;
70
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_TTL_CHANGE;
71
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECOR_DEFAULT_TTL;
72
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_SUPPRESS_NOTIFY;
73
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_DELEGATION;
74
static int hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_ROOT;
75
static int hf_dnsserver_DNS_RPC_NODE_Flags;
76
static int hf_dnsserver_DNS_RPC_NODE_Length;
77
static int hf_dnsserver_DNS_RPC_NODE_NodeName;
78
static int hf_dnsserver_DNS_RPC_NODE_RecordCount;
79
static int hf_dnsserver_DNS_RPC_NODE_records;
80
static int hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_LPC;
81
static int hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_NAMED_PIPE;
82
static int hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_TCPIP;
83
static int hf_dnsserver_DNS_RPC_RECORD_DataLength;
84
static int hf_dnsserver_DNS_RPC_RECORD_Flags;
85
static int hf_dnsserver_DNS_RPC_RECORD_NODE_NAME_Name;
86
static int hf_dnsserver_DNS_RPC_RECORD_Serial;
87
static int hf_dnsserver_DNS_RPC_RECORD_TimeStamp;
88
static int hf_dnsserver_DNS_RPC_RECORD_TtlSeconds;
89
static int hf_dnsserver_DNS_RPC_RECORD_Type;
90
static int hf_dnsserver_DNS_RPC_RECORD_UNION_NodeName;
91
static int hf_dnsserver_DNS_RPC_RECORD_record;
92
static int hf_dnsserver_DNS_RPC_RECORD_reserved;
93
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit;
94
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured;
95
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate;
96
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate;
97
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones;
98
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries;
99
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BootMethod;
100
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel;
101
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState;
102
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval;
103
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval;
104
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition;
105
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainName;
106
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable;
107
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsContainer;
108
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion;
109
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion;
110
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion;
111
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval;
112
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel;
113
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition;
114
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestName;
115
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations;
116
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout;
117
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Forwarders;
118
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime;
119
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs;
120
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority;
121
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask;
122
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize;
123
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath;
124
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilter;
125
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogLevel;
126
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding;
127
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl;
128
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag;
129
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion;
130
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding;
131
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry;
132
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout;
133
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin;
134
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol;
135
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion;
136
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval;
137
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses;
138
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs;
139
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerName;
140
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing;
141
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Version;
142
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs;
143
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension0;
144
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension1;
145
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension2;
146
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension3;
147
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension4;
148
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension5;
149
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array;
150
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2;
151
static int hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserved0;
152
static int hf_dnsserver_DNS_RPC_VERSION_OSMajorVersion;
153
static int hf_dnsserver_DNS_RPC_VERSION_OSMinorVersion;
154
static int hf_dnsserver_DNS_RPC_VERSION_ServicePackVersion;
155
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ADDITIONAL_DATA;
156
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_AUTHORITY_DATA;
157
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_CACHE_DATA;
158
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_GLUE_DATA;
159
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_NO_CHILDREN;
160
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ONLY_CHILDREN;
161
static int hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ROOT_HINT_DATA;
162
static int hf_dnsserver_DnssrvEnumRecords2_buffer_length;
163
static int hf_dnsserver_DnssrvEnumRecords2_client_version;
164
static int hf_dnsserver_DnssrvEnumRecords2_filter_start;
165
static int hf_dnsserver_DnssrvEnumRecords2_filter_stop;
166
static int hf_dnsserver_DnssrvEnumRecords2_node_name;
167
static int hf_dnsserver_DnssrvEnumRecords2_record_buffer;
168
static int hf_dnsserver_DnssrvEnumRecords2_record_buffer_;
169
static int hf_dnsserver_DnssrvEnumRecords2_record_type;
170
static int hf_dnsserver_DnssrvEnumRecords2_select_flag;
171
static int hf_dnsserver_DnssrvEnumRecords2_server_name;
172
static int hf_dnsserver_DnssrvEnumRecords2_setting_flags;
173
static int hf_dnsserver_DnssrvEnumRecords2_start_child;
174
static int hf_dnsserver_DnssrvEnumRecords2_zone;
175
static int hf_dnsserver_DnssrvQuery2_client_version;
176
static int hf_dnsserver_DnssrvQuery2_data;
177
static int hf_dnsserver_DnssrvQuery2_operation;
178
static int hf_dnsserver_DnssrvQuery2_server_name;
179
static int hf_dnsserver_DnssrvQuery2_setting_flags;
180
static int hf_dnsserver_DnssrvQuery2_type_id;
181
static int hf_dnsserver_DnssrvQuery2_zone;
182
static int hf_dnsserver_IP4_ARRAY_AddrArray;
183
static int hf_dnsserver_IP4_ARRAY_AddrCount;
184
static int hf_dnsserver_opnum;
185
static int hf_dnsserver_status;
186
187
static int proto_dcerpc_dnsserver;
188
/* Version information */
189
190
191
static e_guid_t uuid_dcerpc_dnsserver = {
192
  0x50abc2a4, 0x574d, 0x40b3,
193
  { 0x9d, 0x66, 0xee, 0x4f, 0xd5, 0xfb, 0xa0, 0x76 }
194
};
195
static uint16_t ver_dcerpc_dnsserver = 5;
196
197
const value_string dnsserver_DNS_RPC_CLIENT_VERSION_vals[] = {
198
  { DNS_CLIENT_VERSION_W2K, "DNS_CLIENT_VERSION_W2K" },
199
  { DNS_CLIENT_VERSION_DOTNET, "DNS_CLIENT_VERSION_DOTNET" },
200
  { DNS_CLIENT_VERSION_LONGHORN, "DNS_CLIENT_VERSION_LONGHORN" },
201
{ 0, NULL }
202
};
203
static int dnsserver_dissect_element_DNS_RPC_VERSION_OSMajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
204
static int dnsserver_dissect_element_DNS_RPC_VERSION_OSMinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
205
static int dnsserver_dissect_element_DNS_RPC_VERSION_ServicePackVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
206
const value_string dnsserver_DNS_RPC_BOOT_METHOD_vals[] = {
207
  { DNS_RPC_BOOT_METHOD_FILE, "DNS_RPC_BOOT_METHOD_FILE" },
208
  { DNS_RPC_BOOT_METHOD_REGISTRY, "DNS_RPC_BOOT_METHOD_REGISTRY" },
209
  { DNS_RPC_BOOT_METHOD_DIRECTORY, "DNS_RPC_BOOT_METHOD_DIRECTORY" },
210
{ 0, NULL }
211
};
212
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUERY_tfs = {
213
   "DNS_LOG_LEVEL_QUERY is SET",
214
   "DNS_LOG_LEVEL_QUERY is NOT SET",
215
};
216
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_NOTIFY_tfs = {
217
   "DNS_LOG_LEVEL_NOTIFY is SET",
218
   "DNS_LOG_LEVEL_NOTIFY is NOT SET",
219
};
220
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_UPDATE_tfs = {
221
   "DNS_LOG_LEVEL_UPDATE is SET",
222
   "DNS_LOG_LEVEL_UPDATE is NOT SET",
223
};
224
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUESTIONS_tfs = {
225
   "DNS_LOG_LEVEL_QUESTIONS is SET",
226
   "DNS_LOG_LEVEL_QUESTIONS is NOT SET",
227
};
228
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_ANSWERS_tfs = {
229
   "DNS_LOG_LEVEL_ANSWERS is SET",
230
   "DNS_LOG_LEVEL_ANSWERS is NOT SET",
231
};
232
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_SEND_tfs = {
233
   "DNS_LOG_LEVEL_SEND is SET",
234
   "DNS_LOG_LEVEL_SEND is NOT SET",
235
};
236
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_RECV_tfs = {
237
   "DNS_LOG_LEVEL_RECV is SET",
238
   "DNS_LOG_LEVEL_RECV is NOT SET",
239
};
240
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_UDP_tfs = {
241
   "DNS_LOG_LEVEL_UDP is SET",
242
   "DNS_LOG_LEVEL_UDP is NOT SET",
243
};
244
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_TCP_tfs = {
245
   "DNS_LOG_LEVEL_TCP is SET",
246
   "DNS_LOG_LEVEL_TCP is NOT SET",
247
};
248
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_FULL_PACKETS_tfs = {
249
   "DNS_LOG_LEVEL_FULL_PACKETS is SET",
250
   "DNS_LOG_LEVEL_FULL_PACKETS is NOT SET",
251
};
252
static const true_false_string DNS_LOG_LEVELS_DNS_LOG_LEVEL_WRITE_THROUGH_tfs = {
253
   "DNS_LOG_LEVEL_WRITE_THROUGH is SET",
254
   "DNS_LOG_LEVEL_WRITE_THROUGH is NOT SET",
255
};
256
static const true_false_string DNS_RPC_PROTOCOLS_DNS_RPC_USE_TCPIP_tfs = {
257
   "DNS_RPC_USE_TCPIP is SET",
258
   "DNS_RPC_USE_TCPIP is NOT SET",
259
};
260
static const true_false_string DNS_RPC_PROTOCOLS_DNS_RPC_USE_NAMED_PIPE_tfs = {
261
   "DNS_RPC_USE_NAMED_PIPE is SET",
262
   "DNS_RPC_USE_NAMED_PIPE is NOT SET",
263
};
264
static const true_false_string DNS_RPC_PROTOCOLS_DNS_RPC_USE_LPC_tfs = {
265
   "DNS_RPC_USE_LPC is SET",
266
   "DNS_RPC_USE_LPC is NOT SET",
267
};
268
const value_string dnsserver_DNS_NAME_CHECK_FLAGS_vals[] = {
269
  { DNS_ALLOW_RFC_NAMES_ONLY, "DNS_ALLOW_RFC_NAMES_ONLY" },
270
  { DNS_ALLOW_NONRFC_NAMES, "DNS_ALLOW_NONRFC_NAMES" },
271
  { DNS_ALLOW_MULTIBYTE_NAMES, "DNS_ALLOW_MULTIBYTE_NAMES" },
272
  { DNS_ALLOW_ALL_NAMES, "DNS_ALLOW_ALL_NAMES" },
273
{ 0, NULL }
274
};
275
const value_string dnsserver_DNS_RECORD_TYPE_vals[] = {
276
  { DNS_TYPE_ZERO, "DNS_TYPE_ZERO" },
277
  { DNS_TYPE_A, "DNS_TYPE_A" },
278
  { DNS_TYPE_NS, "DNS_TYPE_NS" },
279
  { DNS_TYPE_MD, "DNS_TYPE_MD" },
280
  { DNS_TYPE_MF, "DNS_TYPE_MF" },
281
  { DNS_TYPE_CNAME, "DNS_TYPE_CNAME" },
282
  { DNS_TYPE_SOA, "DNS_TYPE_SOA" },
283
  { DNS_TYPE_MB, "DNS_TYPE_MB" },
284
  { DNS_TYPE_MG, "DNS_TYPE_MG" },
285
  { DNS_TYPE_MR, "DNS_TYPE_MR" },
286
  { DNS_TYPE_NULL, "DNS_TYPE_NULL" },
287
  { DNS_TYPE_WKS, "DNS_TYPE_WKS" },
288
  { DNS_TYPE_PTR, "DNS_TYPE_PTR" },
289
  { DNS_TYPE_HINFO, "DNS_TYPE_HINFO" },
290
  { DNS_TYPE_MINFO, "DNS_TYPE_MINFO" },
291
  { DNS_TYPE_MX, "DNS_TYPE_MX" },
292
  { DNS_TYPE_TXT, "DNS_TYPE_TXT" },
293
  { DNS_TYPE_RP, "DNS_TYPE_RP" },
294
  { DNS_TYPE_AFSDB, "DNS_TYPE_AFSDB" },
295
  { DNS_TYPE_X25, "DNS_TYPE_X25" },
296
  { DNS_TYPE_ISDN, "DNS_TYPE_ISDN" },
297
  { DNS_TYPE_RT, "DNS_TYPE_RT" },
298
  { DNS_TYPE_NSAP, "DNS_TYPE_NSAP" },
299
  { DNS_TYPE_NSAPPTR, "DNS_TYPE_NSAPPTR" },
300
  { DNS_TYPE_SIG, "DNS_TYPE_SIG" },
301
  { DNS_TYPE_KEY, "DNS_TYPE_KEY" },
302
  { DNS_TYPE_PX, "DNS_TYPE_PX" },
303
  { DNS_TYPE_GPOS, "DNS_TYPE_GPOS" },
304
  { DNS_TYPE_AAAA, "DNS_TYPE_AAAA" },
305
  { DNS_TYPE_LOC, "DNS_TYPE_LOC" },
306
  { DNS_TYPE_NXT, "DNS_TYPE_NXT" },
307
  { DNS_TYPE_SRV, "DNS_TYPE_SRV" },
308
  { DNS_TYPE_ATMA, "DNS_TYPE_ATMA" },
309
  { DNS_TYPE_NAPTR, "DNS_TYPE_NAPTR" },
310
  { DNS_TYPE_DNAME, "DNS_TYPE_DNAME" },
311
  { DNS_TYPE_ALL, "DNS_TYPE_ALL" },
312
  { DNS_TYPE_WINS, "DNS_TYPE_WINS" },
313
  { DNS_TYPE_WINSR, "DNS_TYPE_WINSR" },
314
{ 0, NULL }
315
};
316
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_AUTHORITY_DATA_tfs = {
317
   "DNS_RPC_VIEW_AUTHORITY_DATA is SET",
318
   "DNS_RPC_VIEW_AUTHORITY_DATA is NOT SET",
319
};
320
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_CACHE_DATA_tfs = {
321
   "DNS_RPC_VIEW_CACHE_DATA is SET",
322
   "DNS_RPC_VIEW_CACHE_DATA is NOT SET",
323
};
324
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_GLUE_DATA_tfs = {
325
   "DNS_RPC_VIEW_GLUE_DATA is SET",
326
   "DNS_RPC_VIEW_GLUE_DATA is NOT SET",
327
};
328
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_ROOT_HINT_DATA_tfs = {
329
   "DNS_RPC_VIEW_ROOT_HINT_DATA is SET",
330
   "DNS_RPC_VIEW_ROOT_HINT_DATA is NOT SET",
331
};
332
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_ADDITIONAL_DATA_tfs = {
333
   "DNS_RPC_VIEW_ADDITIONAL_DATA is SET",
334
   "DNS_RPC_VIEW_ADDITIONAL_DATA is NOT SET",
335
};
336
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_NO_CHILDREN_tfs = {
337
   "DNS_RPC_VIEW_NO_CHILDREN is SET",
338
   "DNS_RPC_VIEW_NO_CHILDREN is NOT SET",
339
};
340
static const true_false_string DNS_SELECT_FLAGS_DNS_RPC_VIEW_ONLY_CHILDREN_tfs = {
341
   "DNS_RPC_VIEW_ONLY_CHILDREN is SET",
342
   "DNS_RPC_VIEW_ONLY_CHILDREN is NOT SET",
343
};
344
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_CACHE_DATA_tfs = {
345
   "DNS_RPC_FLAG_CACHE_DATA is SET",
346
   "DNS_RPC_FLAG_CACHE_DATA is NOT SET",
347
};
348
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_ROOT_tfs = {
349
   "DNS_RPC_FLAG_ZONE_ROOT is SET",
350
   "DNS_RPC_FLAG_ZONE_ROOT is NOT SET",
351
};
352
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AUTH_ZONE_ROOT_tfs = {
353
   "DNS_RPC_FLAG_AUTH_ZONE_ROOT is SET",
354
   "DNS_RPC_FLAG_AUTH_ZONE_ROOT is NOT SET",
355
};
356
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_DELEGATION_tfs = {
357
   "DNS_RPC_FLAG_ZONE_DELEGATION is SET",
358
   "DNS_RPC_FLAG_ZONE_DELEGATION is NOT SET",
359
};
360
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECOR_DEFAULT_TTL_tfs = {
361
   "DNS_RPC_FLAG_RECOR_DEFAULT_TTL is SET",
362
   "DNS_RPC_FLAG_RECOR_DEFAULT_TTL is NOT SET",
363
};
364
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_TTL_CHANGE_tfs = {
365
   "DNS_RPC_FLAG_RECORD_TTL_CHANGE is SET",
366
   "DNS_RPC_FLAG_RECORD_TTL_CHANGE is NOT SET",
367
};
368
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_CREATE_PTR_tfs = {
369
   "DNS_RPC_FLAG_RECORD_CREATE_PTR is SET",
370
   "DNS_RPC_FLAG_RECORD_CREATE_PTR is NOT SET",
371
};
372
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_STICKY_tfs = {
373
   "DNS_RPC_FLAG_NODE_STICKY is SET",
374
   "DNS_RPC_FLAG_NODE_STICKY is NOT SET",
375
};
376
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_COMPLETE_tfs = {
377
   "DNS_RPC_FLAG_NODE_COMPLETE is SET",
378
   "DNS_RPC_FLAG_NODE_COMPLETE is NOT SET",
379
};
380
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_OPEN_ACL_tfs = {
381
   "DNS_RPC_FLAG_OPEN_ACL is SET",
382
   "DNS_RPC_FLAG_OPEN_ACL is NOT SET",
383
};
384
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AGING_ON_tfs = {
385
   "DNS_RPC_FLAG_AGING_ON is SET",
386
   "DNS_RPC_FLAG_AGING_ON is NOT SET",
387
};
388
static const true_false_string DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_SUPPRESS_NOTIFY_tfs = {
389
   "DNS_RPC_FLAG_SUPPRESS_NOTIFY is SET",
390
   "DNS_RPC_FLAG_SUPPRESS_NOTIFY is NOT SET",
391
};
392
static int dnsserver_dissect_element_DNS_RPC_RECORD_NODE_NAME_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
393
static int dnsserver_dissect_element_DNS_RPC_RECORD_UNION_NodeName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
394
static int dnsserver_dissect_element_DNS_RPC_RECORD_DataLength(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
395
static int dnsserver_dissect_element_DNS_RPC_RECORD_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint16_t *Type);
396
static int dnsserver_dissect_element_DNS_RPC_RECORD_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
397
static int dnsserver_dissect_element_DNS_RPC_RECORD_Serial(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
398
static int dnsserver_dissect_element_DNS_RPC_RECORD_TtlSeconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
399
static int dnsserver_dissect_element_DNS_RPC_RECORD_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
400
static int dnsserver_dissect_element_DNS_RPC_RECORD_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
401
static int dnsserver_dissect_element_DNS_RPC_RECORD_record(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint16_t *Type);
402
static int dnsserver_dissect_element_DNS_RPC_NODE_Length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
403
static int dnsserver_dissect_element_DNS_RPC_NODE_RecordCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
404
static int dnsserver_dissect_element_DNS_RPC_NODE_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
405
static int dnsserver_dissect_element_DNS_RPC_NODE_Childcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
406
static int dnsserver_dissect_element_DNS_RPC_NODE_NodeName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
407
static int dnsserver_dissect_element_DNS_RPC_NODE_records(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
408
static int dnsserver_dissect_element_DNS_RPC_NODE_records_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
409
static int dnsserver_dissect_element_IP4_ARRAY_AddrCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
410
static int dnsserver_dissect_element_IP4_ARRAY_AddrArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
411
static int dnsserver_dissect_element_IP4_ARRAY_AddrArray_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
412
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
413
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserved0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
414
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
415
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BootMethod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
416
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
417
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
418
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
419
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
420
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
421
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
422
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
423
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
424
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
425
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
426
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
427
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
428
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
429
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
430
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
431
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
432
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
433
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
434
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
435
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
436
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
437
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
438
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
439
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
440
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
441
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
442
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
443
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
444
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
445
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
446
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
447
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
448
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
449
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
450
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
451
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
452
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
453
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
454
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
455
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
456
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
457
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
458
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
459
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
460
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
461
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
462
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
463
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
464
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
465
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
466
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
467
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
468
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
469
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
470
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
471
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
472
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
473
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
474
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
475
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
476
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
477
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
478
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
479
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
480
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
481
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
482
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
483
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
484
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
485
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
486
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
487
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
488
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
489
static int dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
490
const value_string dnsserver_DnssrvRpcTypeId_vals[] = {
491
  { DNSSRV_TYPEID_NULL, "DNSSRV_TYPEID_NULL" },
492
  { DNSSRV_TYPEID_DWORD, "DNSSRV_TYPEID_DWORD" },
493
  { DNSSRV_TYPEID_LPSTR, "DNSSRV_TYPEID_LPSTR" },
494
  { DNSSRV_TYPEID_LPWSTR, "DNSSRV_TYPEID_LPWSTR" },
495
  { DNSSRV_TYPEID_IPARRAY, "DNSSRV_TYPEID_IPARRAY" },
496
  { DNSSRV_TYPEID_BUFFER, "DNSSRV_TYPEID_BUFFER" },
497
  { DNSSRV_TYPEID_SERVER_INFO_W2K, "DNSSRV_TYPEID_SERVER_INFO_W2K" },
498
  { DNSSRV_TYPEID_STATS, "DNSSRV_TYPEID_STATS" },
499
  { DNSSRV_TYPEID_FORWARDERS_W2K, "DNSSRV_TYPEID_FORWARDERS_W2K" },
500
  { DNSSRV_TYPEID_ZONE_W2K, "DNSSRV_TYPEID_ZONE_W2K" },
501
  { DNSSRV_TYPEID_ZONE_INFO_W2K, "DNSSRV_TYPEID_ZONE_INFO_W2K" },
502
  { DNSSRV_TYPEID_ZONE_SECONDARIES_W2K, "DNSSRV_TYPEID_ZONE_SECONDARIES_W2K" },
503
  { DNSSRV_TYPEID_ZONE_DATABASE_W2K, "DNSSRV_TYPEID_ZONE_DATABASE_W2K" },
504
  { DNSSRV_TYPEID_ZONE_TYPE_RESET_W2K, "DNSSRV_TYPEID_ZONE_TYPE_RESET_W2K" },
505
  { DNSSRV_TYPEID_ZONE_CREATE_W2K, "DNSSRV_TYPEID_ZONE_CREATE_W2K" },
506
  { DNSSRV_TYPEID_NAME_AND_PARAM, "DNSSRV_TYPEID_NAME_AND_PARAM" },
507
  { DNSSRV_TYPEID_ZONE_LIST_W2K, "DNSSRV_TYPEID_ZONE_LIST_W2K" },
508
  { DNSSRV_TYPEID_ZONE_RENAME, "DNSSRV_TYPEID_ZONE_RENAME" },
509
  { DNSSRV_TYPEID_ZONE_EXPORT, "DNSSRV_TYPEID_ZONE_EXPORT" },
510
  { DNSSRV_TYPEID_SERVER_INFO_DOTNET, "DNSSRV_TYPEID_SERVER_INFO_DOTNET" },
511
  { DNSSRV_TYPEID_FORWARDERS_DOTNET, "DNSSRV_TYPEID_FORWARDERS_DOTNET" },
512
  { DNSSRV_TYPEID_ZONE, "DNSSRV_TYPEID_ZONE" },
513
  { DNSSRV_TYPEID_ZONE_INFO_DOTNET, "DNSSRV_TYPEID_ZONE_INFO_DOTNET" },
514
  { DNSSRV_TYPEID_ZONE_SECONDARIES_DOTNET, "DNSSRV_TYPEID_ZONE_SECONDARIES_DOTNET" },
515
  { DNSSRV_TYPEID_ZONE_DATABASE, "DNSSRV_TYPEID_ZONE_DATABASE" },
516
  { DNSSRV_TYPEID_ZONE_TYPE_RESET_DOTNET, "DNSSRV_TYPEID_ZONE_TYPE_RESET_DOTNET" },
517
  { DNSSRV_TYPEID_ZONE_CREATE_DOTNET, "DNSSRV_TYPEID_ZONE_CREATE_DOTNET" },
518
  { DNSSRV_TYPEID_ZONE_LIST, "DNSSRV_TYPEID_ZONE_LIST" },
519
  { DNSSRV_TYPEID_DP_ENUM, "DNSSRV_TYPEID_DP_ENUM" },
520
  { DNSSRV_TYPEID_DP_INFO, "DNSSRV_TYPEID_DP_INFO" },
521
  { DNSSRV_TYPEID_DP_LIST, "DNSSRV_TYPEID_DP_LIST" },
522
  { DNSSRV_TYPEID_ENLIST_DP, "DNSSRV_TYPEID_ENLIST_DP" },
523
  { DNSSRV_TYPEID_ZONE_CHANGE_DP, "DNSSRV_TYPEID_ZONE_CHANGE_DP" },
524
  { DNSSRV_TYPEID_ENUM_ZONES_FILTER, "DNSSRV_TYPEID_ENUM_ZONES_FILTER" },
525
  { DNSSRV_TYPEID_ADDARRAY, "DNSSRV_TYPEID_ADDARRAY" },
526
  { DNSSRV_TYPEID_SERVER_INFO, "DNSSRV_TYPEID_SERVER_INFO" },
527
  { DNSSRV_TYPEID_ZONE_INFO, "DNSSRV_TYPEID_ZONE_INFO" },
528
  { DNSSRV_TYPEID_FORWARDERS, "DNSSRV_TYPEID_FORWARDERS" },
529
  { DNSSRV_TYPEID_ZONE_SECONDARIES, "DNSSRV_TYPEID_ZONE_SECONDARIES" },
530
  { DNSSRV_TYPEID_ZONE_TYPE_RESET, "DNSSRV_TYPEID_ZONE_TYPE_RESET" },
531
  { DNSSRV_TYPEID_ZONE_CREATE, "DNSSRV_TYPEID_ZONE_CREATE" },
532
  { DNSSRV_TYPEID_IP_VALIDATE, "DNSSRV_TYPEID_IP_VALIDATE" },
533
  { DNSSRV_TYPEID_AUTOCONFIGURE, "DNSSRV_TYPEID_AUTOCONFIGURE" },
534
  { DNSSRV_TYPEID_UTF8_STRING_LIST, "DNSSRV_TYPEID_UTF8_STRING_LIST" },
535
  { DNSSRV_TYPEID_UNICODE_STRING_LIST, "DNSSRV_TYPEID_UNICODE_STRING_LIST" },
536
{ 0, NULL }
537
};
538
static int dnsserver_dissect_element_DNSSRV_RPC_UNION_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
539
static int dnsserver_dissect_element_DNSSRV_RPC_UNION_null_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
540
static int dnsserver_dissect_element_DNSSRV_RPC_UNION_dword(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
541
static int dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
542
static int dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
543
static int dnsserver_dissect_element_DNS_RECORD_BUFFER_rpc_node(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
544
static int dnsserver_dissect_element_DnssrvQuery2_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
545
static int dnsserver_dissect_element_DnssrvQuery2_setting_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
546
static int dnsserver_dissect_element_DnssrvQuery2_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
547
static int dnsserver_dissect_element_DnssrvQuery2_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
548
static int dnsserver_dissect_element_DnssrvQuery2_zone(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
549
static int dnsserver_dissect_element_DnssrvQuery2_zone_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
550
static int dnsserver_dissect_element_DnssrvQuery2_operation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
551
static int dnsserver_dissect_element_DnssrvQuery2_operation_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
552
static int dnsserver_dissect_element_DnssrvQuery2_type_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
553
static int dnsserver_dissect_element_DnssrvQuery2_type_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
554
static int dnsserver_dissect_element_DnssrvQuery2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
555
static int dnsserver_dissect_element_DnssrvQuery2_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
556
static int dnsserver_dissect_element_DnssrvEnumRecords2_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
557
static int dnsserver_dissect_element_DnssrvEnumRecords2_setting_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
558
static int dnsserver_dissect_element_DnssrvEnumRecords2_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
559
static int dnsserver_dissect_element_DnssrvEnumRecords2_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
560
static int dnsserver_dissect_element_DnssrvEnumRecords2_zone(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
561
static int dnsserver_dissect_element_DnssrvEnumRecords2_zone_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
562
static int dnsserver_dissect_element_DnssrvEnumRecords2_node_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
563
static int dnsserver_dissect_element_DnssrvEnumRecords2_node_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
564
static int dnsserver_dissect_element_DnssrvEnumRecords2_start_child(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
565
static int dnsserver_dissect_element_DnssrvEnumRecords2_start_child_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
566
static int dnsserver_dissect_element_DnssrvEnumRecords2_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
567
static int dnsserver_dissect_element_DnssrvEnumRecords2_select_flag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
568
static int dnsserver_dissect_element_DnssrvEnumRecords2_filter_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
569
static int dnsserver_dissect_element_DnssrvEnumRecords2_filter_start_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
570
static int dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
571
static int dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
572
static int dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
573
static int dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
574
static int dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
575
static int dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
576
static int dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
577
int
578
dnsserver_dissect_struct_DNS_RPC_NAME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
579
0
{
580
0
  proto_item *item = NULL;
581
0
  proto_tree *tree = NULL;
582
0
  int old_offset;
583
0
  uint8_t len;
584
0
  if(di->conformant_run){
585
    /*just a run to handle conformant arrays, nothing to dissect */
586
0
    return offset;
587
0
  }
588
0
  old_offset = offset;
589
0
  if (parent_tree) {
590
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
591
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_NAME);
592
0
  }
593
0
  offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_NAME_NameLength, &len);
594
0
  proto_tree_add_item(tree, hf_dnsserver_DNS_RPC_NAME_name, tvb,
595
0
    offset, len, ENC_UTF_8);
596
0
  offset += len;
597
0
  proto_item_set_len(item, offset-old_offset);
598
0
  return offset;
599
0
}
600
static uint16_t node_record_count;
601
static int
602
dnsserver_dissect_element_DNS_RPC_NODE_RecordCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, uint8_t *drep _U_)
603
0
{
604
0
  if(di->conformant_run){
605
    /*just a run to handle conformant arrays, nothing to dissect */
606
0
    return offset;
607
0
  }
608
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_NODE_RecordCount, &node_record_count);
609
0
  return offset;
610
0
}
611
static int
612
dnsserver_dissect_element_DNS_RPC_NODE_records(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, uint8_t *drep _U_)
613
0
{
614
0
  if(di->conformant_run){
615
    /*just a run to handle conformant arrays, nothing to dissect */
616
0
    return offset;
617
0
  }
618
0
  while(node_record_count--){
619
0
    offset = dnsserver_dissect_element_DNS_RPC_NODE_records_(tvb, offset, pinfo, tree, di, drep);
620
0
  }
621
0
  return offset;
622
0
}
623
624
625
/* IDL: enum { */
626
/* IDL:   DNS_CLIENT_VERSION_W2K=0x00000000, */
627
/* IDL:   DNS_CLIENT_VERSION_DOTNET=0x00000006, */
628
/* IDL:   DNS_CLIENT_VERSION_LONGHORN=0x00000007, */
629
/* IDL: } */
630
631
int
632
dnsserver_dissect_enum_DNS_RPC_CLIENT_VERSION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
633
0
{
634
0
  uint32_t parameter=0;
635
0
  if (param) {
636
0
    parameter = *param;
637
0
  }
638
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
639
0
  if (param) {
640
0
    *param = parameter;
641
0
  }
642
0
  return offset;
643
0
}
644
645
646
/* IDL: struct { */
647
/* IDL:   uint8 OSMajorVersion; */
648
/* IDL:   uint8 OSMinorVersion; */
649
/* IDL:   uint16 ServicePackVersion; */
650
/* IDL: } */
651
652
static int
653
dnsserver_dissect_element_DNS_RPC_VERSION_OSMajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
654
0
{
655
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_VERSION_OSMajorVersion, 0);
656
657
0
  return offset;
658
0
}
659
660
static int
661
dnsserver_dissect_element_DNS_RPC_VERSION_OSMinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
662
0
{
663
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_VERSION_OSMinorVersion, 0);
664
665
0
  return offset;
666
0
}
667
668
static int
669
dnsserver_dissect_element_DNS_RPC_VERSION_ServicePackVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
670
0
{
671
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_VERSION_ServicePackVersion, 0);
672
673
0
  return offset;
674
0
}
675
676
int
677
dnsserver_dissect_struct_DNS_RPC_VERSION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
678
0
{
679
0
  proto_item *item = NULL;
680
0
  proto_tree *tree = NULL;
681
0
  int old_offset;
682
683
0
  ALIGN_TO_2_BYTES;
684
685
0
  old_offset = offset;
686
687
0
  if (parent_tree) {
688
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
689
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_VERSION);
690
0
  }
691
692
0
  offset = dnsserver_dissect_element_DNS_RPC_VERSION_OSMajorVersion(tvb, offset, pinfo, tree, di, drep);
693
694
0
  offset = dnsserver_dissect_element_DNS_RPC_VERSION_OSMinorVersion(tvb, offset, pinfo, tree, di, drep);
695
696
0
  offset = dnsserver_dissect_element_DNS_RPC_VERSION_ServicePackVersion(tvb, offset, pinfo, tree, di, drep);
697
698
699
0
  proto_item_set_len(item, offset-old_offset);
700
701
702
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
703
0
    ALIGN_TO_2_BYTES;
704
0
  }
705
706
0
  return offset;
707
0
}
708
709
710
/* IDL: enum { */
711
/* IDL:   DNS_RPC_BOOT_METHOD_FILE=0x01, */
712
/* IDL:   DNS_RPC_BOOT_METHOD_REGISTRY=0x02, */
713
/* IDL:   DNS_RPC_BOOT_METHOD_DIRECTORY=0x03, */
714
/* IDL: } */
715
716
int
717
dnsserver_dissect_enum_DNS_RPC_BOOT_METHOD(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint8_t *param _U_)
718
0
{
719
0
  uint8_t parameter=0;
720
0
  if (param) {
721
0
    parameter = *param;
722
0
  }
723
0
  offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
724
0
  if (param) {
725
0
    *param = parameter;
726
0
  }
727
0
  return offset;
728
0
}
729
730
731
/* IDL: bitmap { */
732
/* IDL:   DNS_LOG_LEVEL_QUERY =  0x00000001 , */
733
/* IDL:   DNS_LOG_LEVEL_NOTIFY =  0x00000010 , */
734
/* IDL:   DNS_LOG_LEVEL_UPDATE =  0x00000020 , */
735
/* IDL:   DNS_LOG_LEVEL_QUESTIONS =  0x00000100 , */
736
/* IDL:   DNS_LOG_LEVEL_ANSWERS =  0x00000200 , */
737
/* IDL:   DNS_LOG_LEVEL_SEND =  0x00001000 , */
738
/* IDL:   DNS_LOG_LEVEL_RECV =  0x00002000 , */
739
/* IDL:   DNS_LOG_LEVEL_UDP =  0x00004000 , */
740
/* IDL:   DNS_LOG_LEVEL_TCP =  0x00008000 , */
741
/* IDL:   DNS_LOG_LEVEL_FULL_PACKETS =  0x01000000 , */
742
/* IDL:   DNS_LOG_LEVEL_WRITE_THROUGH =  0x80000000 , */
743
/* IDL: } */
744
745
int
746
dnsserver_dissect_bitmap_DNS_LOG_LEVELS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
747
0
{
748
0
  proto_item *item;
749
0
  static int * const dnsserver_DNS_LOG_LEVELS_fields[] = {
750
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUERY,
751
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_NOTIFY,
752
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UPDATE,
753
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUESTIONS,
754
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_ANSWERS,
755
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_SEND,
756
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_RECV,
757
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UDP,
758
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_TCP,
759
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_FULL_PACKETS,
760
0
    &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_WRITE_THROUGH,
761
0
    NULL
762
0
  };
763
0
  uint32_t flags;
764
0
  ALIGN_TO_4_BYTES;
765
766
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
767
0
        ett_dnsserver_DNS_LOG_LEVELS, dnsserver_DNS_LOG_LEVELS_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
768
769
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
770
771
0
  if (!flags)
772
0
    proto_item_append_text(item, ": (No values set)");
773
774
0
  if (flags & (~0x8100f331)) {
775
0
    flags &= (~0x8100f331);
776
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
777
0
  }
778
779
0
  return offset;
780
0
}
781
782
783
/* IDL: bitmap { */
784
/* IDL:   DNS_RPC_USE_TCPIP =  0x00000001 , */
785
/* IDL:   DNS_RPC_USE_NAMED_PIPE =  0x00000002 , */
786
/* IDL:   DNS_RPC_USE_LPC =  0x00000004 , */
787
/* IDL: } */
788
789
int
790
dnsserver_dissect_bitmap_DNS_RPC_PROTOCOLS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
791
0
{
792
0
  proto_item *item;
793
0
  static int * const dnsserver_DNS_RPC_PROTOCOLS_fields[] = {
794
0
    &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_TCPIP,
795
0
    &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_NAMED_PIPE,
796
0
    &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_LPC,
797
0
    NULL
798
0
  };
799
0
  uint32_t flags;
800
0
  ALIGN_TO_4_BYTES;
801
802
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
803
0
        ett_dnsserver_DNS_RPC_PROTOCOLS, dnsserver_DNS_RPC_PROTOCOLS_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
804
805
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
806
807
0
  if (!flags)
808
0
    proto_item_append_text(item, ": (No values set)");
809
810
0
  if (flags & (~0x00000007)) {
811
0
    flags &= (~0x00000007);
812
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
813
0
  }
814
815
0
  return offset;
816
0
}
817
818
819
/* IDL: enum { */
820
/* IDL:   DNS_ALLOW_RFC_NAMES_ONLY=0x00000000, */
821
/* IDL:   DNS_ALLOW_NONRFC_NAMES=0x00000001, */
822
/* IDL:   DNS_ALLOW_MULTIBYTE_NAMES=0x00000002, */
823
/* IDL:   DNS_ALLOW_ALL_NAMES=0x00000003, */
824
/* IDL: } */
825
826
int
827
dnsserver_dissect_enum_DNS_NAME_CHECK_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
828
0
{
829
0
  uint32_t parameter=0;
830
0
  if (param) {
831
0
    parameter = *param;
832
0
  }
833
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
834
0
  if (param) {
835
0
    *param = parameter;
836
0
  }
837
0
  return offset;
838
0
}
839
840
841
/* IDL: enum { */
842
/* IDL:   DNS_TYPE_ZERO=0x0000, */
843
/* IDL:   DNS_TYPE_A=0x0001, */
844
/* IDL:   DNS_TYPE_NS=0x0002, */
845
/* IDL:   DNS_TYPE_MD=0x0003, */
846
/* IDL:   DNS_TYPE_MF=0x0004, */
847
/* IDL:   DNS_TYPE_CNAME=0x0005, */
848
/* IDL:   DNS_TYPE_SOA=0x0006, */
849
/* IDL:   DNS_TYPE_MB=0x0007, */
850
/* IDL:   DNS_TYPE_MG=0x0008, */
851
/* IDL:   DNS_TYPE_MR=0x0009, */
852
/* IDL:   DNS_TYPE_NULL=0x000a, */
853
/* IDL:   DNS_TYPE_WKS=0x000b, */
854
/* IDL:   DNS_TYPE_PTR=0x000c, */
855
/* IDL:   DNS_TYPE_HINFO=0x000d, */
856
/* IDL:   DNS_TYPE_MINFO=0x000e, */
857
/* IDL:   DNS_TYPE_MX=0x000f, */
858
/* IDL:   DNS_TYPE_TXT=0x0010, */
859
/* IDL:   DNS_TYPE_RP=0x0011, */
860
/* IDL:   DNS_TYPE_AFSDB=0x0012, */
861
/* IDL:   DNS_TYPE_X25=0x0013, */
862
/* IDL:   DNS_TYPE_ISDN=0x0014, */
863
/* IDL:   DNS_TYPE_RT=0x0015, */
864
/* IDL:   DNS_TYPE_NSAP=0x0016, */
865
/* IDL:   DNS_TYPE_NSAPPTR=0x0017, */
866
/* IDL:   DNS_TYPE_SIG=0x0018, */
867
/* IDL:   DNS_TYPE_KEY=0x0019, */
868
/* IDL:   DNS_TYPE_PX=0x001a, */
869
/* IDL:   DNS_TYPE_GPOS=0x001b, */
870
/* IDL:   DNS_TYPE_AAAA=0x001c, */
871
/* IDL:   DNS_TYPE_LOC=0x001d, */
872
/* IDL:   DNS_TYPE_NXT=0x001e, */
873
/* IDL:   DNS_TYPE_SRV=0x0021, */
874
/* IDL:   DNS_TYPE_ATMA=0x0022, */
875
/* IDL:   DNS_TYPE_NAPTR=0x0023, */
876
/* IDL:   DNS_TYPE_DNAME=0x0024, */
877
/* IDL:   DNS_TYPE_ALL=0x00ff, */
878
/* IDL:   DNS_TYPE_WINS=0xff01, */
879
/* IDL:   DNS_TYPE_WINSR=0xff02, */
880
/* IDL: } */
881
882
int
883
dnsserver_dissect_enum_DNS_RECORD_TYPE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint16_t *param _U_)
884
0
{
885
0
  uint16_t parameter=0;
886
0
  if (param) {
887
0
    parameter = *param;
888
0
  }
889
0
  offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
890
0
  if (param) {
891
0
    *param = parameter;
892
0
  }
893
0
  return offset;
894
0
}
895
896
897
/* IDL: bitmap { */
898
/* IDL:   DNS_RPC_VIEW_AUTHORITY_DATA =  0x00000001 , */
899
/* IDL:   DNS_RPC_VIEW_CACHE_DATA =  0x00000002 , */
900
/* IDL:   DNS_RPC_VIEW_GLUE_DATA =  0x00000004 , */
901
/* IDL:   DNS_RPC_VIEW_ROOT_HINT_DATA =  0x00000008 , */
902
/* IDL:   DNS_RPC_VIEW_ADDITIONAL_DATA =  0x00000010 , */
903
/* IDL:   DNS_RPC_VIEW_NO_CHILDREN =  0x00010000 , */
904
/* IDL:   DNS_RPC_VIEW_ONLY_CHILDREN =  0x00020000 , */
905
/* IDL: } */
906
907
int
908
dnsserver_dissect_bitmap_DNS_SELECT_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
909
0
{
910
0
  proto_item *item;
911
0
  static int * const dnsserver_DNS_SELECT_FLAGS_fields[] = {
912
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_AUTHORITY_DATA,
913
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_CACHE_DATA,
914
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_GLUE_DATA,
915
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ROOT_HINT_DATA,
916
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ADDITIONAL_DATA,
917
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_NO_CHILDREN,
918
0
    &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ONLY_CHILDREN,
919
0
    NULL
920
0
  };
921
0
  uint32_t flags;
922
0
  ALIGN_TO_4_BYTES;
923
924
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
925
0
        ett_dnsserver_DNS_SELECT_FLAGS, dnsserver_DNS_SELECT_FLAGS_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
926
927
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
928
929
0
  if (!flags)
930
0
    proto_item_append_text(item, ": (No values set)");
931
932
0
  if (flags & (~0x0003001f)) {
933
0
    flags &= (~0x0003001f);
934
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
935
0
  }
936
937
0
  return offset;
938
0
}
939
940
941
/* IDL: bitmap { */
942
/* IDL:   DNS_RPC_FLAG_CACHE_DATA =  0x80000000 , */
943
/* IDL:   DNS_RPC_FLAG_ZONE_ROOT =  0x40000000 , */
944
/* IDL:   DNS_RPC_FLAG_AUTH_ZONE_ROOT =  0x20000000 , */
945
/* IDL:   DNS_RPC_FLAG_ZONE_DELEGATION =  0x10000000 , */
946
/* IDL:   DNS_RPC_FLAG_RECOR_DEFAULT_TTL =  0x08000000 , */
947
/* IDL:   DNS_RPC_FLAG_RECORD_TTL_CHANGE =  0x04000000 , */
948
/* IDL:   DNS_RPC_FLAG_RECORD_CREATE_PTR =  0x02000000 , */
949
/* IDL:   DNS_RPC_FLAG_NODE_STICKY =  0x01000000 , */
950
/* IDL:   DNS_RPC_FLAG_NODE_COMPLETE =  0x00800000 , */
951
/* IDL:   DNS_RPC_FLAG_OPEN_ACL =  0x00040000 , */
952
/* IDL:   DNS_RPC_FLAG_AGING_ON =  0x00020000 , */
953
/* IDL:   DNS_RPC_FLAG_SUPPRESS_NOTIFY =  0x00010000 , */
954
/* IDL: } */
955
956
int
957
dnsserver_dissect_bitmap_DNS_RPC_NODE_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
958
0
{
959
0
  proto_item *item;
960
0
  static int * const dnsserver_DNS_RPC_NODE_FLAGS_fields[] = {
961
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_CACHE_DATA,
962
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_ROOT,
963
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AUTH_ZONE_ROOT,
964
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_DELEGATION,
965
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECOR_DEFAULT_TTL,
966
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_TTL_CHANGE,
967
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_CREATE_PTR,
968
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_STICKY,
969
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_COMPLETE,
970
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_OPEN_ACL,
971
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AGING_ON,
972
0
    &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_SUPPRESS_NOTIFY,
973
0
    NULL
974
0
  };
975
0
  uint32_t flags;
976
0
  ALIGN_TO_4_BYTES;
977
978
0
  item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
979
0
        ett_dnsserver_DNS_RPC_NODE_FLAGS, dnsserver_DNS_RPC_NODE_FLAGS_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
980
981
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
982
983
0
  if (!flags)
984
0
    proto_item_append_text(item, ": (No values set)");
985
986
0
  if (flags & (~0xff870000)) {
987
0
    flags &= (~0xff870000);
988
0
    proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
989
0
  }
990
991
0
  return offset;
992
0
}
993
994
995
/* IDL: struct { */
996
/* IDL:   uint8 NameLength; */
997
/* IDL:   uint8 Name[NameLength]; */
998
/* IDL: } */
999
1000
1001
/* IDL: struct { */
1002
/* IDL:   DNS_RPC_NAME Name; */
1003
/* IDL: } */
1004
1005
static int
1006
dnsserver_dissect_element_DNS_RPC_RECORD_NODE_NAME_Name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1007
0
{
1008
0
  offset = dnsserver_dissect_struct_DNS_RPC_NAME(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_RECORD_NODE_NAME_Name,0);
1009
1010
0
  return offset;
1011
0
}
1012
1013
int
1014
dnsserver_dissect_struct_DNS_RPC_RECORD_NODE_NAME(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1015
0
{
1016
0
  proto_item *item = NULL;
1017
0
  proto_tree *tree = NULL;
1018
0
  int old_offset;
1019
1020
0
  old_offset = offset;
1021
1022
0
  if (parent_tree) {
1023
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1024
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_RECORD_NODE_NAME);
1025
0
  }
1026
1027
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_NODE_NAME_Name(tvb, offset, pinfo, tree, di, drep);
1028
1029
1030
0
  proto_item_set_len(item, offset-old_offset);
1031
1032
1033
0
  return offset;
1034
0
}
1035
1036
1037
/* IDL: union { */
1038
/* IDL: [case(2)] [case(2)] DNS_RPC_RECORD_NODE_NAME NodeName; */
1039
/* IDL: } */
1040
1041
static int
1042
dnsserver_dissect_element_DNS_RPC_RECORD_UNION_NodeName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1043
0
{
1044
0
  offset = dnsserver_dissect_struct_DNS_RPC_RECORD_NODE_NAME(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_RECORD_UNION_NodeName,0);
1045
1046
0
  return offset;
1047
0
}
1048
1049
static int
1050
dnsserver_dissect_DNS_RPC_RECORD_UNION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1051
0
{
1052
0
  proto_item *item = NULL;
1053
0
  proto_tree *tree = NULL;
1054
0
  int old_offset;
1055
0
  uint32_t level;
1056
1057
0
  old_offset = offset;
1058
0
  if (parent_tree) {
1059
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_dnsserver_DNS_RPC_RECORD_UNION, &item, "DNS_RPC_RECORD_UNION");
1060
0
  }
1061
1062
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
1063
0
  switch(level) {
1064
0
    case 2:
1065
0
      offset = dnsserver_dissect_element_DNS_RPC_RECORD_UNION_NodeName(tvb, offset, pinfo, tree, di, drep);
1066
0
    break;
1067
0
  }
1068
0
  proto_item_set_len(item, offset-old_offset);
1069
1070
1071
0
  return offset;
1072
0
}
1073
1074
/* IDL: struct { */
1075
/* IDL:   uint16 DataLength; */
1076
/* IDL:   DNS_RECORD_TYPE Type; */
1077
/* IDL:   uint32 Flags; */
1078
/* IDL:   uint32 Serial; */
1079
/* IDL:   uint32 TtlSeconds; */
1080
/* IDL:   uint32 TimeStamp; */
1081
/* IDL:   uint32 reserved; */
1082
/* IDL:   [switch_is(Type)] DNS_RPC_RECORD_UNION record; */
1083
/* IDL: } */
1084
1085
static int
1086
dnsserver_dissect_element_DNS_RPC_RECORD_DataLength(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1087
0
{
1088
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_DataLength, 0);
1089
1090
0
  return offset;
1091
0
}
1092
1093
static int
1094
dnsserver_dissect_element_DNS_RPC_RECORD_Type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint16_t *Type)
1095
0
{
1096
0
  offset = dnsserver_dissect_enum_DNS_RECORD_TYPE(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_Type, Type);
1097
1098
0
  return offset;
1099
0
}
1100
1101
static int
1102
dnsserver_dissect_element_DNS_RPC_RECORD_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1103
0
{
1104
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_Flags, 0);
1105
1106
0
  return offset;
1107
0
}
1108
1109
static int
1110
dnsserver_dissect_element_DNS_RPC_RECORD_Serial(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1111
0
{
1112
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_Serial, 0);
1113
1114
0
  return offset;
1115
0
}
1116
1117
static int
1118
dnsserver_dissect_element_DNS_RPC_RECORD_TtlSeconds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1119
0
{
1120
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_TtlSeconds, 0);
1121
1122
0
  return offset;
1123
0
}
1124
1125
static int
1126
dnsserver_dissect_element_DNS_RPC_RECORD_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1127
0
{
1128
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_TimeStamp, 0);
1129
1130
0
  return offset;
1131
0
}
1132
1133
static int
1134
dnsserver_dissect_element_DNS_RPC_RECORD_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1135
0
{
1136
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_reserved, 0);
1137
1138
0
  return offset;
1139
0
}
1140
1141
static int
1142
dnsserver_dissect_element_DNS_RPC_RECORD_record(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint16_t *Type)
1143
0
{
1144
0
  offset = dnsserver_dissect_DNS_RPC_RECORD_UNION(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_RECORD_record, *Type);
1145
1146
0
  return offset;
1147
0
}
1148
1149
int
1150
dnsserver_dissect_struct_DNS_RPC_RECORD(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1151
0
{
1152
0
  uint16_t Type = 0;
1153
0
  proto_item *item = NULL;
1154
0
  proto_tree *tree = NULL;
1155
0
  int old_offset;
1156
1157
0
  ALIGN_TO_4_BYTES;
1158
1159
0
  old_offset = offset;
1160
1161
0
  if (parent_tree) {
1162
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1163
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_RECORD);
1164
0
  }
1165
1166
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_DataLength(tvb, offset, pinfo, tree, di, drep);
1167
1168
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_Type(tvb, offset, pinfo, tree, di, drep, &Type);
1169
1170
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_Flags(tvb, offset, pinfo, tree, di, drep);
1171
1172
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_Serial(tvb, offset, pinfo, tree, di, drep);
1173
1174
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_TtlSeconds(tvb, offset, pinfo, tree, di, drep);
1175
1176
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_TimeStamp(tvb, offset, pinfo, tree, di, drep);
1177
1178
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_reserved(tvb, offset, pinfo, tree, di, drep);
1179
1180
0
  offset = dnsserver_dissect_element_DNS_RPC_RECORD_record(tvb, offset, pinfo, tree, di, drep, &Type);
1181
1182
1183
0
  proto_item_set_len(item, offset-old_offset);
1184
1185
1186
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1187
0
    ALIGN_TO_4_BYTES;
1188
0
  }
1189
1190
0
  return offset;
1191
0
}
1192
1193
1194
/* IDL: struct { */
1195
/* IDL:   uint16 Length; */
1196
/* IDL:   uint16 RecordCount; */
1197
/* IDL:   DNS_RPC_NODE_FLAGS Flags; */
1198
/* IDL:   uint32 Childcount; */
1199
/* IDL:   DNS_RPC_NAME NodeName; */
1200
/* IDL:   DNS_RPC_RECORD records[RecordCount]; */
1201
/* IDL: } */
1202
1203
static int
1204
dnsserver_dissect_element_DNS_RPC_NODE_Length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1205
0
{
1206
0
  offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_NODE_Length, 0);
1207
1208
0
  return offset;
1209
0
}
1210
1211
static int
1212
dnsserver_dissect_element_DNS_RPC_NODE_Flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1213
0
{
1214
0
  offset = dnsserver_dissect_bitmap_DNS_RPC_NODE_FLAGS(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_NODE_Flags, 0);
1215
1216
0
  return offset;
1217
0
}
1218
1219
static int
1220
dnsserver_dissect_element_DNS_RPC_NODE_Childcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1221
0
{
1222
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_NODE_Childcount, 0);
1223
1224
0
  return offset;
1225
0
}
1226
1227
static int
1228
dnsserver_dissect_element_DNS_RPC_NODE_NodeName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1229
0
{
1230
0
  offset = dnsserver_dissect_struct_DNS_RPC_NAME(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_NODE_NodeName,0);
1231
1232
0
  return offset;
1233
0
}
1234
1235
static int
1236
dnsserver_dissect_element_DNS_RPC_NODE_records_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1237
0
{
1238
0
  offset = dnsserver_dissect_struct_DNS_RPC_RECORD(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_NODE_records,0);
1239
1240
0
  return offset;
1241
0
}
1242
1243
int
1244
dnsserver_dissect_struct_DNS_RPC_NODE(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1245
0
{
1246
0
  proto_item *item = NULL;
1247
0
  proto_tree *tree = NULL;
1248
0
  int old_offset;
1249
1250
0
  ALIGN_TO_4_BYTES;
1251
1252
0
  old_offset = offset;
1253
1254
0
  if (parent_tree) {
1255
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1256
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_NODE);
1257
0
  }
1258
1259
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_Length(tvb, offset, pinfo, tree, di, drep);
1260
1261
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_RecordCount(tvb, offset, pinfo, tree, di, drep);
1262
1263
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_Flags(tvb, offset, pinfo, tree, di, drep);
1264
1265
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_Childcount(tvb, offset, pinfo, tree, di, drep);
1266
1267
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_NodeName(tvb, offset, pinfo, tree, di, drep);
1268
1269
0
  offset = dnsserver_dissect_element_DNS_RPC_NODE_records(tvb, offset, pinfo, tree, di, drep);
1270
1271
1272
0
  proto_item_set_len(item, offset-old_offset);
1273
1274
1275
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1276
0
    ALIGN_TO_4_BYTES;
1277
0
  }
1278
1279
0
  return offset;
1280
0
}
1281
1282
1283
/* IDL: struct { */
1284
/* IDL:   uint32 AddrCount; */
1285
/* IDL:   [size_is(AddrCount)] uint32 AddrArray[*]; */
1286
/* IDL: } */
1287
1288
static int
1289
dnsserver_dissect_element_IP4_ARRAY_AddrCount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1290
0
{
1291
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_IP4_ARRAY_AddrCount, 0);
1292
1293
0
  return offset;
1294
0
}
1295
1296
static int
1297
dnsserver_dissect_element_IP4_ARRAY_AddrArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1298
0
{
1299
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_IP4_ARRAY_AddrArray_);
1300
1301
0
  return offset;
1302
0
}
1303
1304
static int
1305
dnsserver_dissect_element_IP4_ARRAY_AddrArray_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1306
0
{
1307
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_IP4_ARRAY_AddrArray, 0);
1308
1309
0
  return offset;
1310
0
}
1311
1312
int
1313
dnsserver_dissect_struct_IP4_ARRAY(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1314
0
{
1315
0
  proto_item *item = NULL;
1316
0
  proto_tree *tree = NULL;
1317
0
  int old_offset;
1318
1319
0
  ALIGN_TO_4_BYTES;
1320
1321
0
  old_offset = offset;
1322
1323
0
  if (parent_tree) {
1324
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1325
0
    tree = proto_item_add_subtree(item, ett_dnsserver_IP4_ARRAY);
1326
0
  }
1327
1328
0
  offset = dnsserver_dissect_element_IP4_ARRAY_AddrCount(tvb, offset, pinfo, tree, di, drep);
1329
1330
0
  offset = dnsserver_dissect_element_IP4_ARRAY_AddrArray(tvb, offset, pinfo, tree, di, drep);
1331
1332
1333
0
  proto_item_set_len(item, offset-old_offset);
1334
1335
1336
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
1337
0
    ALIGN_TO_4_BYTES;
1338
0
  }
1339
1340
0
  return offset;
1341
0
}
1342
1343
1344
/* IDL: struct { */
1345
/* IDL:   uint32 RpcStructureVersion; */
1346
/* IDL:   uint32 reserved0; */
1347
/* IDL:   DNS_RPC_VERSION Version; */
1348
/* IDL:   DNS_RPC_BOOT_METHOD BootMethod; */
1349
/* IDL:   uint8 AdminConfigured; */
1350
/* IDL:   uint8 AllowUpdate; */
1351
/* IDL:   uint8 DsAvailable; */
1352
/* IDL:   [unique(1)] uint8 *ServerName; */
1353
/* IDL:   [charset(UTF16)] [unique(1)] uint16 *DsContainer; */
1354
/* IDL:   [unique(1)] IP4_ARRAY *ServerAddrs; */
1355
/* IDL:   [unique(1)] IP4_ARRAY *ListenAddrs; */
1356
/* IDL:   [unique(1)] IP4_ARRAY *Forwarders; */
1357
/* IDL:   [unique(1)] IP4_ARRAY *LogFilter; */
1358
/* IDL:   [charset(UTF16)] [unique(1)] uint16 *LogFilePath; */
1359
/* IDL:   [unique(1)] uint8 *DomainName; */
1360
/* IDL:   [unique(1)] uint8 *ForestName; */
1361
/* IDL:   [unique(1)] uint8 *DomainDirectoryPartition; */
1362
/* IDL:   [unique(1)] uint8 *ForestDirectoryPartition; */
1363
/* IDL:   [unique(1)] uint8 *extension0; */
1364
/* IDL:   [unique(1)] uint8 *extension1; */
1365
/* IDL:   [unique(1)] uint8 *extension2; */
1366
/* IDL:   [unique(1)] uint8 *extension3; */
1367
/* IDL:   [unique(1)] uint8 *extension4; */
1368
/* IDL:   [unique(1)] uint8 *extension5; */
1369
/* IDL:   DNS_LOG_LEVELS LogLevel; */
1370
/* IDL:   uint32 DebugLevel; */
1371
/* IDL:   uint32 ForwardTimeout; */
1372
/* IDL:   DNS_RPC_PROTOCOLS RpcProtocol; */
1373
/* IDL:   DNS_NAME_CHECK_FLAGS NameCheckFlag; */
1374
/* IDL:   uint32 AddressAnswerLimit; */
1375
/* IDL:   uint32 RecursionRetry; */
1376
/* IDL:   uint32 RecursionTimeout; */
1377
/* IDL:   uint32 MaxCacheTtl; */
1378
/* IDL:   uint32 DsPollingInterval; */
1379
/* IDL:   uint32 LocalNetPriorityNetmask; */
1380
/* IDL:   uint32 ScavengingInterval; */
1381
/* IDL:   uint32 DefaultRefreshInterval; */
1382
/* IDL:   uint32 DefaultNoRefreshInterval; */
1383
/* IDL:   uint32 LastScavengeTime; */
1384
/* IDL:   uint32 EventLogLevel; */
1385
/* IDL:   uint32 LogFileMaxSize; */
1386
/* IDL:   uint32 DsForestVersion; */
1387
/* IDL:   uint32 DsDomainVersion; */
1388
/* IDL:   uint32 DsDsaVersion; */
1389
/* IDL:   uint32 reserve_array[4]; */
1390
/* IDL:   uint8 AutoReverseZones; */
1391
/* IDL:   uint8 AutoCacheUpdate; */
1392
/* IDL:   uint8 RecurseAfterForwarding; */
1393
/* IDL:   uint8 ForwardDelegations; */
1394
/* IDL:   uint8 NoRecursion; */
1395
/* IDL:   uint8 SecureResponses; */
1396
/* IDL:   uint8 RoundRobin; */
1397
/* IDL:   uint8 LocalNetPriority; */
1398
/* IDL:   uint8 BindSecondaries; */
1399
/* IDL:   uint8 WriteAuthorityNs; */
1400
/* IDL:   uint8 StrictFileParsing; */
1401
/* IDL:   uint8 LooseWildcarding; */
1402
/* IDL:   uint8 DefaultAgingState; */
1403
/* IDL:   uint8 reserve_array2[15]; */
1404
/* IDL: } */
1405
1406
static int
1407
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1408
0
{
1409
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion, 0);
1410
1411
0
  return offset;
1412
0
}
1413
1414
static int
1415
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserved0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1416
0
{
1417
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserved0, 0);
1418
1419
0
  return offset;
1420
0
}
1421
1422
static int
1423
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1424
0
{
1425
0
  offset = dnsserver_dissect_struct_DNS_RPC_VERSION(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Version,0);
1426
1427
0
  return offset;
1428
0
}
1429
1430
static int
1431
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BootMethod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1432
0
{
1433
0
  offset = dnsserver_dissect_enum_DNS_RPC_BOOT_METHOD(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BootMethod, 0);
1434
1435
0
  return offset;
1436
0
}
1437
1438
static int
1439
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1440
0
{
1441
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured, 0);
1442
1443
0
  return offset;
1444
0
}
1445
1446
static int
1447
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1448
0
{
1449
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate, 0);
1450
1451
0
  return offset;
1452
0
}
1453
1454
static int
1455
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1456
0
{
1457
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable, 0);
1458
1459
0
  return offset;
1460
0
}
1461
1462
static int
1463
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1464
0
{
1465
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName_, NDR_POINTER_UNIQUE, "Pointer to ServerName (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerName);
1466
1467
0
  return offset;
1468
0
}
1469
1470
static int
1471
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1472
0
{
1473
0
  char *data;
1474
1475
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerName, false, &data);
1476
0
  proto_item_append_text(tree, ": %s", data);
1477
1478
0
  return offset;
1479
0
}
1480
1481
static int
1482
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1483
0
{
1484
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer_, NDR_POINTER_UNIQUE, "Pointer to DsContainer (uint16)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsContainer);
1485
1486
0
  return offset;
1487
0
}
1488
1489
static int
1490
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1491
0
{
1492
0
  char *data;
1493
1494
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsContainer, false, &data);
1495
0
  proto_item_append_text(tree, ": %s", data);
1496
1497
0
  return offset;
1498
0
}
1499
1500
static int
1501
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1502
0
{
1503
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs_, NDR_POINTER_UNIQUE, "Pointer to ServerAddrs (IP4_ARRAY)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs);
1504
1505
0
  return offset;
1506
0
}
1507
1508
static int
1509
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1510
0
{
1511
0
  offset = dnsserver_dissect_struct_IP4_ARRAY(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs,0);
1512
1513
0
  return offset;
1514
0
}
1515
1516
static int
1517
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1518
0
{
1519
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs_, NDR_POINTER_UNIQUE, "Pointer to ListenAddrs (IP4_ARRAY)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs);
1520
1521
0
  return offset;
1522
0
}
1523
1524
static int
1525
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1526
0
{
1527
0
  offset = dnsserver_dissect_struct_IP4_ARRAY(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs,0);
1528
1529
0
  return offset;
1530
0
}
1531
1532
static int
1533
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1534
0
{
1535
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders_, NDR_POINTER_UNIQUE, "Pointer to Forwarders (IP4_ARRAY)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Forwarders);
1536
1537
0
  return offset;
1538
0
}
1539
1540
static int
1541
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1542
0
{
1543
0
  offset = dnsserver_dissect_struct_IP4_ARRAY(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Forwarders,0);
1544
1545
0
  return offset;
1546
0
}
1547
1548
static int
1549
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1550
0
{
1551
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter_, NDR_POINTER_UNIQUE, "Pointer to LogFilter (IP4_ARRAY)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilter);
1552
1553
0
  return offset;
1554
0
}
1555
1556
static int
1557
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1558
0
{
1559
0
  offset = dnsserver_dissect_struct_IP4_ARRAY(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilter,0);
1560
1561
0
  return offset;
1562
0
}
1563
1564
static int
1565
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1566
0
{
1567
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath_, NDR_POINTER_UNIQUE, "Pointer to LogFilePath (uint16)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath);
1568
1569
0
  return offset;
1570
0
}
1571
1572
static int
1573
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1574
0
{
1575
0
  char *data;
1576
1577
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath, false, &data);
1578
0
  proto_item_append_text(tree, ": %s", data);
1579
1580
0
  return offset;
1581
0
}
1582
1583
static int
1584
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1585
0
{
1586
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName_, NDR_POINTER_UNIQUE, "Pointer to DomainName (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainName);
1587
1588
0
  return offset;
1589
0
}
1590
1591
static int
1592
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1593
0
{
1594
0
  char *data;
1595
1596
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainName, false, &data);
1597
0
  proto_item_append_text(tree, ": %s", data);
1598
1599
0
  return offset;
1600
0
}
1601
1602
static int
1603
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1604
0
{
1605
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName_, NDR_POINTER_UNIQUE, "Pointer to ForestName (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestName);
1606
1607
0
  return offset;
1608
0
}
1609
1610
static int
1611
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1612
0
{
1613
0
  char *data;
1614
1615
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestName, false, &data);
1616
0
  proto_item_append_text(tree, ": %s", data);
1617
1618
0
  return offset;
1619
0
}
1620
1621
static int
1622
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1623
0
{
1624
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition_, NDR_POINTER_UNIQUE, "Pointer to DomainDirectoryPartition (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition);
1625
1626
0
  return offset;
1627
0
}
1628
1629
static int
1630
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1631
0
{
1632
0
  char *data;
1633
1634
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition, false, &data);
1635
0
  proto_item_append_text(tree, ": %s", data);
1636
1637
0
  return offset;
1638
0
}
1639
1640
static int
1641
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1642
0
{
1643
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition_, NDR_POINTER_UNIQUE, "Pointer to ForestDirectoryPartition (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition);
1644
1645
0
  return offset;
1646
0
}
1647
1648
static int
1649
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1650
0
{
1651
0
  char *data;
1652
1653
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition, false, &data);
1654
0
  proto_item_append_text(tree, ": %s", data);
1655
1656
0
  return offset;
1657
0
}
1658
1659
static int
1660
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1661
0
{
1662
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0_, NDR_POINTER_UNIQUE, "Pointer to Extension0 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension0);
1663
1664
0
  return offset;
1665
0
}
1666
1667
static int
1668
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1669
0
{
1670
0
  char *data;
1671
1672
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension0, false, &data);
1673
0
  proto_item_append_text(tree, ": %s", data);
1674
1675
0
  return offset;
1676
0
}
1677
1678
static int
1679
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1680
0
{
1681
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1_, NDR_POINTER_UNIQUE, "Pointer to Extension1 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension1);
1682
1683
0
  return offset;
1684
0
}
1685
1686
static int
1687
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1688
0
{
1689
0
  char *data;
1690
1691
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension1, false, &data);
1692
0
  proto_item_append_text(tree, ": %s", data);
1693
1694
0
  return offset;
1695
0
}
1696
1697
static int
1698
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1699
0
{
1700
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2_, NDR_POINTER_UNIQUE, "Pointer to Extension2 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension2);
1701
1702
0
  return offset;
1703
0
}
1704
1705
static int
1706
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1707
0
{
1708
0
  char *data;
1709
1710
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension2, false, &data);
1711
0
  proto_item_append_text(tree, ": %s", data);
1712
1713
0
  return offset;
1714
0
}
1715
1716
static int
1717
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1718
0
{
1719
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3_, NDR_POINTER_UNIQUE, "Pointer to Extension3 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension3);
1720
1721
0
  return offset;
1722
0
}
1723
1724
static int
1725
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1726
0
{
1727
0
  char *data;
1728
1729
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension3, false, &data);
1730
0
  proto_item_append_text(tree, ": %s", data);
1731
1732
0
  return offset;
1733
0
}
1734
1735
static int
1736
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1737
0
{
1738
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4_, NDR_POINTER_UNIQUE, "Pointer to Extension4 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension4);
1739
1740
0
  return offset;
1741
0
}
1742
1743
static int
1744
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1745
0
{
1746
0
  char *data;
1747
1748
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension4, false, &data);
1749
0
  proto_item_append_text(tree, ": %s", data);
1750
1751
0
  return offset;
1752
0
}
1753
1754
static int
1755
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1756
0
{
1757
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5_, NDR_POINTER_UNIQUE, "Pointer to Extension5 (uint8)",hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension5);
1758
1759
0
  return offset;
1760
0
}
1761
1762
static int
1763
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1764
0
{
1765
0
  char *data;
1766
1767
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension5, false, &data);
1768
0
  proto_item_append_text(tree, ": %s", data);
1769
1770
0
  return offset;
1771
0
}
1772
1773
static int
1774
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1775
0
{
1776
0
  offset = dnsserver_dissect_bitmap_DNS_LOG_LEVELS(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogLevel, 0);
1777
1778
0
  return offset;
1779
0
}
1780
1781
static int
1782
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1783
0
{
1784
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel, 0);
1785
1786
0
  return offset;
1787
0
}
1788
1789
static int
1790
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1791
0
{
1792
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout, 0);
1793
1794
0
  return offset;
1795
0
}
1796
1797
static int
1798
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1799
0
{
1800
0
  offset = dnsserver_dissect_bitmap_DNS_RPC_PROTOCOLS(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol, 0);
1801
1802
0
  return offset;
1803
0
}
1804
1805
static int
1806
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1807
0
{
1808
0
  offset = dnsserver_dissect_enum_DNS_NAME_CHECK_FLAGS(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag, 0);
1809
1810
0
  return offset;
1811
0
}
1812
1813
static int
1814
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1815
0
{
1816
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit, 0);
1817
1818
0
  return offset;
1819
0
}
1820
1821
static int
1822
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1823
0
{
1824
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry, 0);
1825
1826
0
  return offset;
1827
0
}
1828
1829
static int
1830
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1831
0
{
1832
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout, 0);
1833
1834
0
  return offset;
1835
0
}
1836
1837
static int
1838
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1839
0
{
1840
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl, 0);
1841
1842
0
  return offset;
1843
0
}
1844
1845
static int
1846
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1847
0
{
1848
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval, 0);
1849
1850
0
  return offset;
1851
0
}
1852
1853
static int
1854
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1855
0
{
1856
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask, 0);
1857
1858
0
  return offset;
1859
0
}
1860
1861
static int
1862
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1863
0
{
1864
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval, 0);
1865
1866
0
  return offset;
1867
0
}
1868
1869
static int
1870
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1871
0
{
1872
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval, 0);
1873
1874
0
  return offset;
1875
0
}
1876
1877
static int
1878
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1879
0
{
1880
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval, 0);
1881
1882
0
  return offset;
1883
0
}
1884
1885
static int
1886
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1887
0
{
1888
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime, 0);
1889
1890
0
  return offset;
1891
0
}
1892
1893
static int
1894
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1895
0
{
1896
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel, 0);
1897
1898
0
  return offset;
1899
0
}
1900
1901
static int
1902
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1903
0
{
1904
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize, 0);
1905
1906
0
  return offset;
1907
0
}
1908
1909
static int
1910
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1911
0
{
1912
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion, 0);
1913
1914
0
  return offset;
1915
0
}
1916
1917
static int
1918
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1919
0
{
1920
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion, 0);
1921
1922
0
  return offset;
1923
0
}
1924
1925
static int
1926
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1927
0
{
1928
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion, 0);
1929
1930
0
  return offset;
1931
0
}
1932
1933
static int
1934
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1935
0
{
1936
0
  int i;
1937
0
  for (i = 0; i < 4; i++)
1938
0
    offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array_(tvb, offset, pinfo, tree, di, drep);
1939
1940
0
  return offset;
1941
0
}
1942
1943
static int
1944
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1945
0
{
1946
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array, 0);
1947
1948
0
  return offset;
1949
0
}
1950
1951
static int
1952
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1953
0
{
1954
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones, 0);
1955
1956
0
  return offset;
1957
0
}
1958
1959
static int
1960
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1961
0
{
1962
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate, 0);
1963
1964
0
  return offset;
1965
0
}
1966
1967
static int
1968
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1969
0
{
1970
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding, 0);
1971
1972
0
  return offset;
1973
0
}
1974
1975
static int
1976
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1977
0
{
1978
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations, 0);
1979
1980
0
  return offset;
1981
0
}
1982
1983
static int
1984
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1985
0
{
1986
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion, 0);
1987
1988
0
  return offset;
1989
0
}
1990
1991
static int
1992
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1993
0
{
1994
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses, 0);
1995
1996
0
  return offset;
1997
0
}
1998
1999
static int
2000
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2001
0
{
2002
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin, 0);
2003
2004
0
  return offset;
2005
0
}
2006
2007
static int
2008
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2009
0
{
2010
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority, 0);
2011
2012
0
  return offset;
2013
0
}
2014
2015
static int
2016
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2017
0
{
2018
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries, 0);
2019
2020
0
  return offset;
2021
0
}
2022
2023
static int
2024
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2025
0
{
2026
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs, 0);
2027
2028
0
  return offset;
2029
0
}
2030
2031
static int
2032
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2033
0
{
2034
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing, 0);
2035
2036
0
  return offset;
2037
0
}
2038
2039
static int
2040
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2041
0
{
2042
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding, 0);
2043
2044
0
  return offset;
2045
0
}
2046
2047
static int
2048
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2049
0
{
2050
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState, 0);
2051
2052
0
  return offset;
2053
0
}
2054
2055
static int
2056
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2057
0
{
2058
0
  int i;
2059
0
  for (i = 0; i < 15; i++)
2060
0
    offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2_(tvb, offset, pinfo, tree, di, drep);
2061
2062
0
  return offset;
2063
0
}
2064
2065
static int
2066
dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2067
0
{
2068
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2, 0);
2069
2070
0
  return offset;
2071
0
}
2072
2073
int
2074
dnsserver_dissect_struct_DNS_RPC_SERVER_INFO_DOTNET(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2075
0
{
2076
0
  proto_item *item = NULL;
2077
0
  proto_tree *tree = NULL;
2078
0
  int old_offset;
2079
2080
0
  ALIGN_TO_5_BYTES;
2081
2082
0
  old_offset = offset;
2083
2084
0
  if (parent_tree) {
2085
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2086
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RPC_SERVER_INFO_DOTNET);
2087
0
  }
2088
2089
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion(tvb, offset, pinfo, tree, di, drep);
2090
2091
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserved0(tvb, offset, pinfo, tree, di, drep);
2092
2093
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Version(tvb, offset, pinfo, tree, di, drep);
2094
2095
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BootMethod(tvb, offset, pinfo, tree, di, drep);
2096
2097
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured(tvb, offset, pinfo, tree, di, drep);
2098
2099
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate(tvb, offset, pinfo, tree, di, drep);
2100
2101
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable(tvb, offset, pinfo, tree, di, drep);
2102
2103
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerName(tvb, offset, pinfo, tree, di, drep);
2104
2105
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsContainer(tvb, offset, pinfo, tree, di, drep);
2106
2107
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs(tvb, offset, pinfo, tree, di, drep);
2108
2109
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs(tvb, offset, pinfo, tree, di, drep);
2110
2111
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_Forwarders(tvb, offset, pinfo, tree, di, drep);
2112
2113
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilter(tvb, offset, pinfo, tree, di, drep);
2114
2115
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath(tvb, offset, pinfo, tree, di, drep);
2116
2117
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainName(tvb, offset, pinfo, tree, di, drep);
2118
2119
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestName(tvb, offset, pinfo, tree, di, drep);
2120
2121
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition(tvb, offset, pinfo, tree, di, drep);
2122
2123
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition(tvb, offset, pinfo, tree, di, drep);
2124
2125
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension0(tvb, offset, pinfo, tree, di, drep);
2126
2127
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension1(tvb, offset, pinfo, tree, di, drep);
2128
2129
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension2(tvb, offset, pinfo, tree, di, drep);
2130
2131
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension3(tvb, offset, pinfo, tree, di, drep);
2132
2133
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension4(tvb, offset, pinfo, tree, di, drep);
2134
2135
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_extension5(tvb, offset, pinfo, tree, di, drep);
2136
2137
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogLevel(tvb, offset, pinfo, tree, di, drep);
2138
2139
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel(tvb, offset, pinfo, tree, di, drep);
2140
2141
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout(tvb, offset, pinfo, tree, di, drep);
2142
2143
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol(tvb, offset, pinfo, tree, di, drep);
2144
2145
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag(tvb, offset, pinfo, tree, di, drep);
2146
2147
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit(tvb, offset, pinfo, tree, di, drep);
2148
2149
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry(tvb, offset, pinfo, tree, di, drep);
2150
2151
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout(tvb, offset, pinfo, tree, di, drep);
2152
2153
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl(tvb, offset, pinfo, tree, di, drep);
2154
2155
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval(tvb, offset, pinfo, tree, di, drep);
2156
2157
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask(tvb, offset, pinfo, tree, di, drep);
2158
2159
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval(tvb, offset, pinfo, tree, di, drep);
2160
2161
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval(tvb, offset, pinfo, tree, di, drep);
2162
2163
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval(tvb, offset, pinfo, tree, di, drep);
2164
2165
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime(tvb, offset, pinfo, tree, di, drep);
2166
2167
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel(tvb, offset, pinfo, tree, di, drep);
2168
2169
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize(tvb, offset, pinfo, tree, di, drep);
2170
2171
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion(tvb, offset, pinfo, tree, di, drep);
2172
2173
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion(tvb, offset, pinfo, tree, di, drep);
2174
2175
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion(tvb, offset, pinfo, tree, di, drep);
2176
2177
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array(tvb, offset, pinfo, tree, di, drep);
2178
2179
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones(tvb, offset, pinfo, tree, di, drep);
2180
2181
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate(tvb, offset, pinfo, tree, di, drep);
2182
2183
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding(tvb, offset, pinfo, tree, di, drep);
2184
2185
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations(tvb, offset, pinfo, tree, di, drep);
2186
2187
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion(tvb, offset, pinfo, tree, di, drep);
2188
2189
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses(tvb, offset, pinfo, tree, di, drep);
2190
2191
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin(tvb, offset, pinfo, tree, di, drep);
2192
2193
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority(tvb, offset, pinfo, tree, di, drep);
2194
2195
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries(tvb, offset, pinfo, tree, di, drep);
2196
2197
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs(tvb, offset, pinfo, tree, di, drep);
2198
2199
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing(tvb, offset, pinfo, tree, di, drep);
2200
2201
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding(tvb, offset, pinfo, tree, di, drep);
2202
2203
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState(tvb, offset, pinfo, tree, di, drep);
2204
2205
0
  offset = dnsserver_dissect_element_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2(tvb, offset, pinfo, tree, di, drep);
2206
2207
2208
0
  proto_item_set_len(item, offset-old_offset);
2209
2210
2211
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2212
0
    ALIGN_TO_5_BYTES;
2213
0
  }
2214
2215
0
  return offset;
2216
0
}
2217
2218
2219
/* IDL: enum { */
2220
/* IDL:   DNSSRV_TYPEID_NULL=0, */
2221
/* IDL:   DNSSRV_TYPEID_DWORD=1, */
2222
/* IDL:   DNSSRV_TYPEID_LPSTR=2, */
2223
/* IDL:   DNSSRV_TYPEID_LPWSTR=3, */
2224
/* IDL:   DNSSRV_TYPEID_IPARRAY=4, */
2225
/* IDL:   DNSSRV_TYPEID_BUFFER=5, */
2226
/* IDL:   DNSSRV_TYPEID_SERVER_INFO_W2K=6, */
2227
/* IDL:   DNSSRV_TYPEID_STATS=7, */
2228
/* IDL:   DNSSRV_TYPEID_FORWARDERS_W2K=8, */
2229
/* IDL:   DNSSRV_TYPEID_ZONE_W2K=9, */
2230
/* IDL:   DNSSRV_TYPEID_ZONE_INFO_W2K=10, */
2231
/* IDL:   DNSSRV_TYPEID_ZONE_SECONDARIES_W2K=11, */
2232
/* IDL:   DNSSRV_TYPEID_ZONE_DATABASE_W2K=12, */
2233
/* IDL:   DNSSRV_TYPEID_ZONE_TYPE_RESET_W2K=13, */
2234
/* IDL:   DNSSRV_TYPEID_ZONE_CREATE_W2K=14, */
2235
/* IDL:   DNSSRV_TYPEID_NAME_AND_PARAM=15, */
2236
/* IDL:   DNSSRV_TYPEID_ZONE_LIST_W2K=16, */
2237
/* IDL:   DNSSRV_TYPEID_ZONE_RENAME=17, */
2238
/* IDL:   DNSSRV_TYPEID_ZONE_EXPORT=18, */
2239
/* IDL:   DNSSRV_TYPEID_SERVER_INFO_DOTNET=19, */
2240
/* IDL:   DNSSRV_TYPEID_FORWARDERS_DOTNET=20, */
2241
/* IDL:   DNSSRV_TYPEID_ZONE=21, */
2242
/* IDL:   DNSSRV_TYPEID_ZONE_INFO_DOTNET=22, */
2243
/* IDL:   DNSSRV_TYPEID_ZONE_SECONDARIES_DOTNET=23, */
2244
/* IDL:   DNSSRV_TYPEID_ZONE_DATABASE=24, */
2245
/* IDL:   DNSSRV_TYPEID_ZONE_TYPE_RESET_DOTNET=25, */
2246
/* IDL:   DNSSRV_TYPEID_ZONE_CREATE_DOTNET=26, */
2247
/* IDL:   DNSSRV_TYPEID_ZONE_LIST=27, */
2248
/* IDL:   DNSSRV_TYPEID_DP_ENUM=28, */
2249
/* IDL:   DNSSRV_TYPEID_DP_INFO=29, */
2250
/* IDL:   DNSSRV_TYPEID_DP_LIST=30, */
2251
/* IDL:   DNSSRV_TYPEID_ENLIST_DP=31, */
2252
/* IDL:   DNSSRV_TYPEID_ZONE_CHANGE_DP=32, */
2253
/* IDL:   DNSSRV_TYPEID_ENUM_ZONES_FILTER=33, */
2254
/* IDL:   DNSSRV_TYPEID_ADDARRAY=34, */
2255
/* IDL:   DNSSRV_TYPEID_SERVER_INFO=35, */
2256
/* IDL:   DNSSRV_TYPEID_ZONE_INFO=36, */
2257
/* IDL:   DNSSRV_TYPEID_FORWARDERS=37, */
2258
/* IDL:   DNSSRV_TYPEID_ZONE_SECONDARIES=38, */
2259
/* IDL:   DNSSRV_TYPEID_ZONE_TYPE_RESET=39, */
2260
/* IDL:   DNSSRV_TYPEID_ZONE_CREATE=40, */
2261
/* IDL:   DNSSRV_TYPEID_IP_VALIDATE=41, */
2262
/* IDL:   DNSSRV_TYPEID_AUTOCONFIGURE=42, */
2263
/* IDL:   DNSSRV_TYPEID_UTF8_STRING_LIST=43, */
2264
/* IDL:   DNSSRV_TYPEID_UNICODE_STRING_LIST=44, */
2265
/* IDL: } */
2266
2267
int
2268
dnsserver_dissect_enum_DnssrvRpcTypeId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2269
0
{
2270
0
  uint32_t parameter=0;
2271
0
  if (param) {
2272
0
    parameter = *param;
2273
0
  }
2274
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2275
0
  if (param) {
2276
0
    *param = parameter;
2277
0
  }
2278
0
  return offset;
2279
0
}
2280
2281
2282
/* IDL: union { */
2283
/* IDL: [case(DNSSRV_TYPEID_NULL)] [case(DNSSRV_TYPEID_NULL)] [unique(1)] uint8 *null; */
2284
/* IDL: [case(DNSSRV_TYPEID_DWORD)] [case(DNSSRV_TYPEID_DWORD)] uint32 dword; */
2285
/* IDL: [case(DNSSRV_TYPEID_SERVER_INFO_DOTNET)] [case(DNSSRV_TYPEID_SERVER_INFO_DOTNET)] [unique(1)] DNS_RPC_SERVER_INFO_DOTNET *ServerInfoDotnet; */
2286
/* IDL: } */
2287
2288
static int
2289
dnsserver_dissect_element_DNSSRV_RPC_UNION_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2290
0
{
2291
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNSSRV_RPC_UNION_null_, NDR_POINTER_UNIQUE, "Pointer to Null (uint8)",hf_dnsserver_DNSSRV_RPC_UNION_null);
2292
2293
0
  return offset;
2294
0
}
2295
2296
static int
2297
dnsserver_dissect_element_DNSSRV_RPC_UNION_null_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2298
0
{
2299
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNSSRV_RPC_UNION_null, 0);
2300
2301
0
  return offset;
2302
0
}
2303
2304
static int
2305
dnsserver_dissect_element_DNSSRV_RPC_UNION_dword(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2306
0
{
2307
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DNSSRV_RPC_UNION_dword, 0);
2308
2309
0
  return offset;
2310
0
}
2311
2312
static int
2313
dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2314
0
{
2315
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet_, NDR_POINTER_UNIQUE, "Pointer to ServerInfoDotnet (DNS_RPC_SERVER_INFO_DOTNET)",hf_dnsserver_DNSSRV_RPC_UNION_ServerInfoDotnet);
2316
2317
0
  return offset;
2318
0
}
2319
2320
static int
2321
dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2322
0
{
2323
0
  offset = dnsserver_dissect_struct_DNS_RPC_SERVER_INFO_DOTNET(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNSSRV_RPC_UNION_ServerInfoDotnet,0);
2324
2325
0
  return offset;
2326
0
}
2327
2328
static int
2329
dnsserver_dissect_DNSSRV_RPC_UNION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2330
0
{
2331
0
  proto_item *item = NULL;
2332
0
  proto_tree *tree = NULL;
2333
0
  int old_offset;
2334
0
  uint32_t level;
2335
2336
0
  old_offset = offset;
2337
0
  if (parent_tree) {
2338
0
    tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_dnsserver_DNSSRV_RPC_UNION, &item, "DNSSRV_RPC_UNION");
2339
0
  }
2340
2341
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
2342
0
  ALIGN_TO_5_BYTES;
2343
2344
0
  switch(level) {
2345
0
    case DNSSRV_TYPEID_NULL:
2346
0
      offset = dnsserver_dissect_element_DNSSRV_RPC_UNION_null(tvb, offset, pinfo, tree, di, drep);
2347
0
    break;
2348
2349
0
    case DNSSRV_TYPEID_DWORD:
2350
0
      offset = dnsserver_dissect_element_DNSSRV_RPC_UNION_dword(tvb, offset, pinfo, tree, di, drep);
2351
0
    break;
2352
2353
0
    case DNSSRV_TYPEID_SERVER_INFO_DOTNET:
2354
0
      offset = dnsserver_dissect_element_DNSSRV_RPC_UNION_ServerInfoDotnet(tvb, offset, pinfo, tree, di, drep);
2355
0
    break;
2356
0
  }
2357
0
  proto_item_set_len(item, offset-old_offset);
2358
2359
2360
0
  return offset;
2361
0
}
2362
2363
/* IDL: struct { */
2364
/* IDL:   DNS_RPC_NODE rpc_node; */
2365
/* IDL: } */
2366
2367
static int
2368
dnsserver_dissect_element_DNS_RECORD_BUFFER_rpc_node(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2369
0
{
2370
0
  offset = dnsserver_dissect_struct_DNS_RPC_NODE(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DNS_RECORD_BUFFER_rpc_node,0);
2371
2372
0
  return offset;
2373
0
}
2374
2375
int
2376
dnsserver_dissect_struct_DNS_RECORD_BUFFER(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2377
0
{
2378
0
  proto_item *item = NULL;
2379
0
  proto_tree *tree = NULL;
2380
0
  int old_offset;
2381
2382
0
  ALIGN_TO_4_BYTES;
2383
2384
0
  old_offset = offset;
2385
2386
0
  if (parent_tree) {
2387
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2388
0
    tree = proto_item_add_subtree(item, ett_dnsserver_DNS_RECORD_BUFFER);
2389
0
  }
2390
2391
0
  offset = dnsserver_dissect_element_DNS_RECORD_BUFFER_rpc_node(tvb, offset, pinfo, tree, di, drep);
2392
2393
2394
0
  proto_item_set_len(item, offset-old_offset);
2395
2396
2397
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
2398
0
    ALIGN_TO_4_BYTES;
2399
0
  }
2400
2401
0
  return offset;
2402
0
}
2403
2404
/* IDL: NTSTATUS DnssrvOperation( */
2405
/* IDL:  */
2406
/* IDL: ); */
2407
2408
static int
2409
dnsserver_dissect_DnssrvOperation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2410
0
{
2411
0
  uint32_t status;
2412
2413
0
  di->dcerpc_procedure_name="DnssrvOperation";
2414
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2415
2416
0
  if (status != 0)
2417
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2418
2419
0
  return offset;
2420
0
}
2421
2422
static int
2423
dnsserver_dissect_DnssrvOperation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2424
0
{
2425
0
  di->dcerpc_procedure_name="DnssrvOperation";
2426
0
  return offset;
2427
0
}
2428
2429
/* IDL: NTSTATUS DnssrvQuery( */
2430
/* IDL:  */
2431
/* IDL: ); */
2432
2433
static int
2434
dnsserver_dissect_DnssrvQuery_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2435
0
{
2436
0
  uint32_t status;
2437
2438
0
  di->dcerpc_procedure_name="DnssrvQuery";
2439
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2440
2441
0
  if (status != 0)
2442
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2443
2444
0
  return offset;
2445
0
}
2446
2447
static int
2448
dnsserver_dissect_DnssrvQuery_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2449
0
{
2450
0
  di->dcerpc_procedure_name="DnssrvQuery";
2451
0
  return offset;
2452
0
}
2453
2454
/* IDL: NTSTATUS DnssrvComplexOperation( */
2455
/* IDL:  */
2456
/* IDL: ); */
2457
2458
static int
2459
dnsserver_dissect_DnssrvComplexOperation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2460
0
{
2461
0
  uint32_t status;
2462
2463
0
  di->dcerpc_procedure_name="DnssrvComplexOperation";
2464
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2465
2466
0
  if (status != 0)
2467
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2468
2469
0
  return offset;
2470
0
}
2471
2472
static int
2473
dnsserver_dissect_DnssrvComplexOperation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2474
0
{
2475
0
  di->dcerpc_procedure_name="DnssrvComplexOperation";
2476
0
  return offset;
2477
0
}
2478
2479
/* IDL: NTSTATUS DnssrvEnumRecords( */
2480
/* IDL:  */
2481
/* IDL: ); */
2482
2483
static int
2484
dnsserver_dissect_DnssrvEnumRecords_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2485
0
{
2486
0
  uint32_t status;
2487
2488
0
  di->dcerpc_procedure_name="DnssrvEnumRecords";
2489
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2490
2491
0
  if (status != 0)
2492
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2493
2494
0
  return offset;
2495
0
}
2496
2497
static int
2498
dnsserver_dissect_DnssrvEnumRecords_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2499
0
{
2500
0
  di->dcerpc_procedure_name="DnssrvEnumRecords";
2501
0
  return offset;
2502
0
}
2503
2504
/* IDL: NTSTATUS DnssrvUpdateRecord( */
2505
/* IDL:  */
2506
/* IDL: ); */
2507
2508
static int
2509
dnsserver_dissect_DnssrvUpdateRecord_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2510
0
{
2511
0
  uint32_t status;
2512
2513
0
  di->dcerpc_procedure_name="DnssrvUpdateRecord";
2514
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2515
2516
0
  if (status != 0)
2517
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2518
2519
0
  return offset;
2520
0
}
2521
2522
static int
2523
dnsserver_dissect_DnssrvUpdateRecord_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2524
0
{
2525
0
  di->dcerpc_procedure_name="DnssrvUpdateRecord";
2526
0
  return offset;
2527
0
}
2528
2529
/* IDL: NTSTATUS DnssrvOperation2( */
2530
/* IDL:  */
2531
/* IDL: ); */
2532
2533
static int
2534
dnsserver_dissect_DnssrvOperation2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2535
0
{
2536
0
  uint32_t status;
2537
2538
0
  di->dcerpc_procedure_name="DnssrvOperation2";
2539
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2540
2541
0
  if (status != 0)
2542
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2543
2544
0
  return offset;
2545
0
}
2546
2547
static int
2548
dnsserver_dissect_DnssrvOperation2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2549
0
{
2550
0
  di->dcerpc_procedure_name="DnssrvOperation2";
2551
0
  return offset;
2552
0
}
2553
2554
static int
2555
dnsserver_dissect_element_DnssrvQuery2_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2556
0
{
2557
0
  offset = dnsserver_dissect_enum_DNS_RPC_CLIENT_VERSION(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvQuery2_client_version, 0);
2558
2559
0
  return offset;
2560
0
}
2561
2562
static int
2563
dnsserver_dissect_element_DnssrvQuery2_setting_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2564
0
{
2565
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvQuery2_setting_flags, 0);
2566
2567
0
  return offset;
2568
0
}
2569
2570
static int
2571
dnsserver_dissect_element_DnssrvQuery2_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2572
0
{
2573
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvQuery2_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_dnsserver_DnssrvQuery2_server_name);
2574
2575
0
  return offset;
2576
0
}
2577
2578
static int
2579
dnsserver_dissect_element_DnssrvQuery2_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2580
0
{
2581
0
  char *data;
2582
2583
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_dnsserver_DnssrvQuery2_server_name, false, &data);
2584
0
  proto_item_append_text(tree, ": %s", data);
2585
2586
0
  return offset;
2587
0
}
2588
2589
static int
2590
dnsserver_dissect_element_DnssrvQuery2_zone(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2591
0
{
2592
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvQuery2_zone_, NDR_POINTER_UNIQUE, "Pointer to Zone (uint8)",hf_dnsserver_DnssrvQuery2_zone);
2593
2594
0
  return offset;
2595
0
}
2596
2597
static int
2598
dnsserver_dissect_element_DnssrvQuery2_zone_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2599
0
{
2600
0
  char *data;
2601
2602
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvQuery2_zone, false, &data);
2603
0
  proto_item_append_text(tree, ": %s", data);
2604
2605
0
  return offset;
2606
0
}
2607
2608
static int
2609
dnsserver_dissect_element_DnssrvQuery2_operation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2610
0
{
2611
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvQuery2_operation_, NDR_POINTER_UNIQUE, "Pointer to Operation (uint8)",hf_dnsserver_DnssrvQuery2_operation);
2612
2613
0
  return offset;
2614
0
}
2615
2616
static int
2617
dnsserver_dissect_element_DnssrvQuery2_operation_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2618
0
{
2619
0
  char *data;
2620
2621
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvQuery2_operation, false, &data);
2622
0
  proto_item_append_text(tree, ": %s", data);
2623
2624
0
  return offset;
2625
0
}
2626
2627
static int
2628
dnsserver_dissect_element_DnssrvQuery2_type_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2629
0
{
2630
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvQuery2_type_id_, NDR_POINTER_REF, "Pointer to Type Id (DnssrvRpcTypeId)",hf_dnsserver_DnssrvQuery2_type_id);
2631
2632
0
  return offset;
2633
0
}
2634
2635
static int
2636
dnsserver_dissect_element_DnssrvQuery2_type_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2637
0
{
2638
0
  offset = dnsserver_dissect_enum_DnssrvRpcTypeId(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvQuery2_type_id, 0);
2639
2640
0
  return offset;
2641
0
}
2642
2643
static int
2644
dnsserver_dissect_element_DnssrvQuery2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2645
0
{
2646
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvQuery2_data_, NDR_POINTER_REF, "Pointer to Data (DNSSRV_RPC_UNION)",hf_dnsserver_DnssrvQuery2_data);
2647
2648
0
  return offset;
2649
0
}
2650
2651
static int
2652
dnsserver_dissect_element_DnssrvQuery2_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2653
0
{
2654
0
  offset = dnsserver_dissect_DNSSRV_RPC_UNION(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvQuery2_data, 0);
2655
2656
0
  return offset;
2657
0
}
2658
2659
/* IDL: NTSTATUS DnssrvQuery2( */
2660
/* IDL: [in] DNS_RPC_CLIENT_VERSION client_version, */
2661
/* IDL: [in] uint32 setting_flags, */
2662
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
2663
/* IDL: [in] [unique(1)] uint8 *zone, */
2664
/* IDL: [in] [unique(1)] uint8 *operation, */
2665
/* IDL: [out] [ref] DnssrvRpcTypeId *type_id, */
2666
/* IDL: [out] [ref] [switch_is(*type_id)] DNSSRV_RPC_UNION *data */
2667
/* IDL: ); */
2668
2669
static int
2670
dnsserver_dissect_DnssrvQuery2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2671
0
{
2672
0
  uint32_t status;
2673
2674
0
  di->dcerpc_procedure_name="DnssrvQuery2";
2675
0
  offset = dnsserver_dissect_element_DnssrvQuery2_type_id(tvb, offset, pinfo, tree, di, drep);
2676
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2677
2678
0
  offset = dnsserver_dissect_element_DnssrvQuery2_data(tvb, offset, pinfo, tree, di, drep);
2679
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2680
2681
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2682
2683
0
  if (status != 0)
2684
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2685
2686
0
  return offset;
2687
0
}
2688
2689
static int
2690
dnsserver_dissect_DnssrvQuery2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2691
0
{
2692
0
  di->dcerpc_procedure_name="DnssrvQuery2";
2693
0
  offset = dnsserver_dissect_element_DnssrvQuery2_client_version(tvb, offset, pinfo, tree, di, drep);
2694
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2695
0
  offset = dnsserver_dissect_element_DnssrvQuery2_setting_flags(tvb, offset, pinfo, tree, di, drep);
2696
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2697
0
  offset = dnsserver_dissect_element_DnssrvQuery2_server_name(tvb, offset, pinfo, tree, di, drep);
2698
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2699
0
  offset = dnsserver_dissect_element_DnssrvQuery2_zone(tvb, offset, pinfo, tree, di, drep);
2700
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2701
0
  offset = dnsserver_dissect_element_DnssrvQuery2_operation(tvb, offset, pinfo, tree, di, drep);
2702
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2703
0
  return offset;
2704
0
}
2705
2706
/* IDL: NTSTATUS DnssrvComplexOperation2( */
2707
/* IDL:  */
2708
/* IDL: ); */
2709
2710
static int
2711
dnsserver_dissect_DnssrvComplexOperation2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2712
0
{
2713
0
  uint32_t status;
2714
2715
0
  di->dcerpc_procedure_name="DnssrvComplexOperation2";
2716
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2717
2718
0
  if (status != 0)
2719
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2720
2721
0
  return offset;
2722
0
}
2723
2724
static int
2725
dnsserver_dissect_DnssrvComplexOperation2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2726
0
{
2727
0
  di->dcerpc_procedure_name="DnssrvComplexOperation2";
2728
0
  return offset;
2729
0
}
2730
2731
static int
2732
dnsserver_dissect_element_DnssrvEnumRecords2_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2733
0
{
2734
0
  offset = dnsserver_dissect_enum_DNS_RPC_CLIENT_VERSION(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_client_version, 0);
2735
2736
0
  return offset;
2737
0
}
2738
2739
static int
2740
dnsserver_dissect_element_DnssrvEnumRecords2_setting_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2741
0
{
2742
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_setting_flags, 0);
2743
2744
0
  return offset;
2745
0
}
2746
2747
static int
2748
dnsserver_dissect_element_DnssrvEnumRecords2_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2749
0
{
2750
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_dnsserver_DnssrvEnumRecords2_server_name);
2751
2752
0
  return offset;
2753
0
}
2754
2755
static int
2756
dnsserver_dissect_element_DnssrvEnumRecords2_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2757
0
{
2758
0
  char *data;
2759
2760
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_dnsserver_DnssrvEnumRecords2_server_name, false, &data);
2761
0
  proto_item_append_text(tree, ": %s", data);
2762
2763
0
  return offset;
2764
0
}
2765
2766
static int
2767
dnsserver_dissect_element_DnssrvEnumRecords2_zone(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2768
0
{
2769
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_zone_, NDR_POINTER_UNIQUE, "Pointer to Zone (uint8)",hf_dnsserver_DnssrvEnumRecords2_zone);
2770
2771
0
  return offset;
2772
0
}
2773
2774
static int
2775
dnsserver_dissect_element_DnssrvEnumRecords2_zone_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2776
0
{
2777
0
  char *data;
2778
2779
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvEnumRecords2_zone, false, &data);
2780
0
  proto_item_append_text(tree, ": %s", data);
2781
2782
0
  return offset;
2783
0
}
2784
2785
static int
2786
dnsserver_dissect_element_DnssrvEnumRecords2_node_name(tvbuff_t *tvb _U_, int 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_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_node_name_, NDR_POINTER_UNIQUE, "Pointer to Node Name (uint8)",hf_dnsserver_DnssrvEnumRecords2_node_name);
2789
2790
0
  return offset;
2791
0
}
2792
2793
static int
2794
dnsserver_dissect_element_DnssrvEnumRecords2_node_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2795
0
{
2796
0
  char *data;
2797
2798
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvEnumRecords2_node_name, false, &data);
2799
0
  proto_item_append_text(tree, ": %s", data);
2800
2801
0
  return offset;
2802
0
}
2803
2804
static int
2805
dnsserver_dissect_element_DnssrvEnumRecords2_start_child(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2806
0
{
2807
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_start_child_, NDR_POINTER_UNIQUE, "Pointer to Start Child (uint8)",hf_dnsserver_DnssrvEnumRecords2_start_child);
2808
2809
0
  return offset;
2810
0
}
2811
2812
static int
2813
dnsserver_dissect_element_DnssrvEnumRecords2_start_child_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2814
0
{
2815
0
  char *data;
2816
2817
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvEnumRecords2_start_child, false, &data);
2818
0
  proto_item_append_text(tree, ": %s", data);
2819
2820
0
  return offset;
2821
0
}
2822
2823
static int
2824
dnsserver_dissect_element_DnssrvEnumRecords2_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2825
0
{
2826
0
  offset = dnsserver_dissect_enum_DNS_RECORD_TYPE(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_record_type, 0);
2827
2828
0
  return offset;
2829
0
}
2830
2831
static int
2832
dnsserver_dissect_element_DnssrvEnumRecords2_select_flag(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2833
0
{
2834
0
  offset = dnsserver_dissect_bitmap_DNS_SELECT_FLAGS(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_select_flag, 0);
2835
2836
0
  return offset;
2837
0
}
2838
2839
static int
2840
dnsserver_dissect_element_DnssrvEnumRecords2_filter_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2841
0
{
2842
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_filter_start_, NDR_POINTER_UNIQUE, "Pointer to Filter Start (uint8)",hf_dnsserver_DnssrvEnumRecords2_filter_start);
2843
2844
0
  return offset;
2845
0
}
2846
2847
static int
2848
dnsserver_dissect_element_DnssrvEnumRecords2_filter_start_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2849
0
{
2850
0
  char *data;
2851
2852
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvEnumRecords2_filter_start, false, &data);
2853
0
  proto_item_append_text(tree, ": %s", data);
2854
2855
0
  return offset;
2856
0
}
2857
2858
static int
2859
dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2860
0
{
2861
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop_, NDR_POINTER_UNIQUE, "Pointer to Filter Stop (uint8)",hf_dnsserver_DnssrvEnumRecords2_filter_stop);
2862
2863
0
  return offset;
2864
0
}
2865
2866
static int
2867
dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2868
0
{
2869
0
  char *data;
2870
2871
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_dnsserver_DnssrvEnumRecords2_filter_stop, false, &data);
2872
0
  proto_item_append_text(tree, ": %s", data);
2873
2874
0
  return offset;
2875
0
}
2876
2877
static int
2878
dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length(tvbuff_t *tvb _U_, int 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_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length_, NDR_POINTER_REF, "Pointer to Buffer Length (uint32)",hf_dnsserver_DnssrvEnumRecords2_buffer_length);
2881
2882
0
  return offset;
2883
0
}
2884
2885
static int
2886
dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2887
0
{
2888
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_buffer_length, 0);
2889
2890
0
  return offset;
2891
0
}
2892
2893
static int
2894
dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2895
0
{
2896
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer_, NDR_POINTER_UNIQUE, "Pointer to Record Buffer (DNS_RPC_NODE)",hf_dnsserver_DnssrvEnumRecords2_record_buffer);
2897
2898
0
  return offset;
2899
0
}
2900
2901
static int
2902
dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2903
0
{
2904
0
  uint3264_t size;
2905
0
  int conformant = di->conformant_run;
2906
0
  tvbuff_t *subtvb;
2907
2908
0
  if (!conformant) {
2909
0
    uint32_t saved_flags = di->call_data->flags;
2910
0
    offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_DnssrvEnumRecords2_record_buffer_, &size);
2911
0
    di->call_data->flags &= ~DCERPC_IS_NDR64;
2912
0
    subtvb = tvb_new_subset_length_caplen(tvb, offset, (const int)size, -1);
2913
0
    dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer__(subtvb, 0, pinfo, tree, di, drep);
2914
0
    offset += (int)size;
2915
0
    di->call_data->flags = saved_flags;
2916
0
  }
2917
2918
0
  return offset;
2919
0
}
2920
2921
static int
2922
dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2923
0
{
2924
0
  offset = dnsserver_dissect_struct_DNS_RPC_NODE(tvb,offset,pinfo,tree,di,drep,hf_dnsserver_DnssrvEnumRecords2_record_buffer,0);
2925
2926
0
  return offset;
2927
0
}
2928
2929
/* IDL: NTSTATUS DnssrvEnumRecords2( */
2930
/* IDL: [in] DNS_RPC_CLIENT_VERSION client_version, */
2931
/* IDL: [in] uint32 setting_flags, */
2932
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_name, */
2933
/* IDL: [in] [unique(1)] uint8 *zone, */
2934
/* IDL: [in] [unique(1)] uint8 *node_name, */
2935
/* IDL: [in] [unique(1)] uint8 *start_child, */
2936
/* IDL: [in] DNS_RECORD_TYPE record_type, */
2937
/* IDL: [in] DNS_SELECT_FLAGS select_flag, */
2938
/* IDL: [in] [unique(1)] uint8 *filter_start, */
2939
/* IDL: [in] [unique(1)] uint8 *filter_stop, */
2940
/* IDL: [out] [ref] uint32 *buffer_length, */
2941
/* IDL: [out] [subcontext(4)] [unique(1)] DNS_RPC_NODE *record_buffer */
2942
/* IDL: ); */
2943
2944
static int
2945
dnsserver_dissect_DnssrvEnumRecords2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2946
0
{
2947
0
  uint32_t status;
2948
2949
0
  di->dcerpc_procedure_name="DnssrvEnumRecords2";
2950
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_buffer_length(tvb, offset, pinfo, tree, di, drep);
2951
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2952
2953
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_record_buffer(tvb, offset, pinfo, tree, di, drep);
2954
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2955
2956
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
2957
2958
0
  if (status != 0)
2959
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
2960
2961
0
  return offset;
2962
0
}
2963
2964
static int
2965
dnsserver_dissect_DnssrvEnumRecords2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2966
0
{
2967
0
  di->dcerpc_procedure_name="DnssrvEnumRecords2";
2968
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_client_version(tvb, offset, pinfo, tree, di, drep);
2969
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2970
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_setting_flags(tvb, offset, pinfo, tree, di, drep);
2971
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2972
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_server_name(tvb, offset, pinfo, tree, di, drep);
2973
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2974
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_zone(tvb, offset, pinfo, tree, di, drep);
2975
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2976
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_node_name(tvb, offset, pinfo, tree, di, drep);
2977
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2978
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_start_child(tvb, offset, pinfo, tree, di, drep);
2979
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2980
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_record_type(tvb, offset, pinfo, tree, di, drep);
2981
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2982
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_select_flag(tvb, offset, pinfo, tree, di, drep);
2983
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2984
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_filter_start(tvb, offset, pinfo, tree, di, drep);
2985
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2986
0
  offset = dnsserver_dissect_element_DnssrvEnumRecords2_filter_stop(tvb, offset, pinfo, tree, di, drep);
2987
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2988
0
  return offset;
2989
0
}
2990
2991
/* IDL: NTSTATUS DnssrvUpdateRecord2( */
2992
/* IDL:  */
2993
/* IDL: ); */
2994
2995
static int
2996
dnsserver_dissect_DnssrvUpdateRecord2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2997
0
{
2998
0
  uint32_t status;
2999
3000
0
  di->dcerpc_procedure_name="DnssrvUpdateRecord2";
3001
0
  offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_dnsserver_status, &status);
3002
3003
0
  if (status != 0)
3004
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
3005
3006
0
  return offset;
3007
0
}
3008
3009
static int
3010
dnsserver_dissect_DnssrvUpdateRecord2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3011
0
{
3012
0
  di->dcerpc_procedure_name="DnssrvUpdateRecord2";
3013
0
  return offset;
3014
0
}
3015
3016
3017
static const dcerpc_sub_dissector dnsserver_dissectors[] = {
3018
  { 0, "DnssrvOperation",
3019
     dnsserver_dissect_DnssrvOperation_request, dnsserver_dissect_DnssrvOperation_response},
3020
  { 1, "DnssrvQuery",
3021
     dnsserver_dissect_DnssrvQuery_request, dnsserver_dissect_DnssrvQuery_response},
3022
  { 2, "DnssrvComplexOperation",
3023
     dnsserver_dissect_DnssrvComplexOperation_request, dnsserver_dissect_DnssrvComplexOperation_response},
3024
  { 3, "DnssrvEnumRecords",
3025
     dnsserver_dissect_DnssrvEnumRecords_request, dnsserver_dissect_DnssrvEnumRecords_response},
3026
  { 4, "DnssrvUpdateRecord",
3027
     dnsserver_dissect_DnssrvUpdateRecord_request, dnsserver_dissect_DnssrvUpdateRecord_response},
3028
  { 5, "DnssrvOperation2",
3029
     dnsserver_dissect_DnssrvOperation2_request, dnsserver_dissect_DnssrvOperation2_response},
3030
  { 6, "DnssrvQuery2",
3031
     dnsserver_dissect_DnssrvQuery2_request, dnsserver_dissect_DnssrvQuery2_response},
3032
  { 7, "DnssrvComplexOperation2",
3033
     dnsserver_dissect_DnssrvComplexOperation2_request, dnsserver_dissect_DnssrvComplexOperation2_response},
3034
  { 8, "DnssrvEnumRecords2",
3035
     dnsserver_dissect_DnssrvEnumRecords2_request, dnsserver_dissect_DnssrvEnumRecords2_response},
3036
  { 9, "DnssrvUpdateRecord2",
3037
     dnsserver_dissect_DnssrvUpdateRecord2_request, dnsserver_dissect_DnssrvUpdateRecord2_response},
3038
  { 0, NULL, NULL, NULL }
3039
};
3040
3041
void proto_register_dcerpc_dnsserver(void)
3042
14
{
3043
14
  static hf_register_info hf[] = {
3044
14
  { &hf_dnsserver_DNSSRV_RPC_UNION_ServerInfoDotnet,
3045
14
    { "ServerInfoDotnet", "dnsserver.DNSSRV_RPC_UNION.ServerInfoDotnet", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3046
14
  { &hf_dnsserver_DNSSRV_RPC_UNION_dword,
3047
14
    { "Dword", "dnsserver.DNSSRV_RPC_UNION.dword", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3048
14
  { &hf_dnsserver_DNSSRV_RPC_UNION_null,
3049
14
    { "Null", "dnsserver.DNSSRV_RPC_UNION.null", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3050
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_ANSWERS,
3051
14
    { "DNS LOG LEVEL ANSWERS", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_ANSWERS", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_ANSWERS_tfs), ( 0x00000200 ), NULL, HFILL }},
3052
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_FULL_PACKETS,
3053
14
    { "DNS LOG LEVEL FULL PACKETS", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_FULL_PACKETS", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_FULL_PACKETS_tfs), ( 0x01000000 ), NULL, HFILL }},
3054
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_NOTIFY,
3055
14
    { "DNS LOG LEVEL NOTIFY", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_NOTIFY", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_NOTIFY_tfs), ( 0x00000010 ), NULL, HFILL }},
3056
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUERY,
3057
14
    { "DNS LOG LEVEL QUERY", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_QUERY", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUERY_tfs), ( 0x00000001 ), NULL, HFILL }},
3058
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUESTIONS,
3059
14
    { "DNS LOG LEVEL QUESTIONS", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_QUESTIONS", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_QUESTIONS_tfs), ( 0x00000100 ), NULL, HFILL }},
3060
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_RECV,
3061
14
    { "DNS LOG LEVEL RECV", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_RECV", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_RECV_tfs), ( 0x00002000 ), NULL, HFILL }},
3062
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_SEND,
3063
14
    { "DNS LOG LEVEL SEND", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_SEND", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_SEND_tfs), ( 0x00001000 ), NULL, HFILL }},
3064
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_TCP,
3065
14
    { "DNS LOG LEVEL TCP", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_TCP", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_TCP_tfs), ( 0x00008000 ), NULL, HFILL }},
3066
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UDP,
3067
14
    { "DNS LOG LEVEL UDP", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_UDP", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_UDP_tfs), ( 0x00004000 ), NULL, HFILL }},
3068
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_UPDATE,
3069
14
    { "DNS LOG LEVEL UPDATE", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_UPDATE", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_UPDATE_tfs), ( 0x00000020 ), NULL, HFILL }},
3070
14
  { &hf_dnsserver_DNS_LOG_LEVELS_DNS_LOG_LEVEL_WRITE_THROUGH,
3071
14
    { "DNS LOG LEVEL WRITE THROUGH", "dnsserver.DNS_LOG_LEVELS.DNS_LOG_LEVEL_WRITE_THROUGH", FT_BOOLEAN, 32, TFS(&DNS_LOG_LEVELS_DNS_LOG_LEVEL_WRITE_THROUGH_tfs), ( 0x80000000 ), NULL, HFILL }},
3072
14
  { &hf_dnsserver_DNS_RECORD_BUFFER_rpc_node,
3073
14
    { "Rpc Node", "dnsserver.DNS_RECORD_BUFFER.rpc_node", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3074
14
  { &hf_dnsserver_DNS_RPC_NAME_Name,
3075
14
    { "Name", "dnsserver.DNS_RPC_NAME.Name", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3076
14
  { &hf_dnsserver_DNS_RPC_NAME_NameLength,
3077
14
    { "NameLength", "dnsserver.DNS_RPC_NAME.NameLength", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3078
14
  { &hf_dnsserver_DNS_RPC_NAME_name,
3079
14
    { "Name", "dnsserver.DNS_RPC_NAME.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3080
14
  { &hf_dnsserver_DNS_RPC_NODE_Childcount,
3081
14
    { "Childcount", "dnsserver.DNS_RPC_NODE.Childcount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3082
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AGING_ON,
3083
14
    { "DNS RPC FLAG AGING ON", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_AGING_ON", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AGING_ON_tfs), ( 0x00020000 ), NULL, HFILL }},
3084
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AUTH_ZONE_ROOT,
3085
14
    { "DNS RPC FLAG AUTH ZONE ROOT", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_AUTH_ZONE_ROOT", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_AUTH_ZONE_ROOT_tfs), ( 0x20000000 ), NULL, HFILL }},
3086
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_CACHE_DATA,
3087
14
    { "DNS RPC FLAG CACHE DATA", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_CACHE_DATA", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_CACHE_DATA_tfs), ( 0x80000000 ), NULL, HFILL }},
3088
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_COMPLETE,
3089
14
    { "DNS RPC FLAG NODE COMPLETE", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_NODE_COMPLETE", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_COMPLETE_tfs), ( 0x00800000 ), NULL, HFILL }},
3090
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_STICKY,
3091
14
    { "DNS RPC FLAG NODE STICKY", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_NODE_STICKY", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_NODE_STICKY_tfs), ( 0x01000000 ), NULL, HFILL }},
3092
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_OPEN_ACL,
3093
14
    { "DNS RPC FLAG OPEN ACL", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_OPEN_ACL", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_OPEN_ACL_tfs), ( 0x00040000 ), NULL, HFILL }},
3094
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_CREATE_PTR,
3095
14
    { "DNS RPC FLAG RECORD CREATE PTR", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_RECORD_CREATE_PTR", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_CREATE_PTR_tfs), ( 0x02000000 ), NULL, HFILL }},
3096
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_TTL_CHANGE,
3097
14
    { "DNS RPC FLAG RECORD TTL CHANGE", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_RECORD_TTL_CHANGE", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECORD_TTL_CHANGE_tfs), ( 0x04000000 ), NULL, HFILL }},
3098
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECOR_DEFAULT_TTL,
3099
14
    { "DNS RPC FLAG RECOR DEFAULT TTL", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_RECOR_DEFAULT_TTL", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_RECOR_DEFAULT_TTL_tfs), ( 0x08000000 ), NULL, HFILL }},
3100
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_SUPPRESS_NOTIFY,
3101
14
    { "DNS RPC FLAG SUPPRESS NOTIFY", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_SUPPRESS_NOTIFY", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_SUPPRESS_NOTIFY_tfs), ( 0x00010000 ), NULL, HFILL }},
3102
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_DELEGATION,
3103
14
    { "DNS RPC FLAG ZONE DELEGATION", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_ZONE_DELEGATION", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_DELEGATION_tfs), ( 0x10000000 ), NULL, HFILL }},
3104
14
  { &hf_dnsserver_DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_ROOT,
3105
14
    { "DNS RPC FLAG ZONE ROOT", "dnsserver.DNS_RPC_NODE_FLAGS.DNS_RPC_FLAG_ZONE_ROOT", FT_BOOLEAN, 32, TFS(&DNS_RPC_NODE_FLAGS_DNS_RPC_FLAG_ZONE_ROOT_tfs), ( 0x40000000 ), NULL, HFILL }},
3106
14
  { &hf_dnsserver_DNS_RPC_NODE_Flags,
3107
14
    { "Flags", "dnsserver.DNS_RPC_NODE.Flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
3108
14
  { &hf_dnsserver_DNS_RPC_NODE_Length,
3109
14
    { "Length", "dnsserver.DNS_RPC_NODE.Length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
3110
14
  { &hf_dnsserver_DNS_RPC_NODE_NodeName,
3111
14
    { "NodeName", "dnsserver.DNS_RPC_NODE.NodeName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3112
14
  { &hf_dnsserver_DNS_RPC_NODE_RecordCount,
3113
14
    { "RecordCount", "dnsserver.DNS_RPC_NODE.RecordCount", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
3114
14
  { &hf_dnsserver_DNS_RPC_NODE_records,
3115
14
    { "Records", "dnsserver.DNS_RPC_NODE.records", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3116
14
  { &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_LPC,
3117
14
    { "DNS RPC USE LPC", "dnsserver.DNS_RPC_PROTOCOLS.DNS_RPC_USE_LPC", FT_BOOLEAN, 32, TFS(&DNS_RPC_PROTOCOLS_DNS_RPC_USE_LPC_tfs), ( 0x00000004 ), NULL, HFILL }},
3118
14
  { &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_NAMED_PIPE,
3119
14
    { "DNS RPC USE NAMED PIPE", "dnsserver.DNS_RPC_PROTOCOLS.DNS_RPC_USE_NAMED_PIPE", FT_BOOLEAN, 32, TFS(&DNS_RPC_PROTOCOLS_DNS_RPC_USE_NAMED_PIPE_tfs), ( 0x00000002 ), NULL, HFILL }},
3120
14
  { &hf_dnsserver_DNS_RPC_PROTOCOLS_DNS_RPC_USE_TCPIP,
3121
14
    { "DNS RPC USE TCPIP", "dnsserver.DNS_RPC_PROTOCOLS.DNS_RPC_USE_TCPIP", FT_BOOLEAN, 32, TFS(&DNS_RPC_PROTOCOLS_DNS_RPC_USE_TCPIP_tfs), ( 0x00000001 ), NULL, HFILL }},
3122
14
  { &hf_dnsserver_DNS_RPC_RECORD_DataLength,
3123
14
    { "DataLength", "dnsserver.DNS_RPC_RECORD.DataLength", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
3124
14
  { &hf_dnsserver_DNS_RPC_RECORD_Flags,
3125
14
    { "Flags", "dnsserver.DNS_RPC_RECORD.Flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3126
14
  { &hf_dnsserver_DNS_RPC_RECORD_NODE_NAME_Name,
3127
14
    { "Name", "dnsserver.DNS_RPC_RECORD_NODE_NAME.Name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3128
14
  { &hf_dnsserver_DNS_RPC_RECORD_Serial,
3129
14
    { "Serial", "dnsserver.DNS_RPC_RECORD.Serial", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3130
14
  { &hf_dnsserver_DNS_RPC_RECORD_TimeStamp,
3131
14
    { "TimeStamp", "dnsserver.DNS_RPC_RECORD.TimeStamp", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3132
14
  { &hf_dnsserver_DNS_RPC_RECORD_TtlSeconds,
3133
14
    { "TtlSeconds", "dnsserver.DNS_RPC_RECORD.TtlSeconds", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3134
14
  { &hf_dnsserver_DNS_RPC_RECORD_Type,
3135
14
    { "Type", "dnsserver.DNS_RPC_RECORD.Type", FT_UINT16, BASE_DEC, VALS(dnsserver_DNS_RECORD_TYPE_vals), 0, NULL, HFILL }},
3136
14
  { &hf_dnsserver_DNS_RPC_RECORD_UNION_NodeName,
3137
14
    { "NodeName", "dnsserver.DNS_RPC_RECORD_UNION.NodeName", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3138
14
  { &hf_dnsserver_DNS_RPC_RECORD_record,
3139
14
    { "Record", "dnsserver.DNS_RPC_RECORD.record", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3140
14
  { &hf_dnsserver_DNS_RPC_RECORD_reserved,
3141
14
    { "Reserved", "dnsserver.DNS_RPC_RECORD.reserved", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3142
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AddressAnswerLimit,
3143
14
    { "AddressAnswerLimit", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.AddressAnswerLimit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3144
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AdminConfigured,
3145
14
    { "AdminConfigured", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.AdminConfigured", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3146
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AllowUpdate,
3147
14
    { "AllowUpdate", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.AllowUpdate", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3148
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoCacheUpdate,
3149
14
    { "AutoCacheUpdate", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.AutoCacheUpdate", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3150
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_AutoReverseZones,
3151
14
    { "AutoReverseZones", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.AutoReverseZones", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3152
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BindSecondaries,
3153
14
    { "BindSecondaries", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.BindSecondaries", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3154
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_BootMethod,
3155
14
    { "BootMethod", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.BootMethod", FT_UINT8, BASE_DEC, VALS(dnsserver_DNS_RPC_BOOT_METHOD_vals), 0, NULL, HFILL }},
3156
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DebugLevel,
3157
14
    { "DebugLevel", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DebugLevel", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3158
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultAgingState,
3159
14
    { "DefaultAgingState", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DefaultAgingState", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3160
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultNoRefreshInterval,
3161
14
    { "DefaultNoRefreshInterval", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DefaultNoRefreshInterval", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3162
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DefaultRefreshInterval,
3163
14
    { "DefaultRefreshInterval", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DefaultRefreshInterval", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3164
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainDirectoryPartition,
3165
14
    { "DomainDirectoryPartition", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DomainDirectoryPartition", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3166
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DomainName,
3167
14
    { "DomainName", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DomainName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3168
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsAvailable,
3169
14
    { "DsAvailable", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsAvailable", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3170
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsContainer,
3171
14
    { "DsContainer", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsContainer", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3172
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDomainVersion,
3173
14
    { "DsDomainVersion", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsDomainVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3174
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsDsaVersion,
3175
14
    { "DsDsaVersion", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsDsaVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3176
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsForestVersion,
3177
14
    { "DsForestVersion", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsForestVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3178
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_DsPollingInterval,
3179
14
    { "DsPollingInterval", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.DsPollingInterval", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3180
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_EventLogLevel,
3181
14
    { "EventLogLevel", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.EventLogLevel", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3182
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestDirectoryPartition,
3183
14
    { "ForestDirectoryPartition", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ForestDirectoryPartition", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3184
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForestName,
3185
14
    { "ForestName", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ForestName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3186
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardDelegations,
3187
14
    { "ForwardDelegations", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ForwardDelegations", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3188
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ForwardTimeout,
3189
14
    { "ForwardTimeout", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ForwardTimeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3190
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Forwarders,
3191
14
    { "Forwarders", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.Forwarders", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3192
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LastScavengeTime,
3193
14
    { "LastScavengeTime", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LastScavengeTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3194
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ListenAddrs,
3195
14
    { "ListenAddrs", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ListenAddrs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3196
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriority,
3197
14
    { "LocalNetPriority", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LocalNetPriority", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3198
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LocalNetPriorityNetmask,
3199
14
    { "LocalNetPriorityNetmask", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LocalNetPriorityNetmask", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3200
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFileMaxSize,
3201
14
    { "LogFileMaxSize", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LogFileMaxSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3202
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilePath,
3203
14
    { "LogFilePath", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LogFilePath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3204
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogFilter,
3205
14
    { "LogFilter", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LogFilter", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3206
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LogLevel,
3207
14
    { "LogLevel", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LogLevel", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
3208
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_LooseWildcarding,
3209
14
    { "LooseWildcarding", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.LooseWildcarding", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3210
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_MaxCacheTtl,
3211
14
    { "MaxCacheTtl", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.MaxCacheTtl", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3212
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NameCheckFlag,
3213
14
    { "NameCheckFlag", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.NameCheckFlag", FT_UINT32, BASE_DEC, VALS(dnsserver_DNS_NAME_CHECK_FLAGS_vals), 0, NULL, HFILL }},
3214
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_NoRecursion,
3215
14
    { "NoRecursion", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.NoRecursion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3216
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecurseAfterForwarding,
3217
14
    { "RecurseAfterForwarding", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RecurseAfterForwarding", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3218
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionRetry,
3219
14
    { "RecursionRetry", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RecursionRetry", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3220
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RecursionTimeout,
3221
14
    { "RecursionTimeout", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RecursionTimeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3222
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RoundRobin,
3223
14
    { "RoundRobin", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RoundRobin", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3224
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcProtocol,
3225
14
    { "RpcProtocol", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RpcProtocol", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
3226
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_RpcStructureVersion,
3227
14
    { "RpcStructureVersion", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.RpcStructureVersion", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3228
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ScavengingInterval,
3229
14
    { "ScavengingInterval", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ScavengingInterval", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3230
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_SecureResponses,
3231
14
    { "SecureResponses", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.SecureResponses", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3232
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerAddrs,
3233
14
    { "ServerAddrs", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ServerAddrs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3234
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_ServerName,
3235
14
    { "ServerName", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.ServerName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3236
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_StrictFileParsing,
3237
14
    { "StrictFileParsing", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.StrictFileParsing", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3238
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_Version,
3239
14
    { "Version", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.Version", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3240
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_WriteAuthorityNs,
3241
14
    { "WriteAuthorityNs", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.WriteAuthorityNs", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3242
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension0,
3243
14
    { "Extension0", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension0", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3244
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension1,
3245
14
    { "Extension1", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3246
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension2,
3247
14
    { "Extension2", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3248
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension3,
3249
14
    { "Extension3", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3250
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension4,
3251
14
    { "Extension4", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension4", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3252
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_extension5,
3253
14
    { "Extension5", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.extension5", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3254
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array,
3255
14
    { "Reserve Array", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.reserve_array", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3256
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserve_array2,
3257
14
    { "Reserve Array2", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.reserve_array2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3258
14
  { &hf_dnsserver_DNS_RPC_SERVER_INFO_DOTNET_reserved0,
3259
14
    { "Reserved0", "dnsserver.DNS_RPC_SERVER_INFO_DOTNET.reserved0", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3260
14
  { &hf_dnsserver_DNS_RPC_VERSION_OSMajorVersion,
3261
14
    { "OSMajorVersion", "dnsserver.DNS_RPC_VERSION.OSMajorVersion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3262
14
  { &hf_dnsserver_DNS_RPC_VERSION_OSMinorVersion,
3263
14
    { "OSMinorVersion", "dnsserver.DNS_RPC_VERSION.OSMinorVersion", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
3264
14
  { &hf_dnsserver_DNS_RPC_VERSION_ServicePackVersion,
3265
14
    { "ServicePackVersion", "dnsserver.DNS_RPC_VERSION.ServicePackVersion", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
3266
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ADDITIONAL_DATA,
3267
14
    { "DNS RPC VIEW ADDITIONAL DATA", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_ADDITIONAL_DATA", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_ADDITIONAL_DATA_tfs), ( 0x00000010 ), NULL, HFILL }},
3268
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_AUTHORITY_DATA,
3269
14
    { "DNS RPC VIEW AUTHORITY DATA", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_AUTHORITY_DATA", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_AUTHORITY_DATA_tfs), ( 0x00000001 ), NULL, HFILL }},
3270
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_CACHE_DATA,
3271
14
    { "DNS RPC VIEW CACHE DATA", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_CACHE_DATA", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_CACHE_DATA_tfs), ( 0x00000002 ), NULL, HFILL }},
3272
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_GLUE_DATA,
3273
14
    { "DNS RPC VIEW GLUE DATA", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_GLUE_DATA", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_GLUE_DATA_tfs), ( 0x00000004 ), NULL, HFILL }},
3274
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_NO_CHILDREN,
3275
14
    { "DNS RPC VIEW NO CHILDREN", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_NO_CHILDREN", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_NO_CHILDREN_tfs), ( 0x00010000 ), NULL, HFILL }},
3276
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ONLY_CHILDREN,
3277
14
    { "DNS RPC VIEW ONLY CHILDREN", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_ONLY_CHILDREN", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_ONLY_CHILDREN_tfs), ( 0x00020000 ), NULL, HFILL }},
3278
14
  { &hf_dnsserver_DNS_SELECT_FLAGS_DNS_RPC_VIEW_ROOT_HINT_DATA,
3279
14
    { "DNS RPC VIEW ROOT HINT DATA", "dnsserver.DNS_SELECT_FLAGS.DNS_RPC_VIEW_ROOT_HINT_DATA", FT_BOOLEAN, 32, TFS(&DNS_SELECT_FLAGS_DNS_RPC_VIEW_ROOT_HINT_DATA_tfs), ( 0x00000008 ), NULL, HFILL }},
3280
14
  { &hf_dnsserver_DnssrvEnumRecords2_buffer_length,
3281
14
    { "Buffer Length", "dnsserver.DnssrvEnumRecords2.buffer_length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3282
14
  { &hf_dnsserver_DnssrvEnumRecords2_client_version,
3283
14
    { "Client Version", "dnsserver.DnssrvEnumRecords2.client_version", FT_UINT32, BASE_DEC, VALS(dnsserver_DNS_RPC_CLIENT_VERSION_vals), 0, NULL, HFILL }},
3284
14
  { &hf_dnsserver_DnssrvEnumRecords2_filter_start,
3285
14
    { "Filter Start", "dnsserver.DnssrvEnumRecords2.filter_start", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3286
14
  { &hf_dnsserver_DnssrvEnumRecords2_filter_stop,
3287
14
    { "Filter Stop", "dnsserver.DnssrvEnumRecords2.filter_stop", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3288
14
  { &hf_dnsserver_DnssrvEnumRecords2_node_name,
3289
14
    { "Node Name", "dnsserver.DnssrvEnumRecords2.node_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3290
14
  { &hf_dnsserver_DnssrvEnumRecords2_record_buffer,
3291
14
    { "Record Buffer", "dnsserver.DnssrvEnumRecords2.record_buffer", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3292
14
  { &hf_dnsserver_DnssrvEnumRecords2_record_buffer_,
3293
14
    { "Subcontext length", "dnsserver.DnssrvEnumRecords2.subcontext", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
3294
14
  { &hf_dnsserver_DnssrvEnumRecords2_record_type,
3295
14
    { "Record Type", "dnsserver.DnssrvEnumRecords2.record_type", FT_UINT16, BASE_DEC, VALS(dnsserver_DNS_RECORD_TYPE_vals), 0, NULL, HFILL }},
3296
14
  { &hf_dnsserver_DnssrvEnumRecords2_select_flag,
3297
14
    { "Select Flag", "dnsserver.DnssrvEnumRecords2.select_flag", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
3298
14
  { &hf_dnsserver_DnssrvEnumRecords2_server_name,
3299
14
    { "Server Name", "dnsserver.DnssrvEnumRecords2.server_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3300
14
  { &hf_dnsserver_DnssrvEnumRecords2_setting_flags,
3301
14
    { "Setting Flags", "dnsserver.DnssrvEnumRecords2.setting_flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3302
14
  { &hf_dnsserver_DnssrvEnumRecords2_start_child,
3303
14
    { "Start Child", "dnsserver.DnssrvEnumRecords2.start_child", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3304
14
  { &hf_dnsserver_DnssrvEnumRecords2_zone,
3305
14
    { "Zone", "dnsserver.DnssrvEnumRecords2.zone", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3306
14
  { &hf_dnsserver_DnssrvQuery2_client_version,
3307
14
    { "Client Version", "dnsserver.DnssrvQuery2.client_version", FT_UINT32, BASE_DEC, VALS(dnsserver_DNS_RPC_CLIENT_VERSION_vals), 0, NULL, HFILL }},
3308
14
  { &hf_dnsserver_DnssrvQuery2_data,
3309
14
    { "Data", "dnsserver.DnssrvQuery2.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
3310
14
  { &hf_dnsserver_DnssrvQuery2_operation,
3311
14
    { "Operation", "dnsserver.DnssrvQuery2.operation", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3312
14
  { &hf_dnsserver_DnssrvQuery2_server_name,
3313
14
    { "Server Name", "dnsserver.DnssrvQuery2.server_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3314
14
  { &hf_dnsserver_DnssrvQuery2_setting_flags,
3315
14
    { "Setting Flags", "dnsserver.DnssrvQuery2.setting_flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3316
14
  { &hf_dnsserver_DnssrvQuery2_type_id,
3317
14
    { "Type Id", "dnsserver.DnssrvQuery2.type_id", FT_UINT32, BASE_DEC, VALS(dnsserver_DnssrvRpcTypeId_vals), 0, NULL, HFILL }},
3318
14
  { &hf_dnsserver_DnssrvQuery2_zone,
3319
14
    { "Zone", "dnsserver.DnssrvQuery2.zone", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
3320
14
  { &hf_dnsserver_IP4_ARRAY_AddrArray,
3321
14
    { "AddrArray", "dnsserver.IP4_ARRAY.AddrArray", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3322
14
  { &hf_dnsserver_IP4_ARRAY_AddrCount,
3323
14
    { "AddrCount", "dnsserver.IP4_ARRAY.AddrCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
3324
14
  { &hf_dnsserver_opnum,
3325
14
    { "Operation", "dnsserver.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
3326
14
  { &hf_dnsserver_status,
3327
14
    { "NT Error", "dnsserver.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
3328
14
  };
3329
3330
3331
14
  static int *ett[] = {
3332
14
    &ett_dcerpc_dnsserver,
3333
14
    &ett_dnsserver_DNS_RPC_VERSION,
3334
14
    &ett_dnsserver_DNS_LOG_LEVELS,
3335
14
    &ett_dnsserver_DNS_RPC_PROTOCOLS,
3336
14
    &ett_dnsserver_DNS_SELECT_FLAGS,
3337
14
    &ett_dnsserver_DNS_RPC_NODE_FLAGS,
3338
14
    &ett_dnsserver_DNS_RPC_NAME,
3339
14
    &ett_dnsserver_DNS_RPC_RECORD_NODE_NAME,
3340
14
    &ett_dnsserver_DNS_RPC_RECORD_UNION,
3341
14
    &ett_dnsserver_DNS_RPC_RECORD,
3342
14
    &ett_dnsserver_DNS_RPC_NODE,
3343
14
    &ett_dnsserver_IP4_ARRAY,
3344
14
    &ett_dnsserver_DNS_RPC_SERVER_INFO_DOTNET,
3345
14
    &ett_dnsserver_DNSSRV_RPC_UNION,
3346
14
    &ett_dnsserver_DNS_RECORD_BUFFER,
3347
14
  };
3348
3349
14
  proto_dcerpc_dnsserver = proto_register_protocol("DNS Server", "DNSSERVER", "dnsserver");
3350
14
  proto_register_field_array(proto_dcerpc_dnsserver, hf, array_length (hf));
3351
14
  proto_register_subtree_array(ett, array_length(ett));
3352
14
}
3353
3354
void proto_reg_handoff_dcerpc_dnsserver(void)
3355
14
{
3356
14
  dcerpc_init_uuid(proto_dcerpc_dnsserver, ett_dcerpc_dnsserver,
3357
14
    &uuid_dcerpc_dnsserver, ver_dcerpc_dnsserver,
3358
14
    dnsserver_dissectors, hf_dnsserver_opnum);
3359
14
}