Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_netlogon.h"
5 :
6 : #include "librpc/gen_ndr/ndr_misc.h"
7 : #include "librpc/gen_ndr/ndr_lsa.h"
8 : #include "librpc/gen_ndr/ndr_samr.h"
9 : #include "librpc/gen_ndr/ndr_security.h"
10 0 : static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
11 : {
12 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13 0 : if (ndr_flags & NDR_SCALARS) {
14 0 : NDR_CHECK(ndr_push_align(ndr, 5));
15 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 0 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
31 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
32 : }
33 0 : if (ndr_flags & NDR_BUFFERS) {
34 0 : if (r->account_name) {
35 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
36 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
37 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
38 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
39 : }
40 0 : if (r->computer) {
41 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
42 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
43 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
44 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
45 : }
46 0 : if (r->domain) {
47 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
48 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
49 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
50 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
51 : }
52 0 : if (r->script_path) {
53 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
54 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
55 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
56 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
57 : }
58 : }
59 0 : return NDR_ERR_SUCCESS;
60 : }
61 :
62 0 : static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 : {
64 : uint32_t _ptr_account_name;
65 0 : uint32_t size_account_name_1 = 0;
66 0 : uint32_t length_account_name_1 = 0;
67 0 : TALLOC_CTX *_mem_save_account_name_0 = NULL;
68 : uint32_t _ptr_computer;
69 0 : uint32_t size_computer_1 = 0;
70 0 : uint32_t length_computer_1 = 0;
71 0 : TALLOC_CTX *_mem_save_computer_0 = NULL;
72 : uint32_t _ptr_domain;
73 0 : uint32_t size_domain_1 = 0;
74 0 : uint32_t length_domain_1 = 0;
75 0 : TALLOC_CTX *_mem_save_domain_0 = NULL;
76 : uint32_t _ptr_script_path;
77 0 : uint32_t size_script_path_1 = 0;
78 0 : uint32_t length_script_path_1 = 0;
79 0 : TALLOC_CTX *_mem_save_script_path_0 = NULL;
80 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
81 0 : if (ndr_flags & NDR_SCALARS) {
82 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
83 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
84 0 : if (_ptr_account_name) {
85 0 : NDR_PULL_ALLOC(ndr, r->account_name);
86 : } else {
87 0 : r->account_name = NULL;
88 : }
89 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
90 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
91 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
92 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
93 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
94 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
95 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
96 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
97 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
98 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
99 0 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
100 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
101 0 : if (_ptr_computer) {
102 0 : NDR_PULL_ALLOC(ndr, r->computer);
103 : } else {
104 0 : r->computer = NULL;
105 : }
106 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
107 0 : if (_ptr_domain) {
108 0 : NDR_PULL_ALLOC(ndr, r->domain);
109 : } else {
110 0 : r->domain = NULL;
111 : }
112 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
113 0 : if (_ptr_script_path) {
114 0 : NDR_PULL_ALLOC(ndr, r->script_path);
115 : } else {
116 0 : r->script_path = NULL;
117 : }
118 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
119 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
120 : }
121 0 : if (ndr_flags & NDR_BUFFERS) {
122 0 : if (r->account_name) {
123 0 : _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
124 0 : NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
125 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
126 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
127 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->account_name, &size_account_name_1));
128 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->account_name, &length_account_name_1));
129 0 : if (length_account_name_1 > size_account_name_1) {
130 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
131 : }
132 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
133 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
134 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
135 : }
136 0 : if (r->computer) {
137 0 : _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
138 0 : NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
139 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
140 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
141 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer, &size_computer_1));
142 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer, &length_computer_1));
143 0 : if (length_computer_1 > size_computer_1) {
144 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_1, length_computer_1);
145 : }
146 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_1, sizeof(uint16_t)));
147 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, length_computer_1, sizeof(uint16_t), CH_UTF16));
148 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
149 : }
150 0 : if (r->domain) {
151 0 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
152 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
153 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
154 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
155 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
156 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
157 0 : if (length_domain_1 > size_domain_1) {
158 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
159 : }
160 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
161 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
162 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
163 : }
164 0 : if (r->script_path) {
165 0 : _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
166 0 : NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
167 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
168 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
169 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->script_path, &size_script_path_1));
170 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->script_path, &length_script_path_1));
171 0 : if (length_script_path_1 > size_script_path_1) {
172 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_script_path_1, length_script_path_1);
173 : }
174 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_script_path_1, sizeof(uint16_t)));
175 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, length_script_path_1, sizeof(uint16_t), CH_UTF16));
176 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
177 : }
178 : }
179 0 : return NDR_ERR_SUCCESS;
180 : }
181 :
182 0 : _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
183 : {
184 0 : ndr_print_struct(ndr, name, "netr_UasInfo");
185 0 : if (r == NULL) { ndr_print_null(ndr); return; }
186 0 : ndr->depth++;
187 0 : ndr_print_ptr(ndr, "account_name", r->account_name);
188 0 : ndr->depth++;
189 0 : if (r->account_name) {
190 0 : ndr_print_string(ndr, "account_name", r->account_name);
191 : }
192 0 : ndr->depth--;
193 0 : ndr_print_uint32(ndr, "priv", r->priv);
194 0 : ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
195 0 : ndr_print_uint32(ndr, "logon_count", r->logon_count);
196 0 : ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
197 0 : ndr_print_time_t(ndr, "last_logon", r->last_logon);
198 0 : ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
199 0 : ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
200 0 : ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
201 0 : ndr_print_uint32(ndr, "password_age", r->password_age);
202 0 : ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
203 0 : ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
204 0 : ndr_print_ptr(ndr, "computer", r->computer);
205 0 : ndr->depth++;
206 0 : if (r->computer) {
207 0 : ndr_print_string(ndr, "computer", r->computer);
208 : }
209 0 : ndr->depth--;
210 0 : ndr_print_ptr(ndr, "domain", r->domain);
211 0 : ndr->depth++;
212 0 : if (r->domain) {
213 0 : ndr_print_string(ndr, "domain", r->domain);
214 : }
215 0 : ndr->depth--;
216 0 : ndr_print_ptr(ndr, "script_path", r->script_path);
217 0 : ndr->depth++;
218 0 : if (r->script_path) {
219 0 : ndr_print_string(ndr, "script_path", r->script_path);
220 : }
221 0 : ndr->depth--;
222 0 : ndr_print_uint32(ndr, "unknown", r->unknown);
223 0 : ndr->depth--;
224 : }
225 :
226 0 : static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
227 : {
228 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
229 0 : if (ndr_flags & NDR_SCALARS) {
230 0 : NDR_CHECK(ndr_push_align(ndr, 4));
231 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
232 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
233 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
234 : }
235 0 : if (ndr_flags & NDR_BUFFERS) {
236 : }
237 0 : return NDR_ERR_SUCCESS;
238 : }
239 :
240 0 : static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
241 : {
242 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
243 0 : if (ndr_flags & NDR_SCALARS) {
244 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
245 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
246 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
247 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
248 : }
249 0 : if (ndr_flags & NDR_BUFFERS) {
250 : }
251 0 : return NDR_ERR_SUCCESS;
252 : }
253 :
254 0 : _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
255 : {
256 0 : ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
257 0 : if (r == NULL) { ndr_print_null(ndr); return; }
258 0 : ndr->depth++;
259 0 : ndr_print_uint32(ndr, "duration", r->duration);
260 0 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
261 0 : ndr->depth--;
262 : }
263 :
264 0 : _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
265 : {
266 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
267 0 : if (ndr_flags & NDR_SCALARS) {
268 0 : NDR_CHECK(ndr_push_align(ndr, 4));
269 0 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
270 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
271 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
272 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
273 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
274 : }
275 0 : if (ndr_flags & NDR_BUFFERS) {
276 : }
277 0 : return NDR_ERR_SUCCESS;
278 : }
279 :
280 0 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
281 : {
282 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
283 0 : if (ndr_flags & NDR_SCALARS) {
284 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
285 0 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
286 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
287 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
288 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
289 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
290 : }
291 0 : if (ndr_flags & NDR_BUFFERS) {
292 : }
293 0 : return NDR_ERR_SUCCESS;
294 : }
295 :
296 0 : static void ndr_print_flags_netr_AcctLockStr(struct ndr_print *ndr, const char *name, int unused, const struct netr_AcctLockStr *r)
297 : {
298 0 : ndr_print_netr_AcctLockStr(ndr, name, r);
299 0 : }
300 :
301 0 : _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
302 : {
303 0 : ndr_print_struct(ndr, name, "netr_AcctLockStr");
304 0 : if (r == NULL) { ndr_print_null(ndr); return; }
305 0 : ndr->depth++;
306 0 : ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
307 0 : ndr_print_udlong(ndr, "reset_count", r->reset_count);
308 0 : ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
309 0 : ndr_print_uint32(ndr, "dummy", r->dummy);
310 0 : ndr->depth--;
311 : }
312 :
313 19350 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
314 : {
315 19350 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
316 19350 : return NDR_ERR_SUCCESS;
317 : }
318 :
319 19385 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
320 : {
321 : uint32_t v;
322 19385 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
323 19385 : *r = v;
324 19385 : return NDR_ERR_SUCCESS;
325 : }
326 :
327 2 : _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
328 : {
329 2 : ndr_print_uint32(ndr, name, r);
330 2 : ndr->depth++;
331 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
332 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
333 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
334 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r);
335 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
336 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r);
337 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r);
338 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r);
339 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
340 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r);
341 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
342 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r);
343 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r);
344 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r);
345 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r);
346 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r);
347 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r);
348 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r);
349 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r);
350 2 : ndr->depth--;
351 2 : }
352 :
353 38700 : static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
354 : {
355 38700 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
356 38700 : if (ndr_flags & NDR_SCALARS) {
357 19350 : NDR_CHECK(ndr_push_align(ndr, 5));
358 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
359 19350 : NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
360 19350 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->logon_id));
361 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
362 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
363 19350 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
364 : }
365 38700 : if (ndr_flags & NDR_BUFFERS) {
366 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
367 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
368 19350 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
369 : }
370 35324 : return NDR_ERR_SUCCESS;
371 : }
372 :
373 38770 : static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
374 : {
375 38770 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
376 38770 : if (ndr_flags & NDR_SCALARS) {
377 19385 : NDR_CHECK(ndr_pull_align(ndr, 5));
378 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
379 19385 : NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
380 19385 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->logon_id));
381 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
382 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
383 19385 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
384 : }
385 38770 : if (ndr_flags & NDR_BUFFERS) {
386 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
387 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
388 19385 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
389 : }
390 35390 : return NDR_ERR_SUCCESS;
391 : }
392 :
393 2 : _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
394 : {
395 2 : ndr_print_struct(ndr, name, "netr_IdentityInfo");
396 2 : if (r == NULL) { ndr_print_null(ndr); return; }
397 2 : ndr->depth++;
398 2 : ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
399 2 : ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
400 2 : ndr_print_udlong(ndr, "logon_id", r->logon_id);
401 2 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
402 2 : ndr_print_lsa_String(ndr, "workstation", &r->workstation);
403 2 : ndr->depth--;
404 : }
405 :
406 567 : static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
407 : {
408 567 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
409 567 : if (ndr_flags & NDR_SCALARS) {
410 567 : NDR_CHECK(ndr_push_align(ndr, 5));
411 567 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
412 567 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
413 567 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
414 567 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
415 : }
416 567 : if (ndr_flags & NDR_BUFFERS) {
417 567 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
418 : }
419 567 : return NDR_ERR_SUCCESS;
420 : }
421 :
422 811 : static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
423 : {
424 811 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
425 811 : if (ndr_flags & NDR_SCALARS) {
426 811 : NDR_CHECK(ndr_pull_align(ndr, 5));
427 811 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
428 811 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
429 811 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
430 811 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
431 : }
432 811 : if (ndr_flags & NDR_BUFFERS) {
433 811 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
434 : }
435 809 : return NDR_ERR_SUCCESS;
436 : }
437 :
438 2 : _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
439 : {
440 2 : ndr_print_struct(ndr, name, "netr_PasswordInfo");
441 2 : if (r == NULL) { ndr_print_null(ndr); return; }
442 2 : ndr->depth++;
443 2 : ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
444 2 : ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
445 2 : ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
446 2 : ndr->depth--;
447 : }
448 :
449 74092 : static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
450 : {
451 : {
452 74092 : uint32_t _flags_save_STRUCT = ndr->flags;
453 74092 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
454 74092 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
455 74092 : if (ndr_flags & NDR_SCALARS) {
456 37046 : NDR_CHECK(ndr_push_align(ndr, 5));
457 37046 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
458 37046 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
459 37046 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
460 37046 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
461 : }
462 74092 : if (ndr_flags & NDR_BUFFERS) {
463 37046 : if (r->data) {
464 34879 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
465 34879 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
466 34879 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
467 34879 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
468 : }
469 : }
470 74092 : ndr->flags = _flags_save_STRUCT;
471 : }
472 74092 : return NDR_ERR_SUCCESS;
473 : }
474 :
475 73256 : static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
476 : {
477 : uint32_t _ptr_data;
478 73256 : uint32_t size_data_1 = 0;
479 73256 : uint32_t length_data_1 = 0;
480 73256 : TALLOC_CTX *_mem_save_data_0 = NULL;
481 : {
482 73256 : uint32_t _flags_save_STRUCT = ndr->flags;
483 73256 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
484 73256 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
485 73256 : if (ndr_flags & NDR_SCALARS) {
486 36628 : NDR_CHECK(ndr_pull_align(ndr, 5));
487 36628 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
488 36628 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
489 36628 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
490 36628 : if (_ptr_data) {
491 34461 : NDR_PULL_ALLOC(ndr, r->data);
492 : } else {
493 2167 : r->data = NULL;
494 : }
495 36628 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
496 : }
497 73256 : if (ndr_flags & NDR_BUFFERS) {
498 36628 : if (r->data) {
499 34461 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
500 34461 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
501 34461 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
502 34461 : NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
503 34461 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
504 34461 : NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->data, &length_data_1));
505 34461 : if (length_data_1 > size_data_1) {
506 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
507 : }
508 34461 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
509 34461 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
510 34461 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
511 : }
512 36628 : if (r->data) {
513 34461 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
514 : }
515 36628 : if (r->data) {
516 34461 : NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->data, r->length));
517 : }
518 : }
519 73256 : ndr->flags = _flags_save_STRUCT;
520 : }
521 73256 : return NDR_ERR_SUCCESS;
522 : }
523 :
524 0 : _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
525 : {
526 0 : ndr_print_struct(ndr, name, "netr_ChallengeResponse");
527 0 : if (r == NULL) { ndr_print_null(ndr); return; }
528 : {
529 0 : uint32_t _flags_save_STRUCT = ndr->flags;
530 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
531 0 : ndr->depth++;
532 0 : ndr_print_uint16(ndr, "length", r->length);
533 0 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
534 0 : ndr_print_ptr(ndr, "data", r->data);
535 0 : ndr->depth++;
536 0 : if (r->data) {
537 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
538 : }
539 0 : ndr->depth--;
540 0 : ndr->depth--;
541 0 : ndr->flags = _flags_save_STRUCT;
542 : }
543 : }
544 :
545 18523 : static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
546 : {
547 : {
548 18523 : uint32_t _flags_save_STRUCT = ndr->flags;
549 18523 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
550 18523 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
551 18523 : if (ndr_flags & NDR_SCALARS) {
552 18523 : NDR_CHECK(ndr_push_align(ndr, 5));
553 18523 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
554 18523 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
555 18523 : NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
556 18523 : NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
557 18523 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
558 : }
559 18523 : if (ndr_flags & NDR_BUFFERS) {
560 18523 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
561 18523 : NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
562 18523 : NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
563 : }
564 18523 : ndr->flags = _flags_save_STRUCT;
565 : }
566 18523 : return NDR_ERR_SUCCESS;
567 : }
568 :
569 18314 : static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
570 : {
571 18314 : uint32_t size_challenge_0 = 0;
572 : {
573 18314 : uint32_t _flags_save_STRUCT = ndr->flags;
574 18314 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
575 18314 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
576 18314 : if (ndr_flags & NDR_SCALARS) {
577 18314 : NDR_CHECK(ndr_pull_align(ndr, 5));
578 18314 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
579 18314 : size_challenge_0 = 8;
580 18314 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, size_challenge_0));
581 18314 : NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
582 18314 : NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
583 18314 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
584 : }
585 18314 : if (ndr_flags & NDR_BUFFERS) {
586 18314 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
587 18314 : NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
588 18314 : NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
589 : }
590 18314 : ndr->flags = _flags_save_STRUCT;
591 : }
592 18314 : return NDR_ERR_SUCCESS;
593 : }
594 :
595 0 : _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
596 : {
597 0 : ndr_print_struct(ndr, name, "netr_NetworkInfo");
598 0 : if (r == NULL) { ndr_print_null(ndr); return; }
599 : {
600 0 : uint32_t _flags_save_STRUCT = ndr->flags;
601 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
602 0 : ndr->depth++;
603 0 : ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
604 0 : ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
605 0 : ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
606 0 : ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
607 0 : ndr->depth--;
608 0 : ndr->flags = _flags_save_STRUCT;
609 : }
610 : }
611 :
612 260 : static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
613 : {
614 : {
615 260 : uint32_t _flags_save_STRUCT = ndr->flags;
616 260 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
617 260 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
618 260 : if (ndr_flags & NDR_SCALARS) {
619 260 : NDR_CHECK(ndr_push_align(ndr, 5));
620 260 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
621 260 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
622 260 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
623 260 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
624 260 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
625 : }
626 260 : if (ndr_flags & NDR_BUFFERS) {
627 260 : NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
628 260 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
629 260 : if (r->data) {
630 260 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
631 260 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
632 : }
633 : }
634 260 : ndr->flags = _flags_save_STRUCT;
635 : }
636 260 : return NDR_ERR_SUCCESS;
637 : }
638 :
639 260 : static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
640 : {
641 : uint32_t _ptr_data;
642 260 : uint32_t size_data_1 = 0;
643 260 : TALLOC_CTX *_mem_save_data_0 = NULL;
644 : {
645 260 : uint32_t _flags_save_STRUCT = ndr->flags;
646 260 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
647 260 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
648 260 : if (ndr_flags & NDR_SCALARS) {
649 260 : NDR_CHECK(ndr_pull_align(ndr, 5));
650 260 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
651 260 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
652 260 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
653 260 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
654 260 : if (_ptr_data) {
655 260 : NDR_PULL_ALLOC(ndr, r->data);
656 : } else {
657 0 : r->data = NULL;
658 : }
659 260 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
660 : }
661 260 : if (ndr_flags & NDR_BUFFERS) {
662 260 : NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
663 260 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
664 260 : if (r->data) {
665 260 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
666 260 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
667 260 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
668 260 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
669 260 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
670 260 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
671 260 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
672 : }
673 260 : if (r->data) {
674 260 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
675 : }
676 : }
677 260 : ndr->flags = _flags_save_STRUCT;
678 : }
679 260 : return NDR_ERR_SUCCESS;
680 : }
681 :
682 0 : _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
683 : {
684 0 : ndr_print_struct(ndr, name, "netr_GenericInfo");
685 0 : if (r == NULL) { ndr_print_null(ndr); return; }
686 : {
687 0 : uint32_t _flags_save_STRUCT = ndr->flags;
688 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
689 0 : ndr->depth++;
690 0 : ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
691 0 : ndr_print_lsa_String(ndr, "package_name", &r->package_name);
692 0 : ndr_print_uint32(ndr, "length", r->length);
693 0 : ndr_print_ptr(ndr, "data", r->data);
694 0 : ndr->depth++;
695 0 : if (r->data) {
696 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
697 : }
698 0 : ndr->depth--;
699 0 : ndr->depth--;
700 0 : ndr->flags = _flags_save_STRUCT;
701 : }
702 : }
703 :
704 45822 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
705 : {
706 45822 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
707 45822 : return NDR_ERR_SUCCESS;
708 : }
709 :
710 22552 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
711 : {
712 : uint16_t v;
713 22552 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
714 22552 : *r = v;
715 22552 : return NDR_ERR_SUCCESS;
716 : }
717 :
718 2 : _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
719 : {
720 2 : const char *val = NULL;
721 :
722 2 : switch (r) {
723 2 : case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
724 0 : case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
725 0 : case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
726 0 : case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
727 0 : case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
728 0 : case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
729 0 : case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
730 : }
731 2 : ndr_print_enum(ndr, name, "ENUM", val, r);
732 2 : }
733 :
734 23654 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
735 : {
736 : uint32_t level;
737 23654 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
738 23654 : if (ndr_flags & NDR_SCALARS) {
739 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
740 23654 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
741 23654 : NDR_CHECK(ndr_push_union_align(ndr, 5));
742 23654 : NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
743 : /* ms_union is always aligned to the largest union arm*/
744 23654 : NDR_CHECK(ndr_push_align(ndr, 5));
745 23654 : switch (level) {
746 548 : case NetlogonInteractiveInformation: {
747 548 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
748 548 : break; }
749 :
750 15444 : case NetlogonNetworkInformation: {
751 15444 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
752 13756 : break; }
753 :
754 0 : case NetlogonServiceInformation: {
755 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
756 0 : break; }
757 :
758 260 : case NetlogonGenericInformation: {
759 260 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
760 260 : break; }
761 :
762 19 : case NetlogonInteractiveTransitiveInformation: {
763 19 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
764 19 : break; }
765 :
766 3079 : case NetlogonNetworkTransitiveInformation: {
767 3079 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
768 3079 : break; }
769 :
770 0 : case NetlogonServiceTransitiveInformation: {
771 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
772 0 : break; }
773 :
774 3568 : default: {
775 3568 : break; }
776 :
777 : }
778 0 : }
779 23654 : if (ndr_flags & NDR_BUFFERS) {
780 23654 : if (!(ndr_flags & NDR_SCALARS)) {
781 : /* We didn't get it above, and the token is not needed after this. */
782 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
783 : }
784 23654 : switch (level) {
785 548 : case NetlogonInteractiveInformation:
786 548 : if (r->password) {
787 548 : NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
788 : }
789 548 : break;
790 :
791 15444 : case NetlogonNetworkInformation:
792 15444 : if (r->network) {
793 15444 : NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
794 : }
795 13756 : break;
796 :
797 0 : case NetlogonServiceInformation:
798 0 : if (r->password) {
799 0 : NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
800 : }
801 0 : break;
802 :
803 260 : case NetlogonGenericInformation:
804 260 : if (r->generic) {
805 260 : NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
806 : }
807 260 : break;
808 :
809 19 : case NetlogonInteractiveTransitiveInformation:
810 19 : if (r->password) {
811 19 : NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
812 : }
813 19 : break;
814 :
815 3079 : case NetlogonNetworkTransitiveInformation:
816 3079 : if (r->network) {
817 3079 : NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
818 : }
819 3079 : break;
820 :
821 0 : case NetlogonServiceTransitiveInformation:
822 0 : if (r->password) {
823 0 : NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
824 : }
825 0 : break;
826 :
827 3568 : default:
828 3568 : break;
829 :
830 : }
831 0 : }
832 21230 : return NDR_ERR_SUCCESS;
833 : }
834 :
835 23529 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
836 : {
837 : uint32_t level;
838 : uint16_t _level;
839 23529 : TALLOC_CTX *_mem_save_password_0 = NULL;
840 : uint32_t _ptr_password;
841 23529 : TALLOC_CTX *_mem_save_network_0 = NULL;
842 : uint32_t _ptr_network;
843 23529 : TALLOC_CTX *_mem_save_generic_0 = NULL;
844 : uint32_t _ptr_generic;
845 23529 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
846 23529 : if (ndr_flags & NDR_SCALARS) {
847 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
848 23529 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
849 23529 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
850 23529 : NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
851 23529 : if (_level != level) {
852 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
853 : }
854 : /* ms_union is always aligned to the largest union arm*/
855 23529 : NDR_CHECK(ndr_pull_align(ndr, 5));
856 23529 : switch (level) {
857 726 : case NetlogonInteractiveInformation: {
858 726 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
859 726 : if (_ptr_password) {
860 726 : NDR_PULL_ALLOC(ndr, r->password);
861 : } else {
862 0 : r->password = NULL;
863 : }
864 724 : break; }
865 :
866 15010 : case NetlogonNetworkInformation: {
867 15010 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
868 15010 : if (_ptr_network) {
869 15010 : NDR_PULL_ALLOC(ndr, r->network);
870 : } else {
871 0 : r->network = NULL;
872 : }
873 13322 : break; }
874 :
875 0 : case NetlogonServiceInformation: {
876 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
877 0 : if (_ptr_password) {
878 0 : NDR_PULL_ALLOC(ndr, r->password);
879 : } else {
880 0 : r->password = NULL;
881 : }
882 0 : break; }
883 :
884 260 : case NetlogonGenericInformation: {
885 260 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
886 260 : if (_ptr_generic) {
887 260 : NDR_PULL_ALLOC(ndr, r->generic);
888 : } else {
889 0 : r->generic = NULL;
890 : }
891 260 : break; }
892 :
893 85 : case NetlogonInteractiveTransitiveInformation: {
894 85 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
895 85 : if (_ptr_password) {
896 85 : NDR_PULL_ALLOC(ndr, r->password);
897 : } else {
898 0 : r->password = NULL;
899 : }
900 85 : break; }
901 :
902 3304 : case NetlogonNetworkTransitiveInformation: {
903 3304 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
904 3304 : if (_ptr_network) {
905 3304 : NDR_PULL_ALLOC(ndr, r->network);
906 : } else {
907 0 : r->network = NULL;
908 : }
909 3304 : break; }
910 :
911 0 : case NetlogonServiceTransitiveInformation: {
912 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
913 0 : if (_ptr_password) {
914 0 : NDR_PULL_ALLOC(ndr, r->password);
915 : } else {
916 0 : r->password = NULL;
917 : }
918 0 : break; }
919 :
920 3408 : default: {
921 3408 : break; }
922 :
923 : }
924 0 : }
925 23529 : if (ndr_flags & NDR_BUFFERS) {
926 23529 : if (!(ndr_flags & NDR_SCALARS)) {
927 : /* We didn't get it above, and the token is not needed after this. */
928 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
929 : }
930 23529 : switch (level) {
931 726 : case NetlogonInteractiveInformation:
932 726 : if (r->password) {
933 726 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
934 726 : NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
935 726 : NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
936 726 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
937 : }
938 724 : break;
939 :
940 15010 : case NetlogonNetworkInformation:
941 15010 : if (r->network) {
942 15010 : _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
943 15010 : NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
944 15010 : NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
945 15010 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
946 : }
947 13322 : break;
948 :
949 0 : case NetlogonServiceInformation:
950 0 : if (r->password) {
951 0 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
952 0 : NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
953 0 : NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
954 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
955 : }
956 0 : break;
957 :
958 260 : case NetlogonGenericInformation:
959 260 : if (r->generic) {
960 260 : _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
961 260 : NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
962 260 : NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
963 260 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
964 : }
965 260 : break;
966 :
967 85 : case NetlogonInteractiveTransitiveInformation:
968 85 : if (r->password) {
969 85 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
970 85 : NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
971 85 : NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
972 85 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
973 : }
974 85 : break;
975 :
976 3304 : case NetlogonNetworkTransitiveInformation:
977 3304 : if (r->network) {
978 3304 : _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
979 3304 : NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
980 3304 : NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
981 3304 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
982 : }
983 3304 : break;
984 :
985 0 : case NetlogonServiceTransitiveInformation:
986 0 : if (r->password) {
987 0 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
988 0 : NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
989 0 : NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
990 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
991 : }
992 0 : break;
993 :
994 3408 : default:
995 3408 : break;
996 :
997 : }
998 0 : }
999 21103 : return NDR_ERR_SUCCESS;
1000 : }
1001 :
1002 2 : _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
1003 : {
1004 : uint32_t level;
1005 2 : level = ndr_print_steal_switch_value(ndr, r);
1006 2 : ndr_print_union(ndr, name, level, "netr_LogonLevel");
1007 2 : switch (level) {
1008 2 : case NetlogonInteractiveInformation:
1009 2 : ndr_print_ptr(ndr, "password", r->password);
1010 2 : ndr->depth++;
1011 2 : if (r->password) {
1012 2 : ndr_print_netr_PasswordInfo(ndr, "password", r->password);
1013 : }
1014 2 : ndr->depth--;
1015 2 : break;
1016 :
1017 0 : case NetlogonNetworkInformation:
1018 0 : ndr_print_ptr(ndr, "network", r->network);
1019 0 : ndr->depth++;
1020 0 : if (r->network) {
1021 0 : ndr_print_netr_NetworkInfo(ndr, "network", r->network);
1022 : }
1023 0 : ndr->depth--;
1024 0 : break;
1025 :
1026 0 : case NetlogonServiceInformation:
1027 0 : ndr_print_ptr(ndr, "password", r->password);
1028 0 : ndr->depth++;
1029 0 : if (r->password) {
1030 0 : ndr_print_netr_PasswordInfo(ndr, "password", r->password);
1031 : }
1032 0 : ndr->depth--;
1033 0 : break;
1034 :
1035 0 : case NetlogonGenericInformation:
1036 0 : ndr_print_ptr(ndr, "generic", r->generic);
1037 0 : ndr->depth++;
1038 0 : if (r->generic) {
1039 0 : ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
1040 : }
1041 0 : ndr->depth--;
1042 0 : break;
1043 :
1044 0 : case NetlogonInteractiveTransitiveInformation:
1045 0 : ndr_print_ptr(ndr, "password", r->password);
1046 0 : ndr->depth++;
1047 0 : if (r->password) {
1048 0 : ndr_print_netr_PasswordInfo(ndr, "password", r->password);
1049 : }
1050 0 : ndr->depth--;
1051 0 : break;
1052 :
1053 0 : case NetlogonNetworkTransitiveInformation:
1054 0 : ndr_print_ptr(ndr, "network", r->network);
1055 0 : ndr->depth++;
1056 0 : if (r->network) {
1057 0 : ndr_print_netr_NetworkInfo(ndr, "network", r->network);
1058 : }
1059 0 : ndr->depth--;
1060 0 : break;
1061 :
1062 0 : case NetlogonServiceTransitiveInformation:
1063 0 : ndr_print_ptr(ndr, "password", r->password);
1064 0 : ndr->depth++;
1065 0 : if (r->password) {
1066 0 : ndr_print_netr_PasswordInfo(ndr, "password", r->password);
1067 : }
1068 0 : ndr->depth--;
1069 0 : break;
1070 :
1071 0 : default:
1072 0 : break;
1073 :
1074 : }
1075 2 : }
1076 :
1077 82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
1078 : {
1079 : {
1080 82034 : uint32_t _flags_save_STRUCT = ndr->flags;
1081 82034 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1082 82034 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1083 82034 : if (ndr_flags & NDR_SCALARS) {
1084 82034 : NDR_CHECK(ndr_push_align(ndr, 1));
1085 82034 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1086 82034 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1087 : }
1088 78585 : if (ndr_flags & NDR_BUFFERS) {
1089 : }
1090 82034 : ndr->flags = _flags_save_STRUCT;
1091 : }
1092 82034 : return NDR_ERR_SUCCESS;
1093 : }
1094 :
1095 118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1096 : {
1097 118530 : uint32_t size_key_0 = 0;
1098 : {
1099 118530 : uint32_t _flags_save_STRUCT = ndr->flags;
1100 118530 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1101 118530 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1102 118530 : if (ndr_flags & NDR_SCALARS) {
1103 118530 : NDR_CHECK(ndr_pull_align(ndr, 1));
1104 118530 : size_key_0 = 16;
1105 118530 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
1106 118530 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1107 : }
1108 115239 : if (ndr_flags & NDR_BUFFERS) {
1109 : }
1110 118530 : ndr->flags = _flags_save_STRUCT;
1111 : }
1112 118530 : return NDR_ERR_SUCCESS;
1113 : }
1114 :
1115 0 : static void ndr_print_flags_netr_UserSessionKey(struct ndr_print *ndr, const char *name, int unused, const struct netr_UserSessionKey *r)
1116 : {
1117 0 : ndr_print_netr_UserSessionKey(ndr, name, r);
1118 0 : }
1119 :
1120 3519 : _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1121 : {
1122 3519 : ndr_print_struct(ndr, name, "netr_UserSessionKey");
1123 3519 : if (r == NULL) { ndr_print_null(ndr); return; }
1124 : {
1125 3519 : uint32_t _flags_save_STRUCT = ndr->flags;
1126 3519 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1127 3519 : ndr->depth++;
1128 3519 : ndr_print_array_uint8(ndr, "key", r->key, 16);
1129 3519 : ndr->depth--;
1130 3519 : ndr->flags = _flags_save_STRUCT;
1131 : }
1132 : }
1133 :
1134 82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1135 : {
1136 : {
1137 82034 : uint32_t _flags_save_STRUCT = ndr->flags;
1138 82034 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1139 82034 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1140 82034 : if (ndr_flags & NDR_SCALARS) {
1141 82034 : NDR_CHECK(ndr_push_align(ndr, 1));
1142 82034 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1143 82034 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1144 : }
1145 78585 : if (ndr_flags & NDR_BUFFERS) {
1146 : }
1147 82034 : ndr->flags = _flags_save_STRUCT;
1148 : }
1149 82034 : return NDR_ERR_SUCCESS;
1150 : }
1151 :
1152 118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1153 : {
1154 118530 : uint32_t size_key_0 = 0;
1155 : {
1156 118530 : uint32_t _flags_save_STRUCT = ndr->flags;
1157 118530 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1158 118530 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1159 118530 : if (ndr_flags & NDR_SCALARS) {
1160 118530 : NDR_CHECK(ndr_pull_align(ndr, 1));
1161 118530 : size_key_0 = 8;
1162 118530 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
1163 118530 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1164 : }
1165 115239 : if (ndr_flags & NDR_BUFFERS) {
1166 : }
1167 118530 : ndr->flags = _flags_save_STRUCT;
1168 : }
1169 118530 : return NDR_ERR_SUCCESS;
1170 : }
1171 :
1172 0 : static void ndr_print_flags_netr_LMSessionKey(struct ndr_print *ndr, const char *name, int unused, const struct netr_LMSessionKey *r)
1173 : {
1174 0 : ndr_print_netr_LMSessionKey(ndr, name, r);
1175 0 : }
1176 :
1177 3519 : _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1178 : {
1179 3519 : ndr_print_struct(ndr, name, "netr_LMSessionKey");
1180 3519 : if (r == NULL) { ndr_print_null(ndr); return; }
1181 : {
1182 3519 : uint32_t _flags_save_STRUCT = ndr->flags;
1183 3519 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1184 3519 : ndr->depth++;
1185 3519 : ndr_print_array_uint8(ndr, "key", r->key, 8);
1186 3519 : ndr->depth--;
1187 3519 : ndr->flags = _flags_save_STRUCT;
1188 : }
1189 : }
1190 :
1191 82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1192 : {
1193 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1194 82034 : return NDR_ERR_SUCCESS;
1195 : }
1196 :
1197 118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1198 : {
1199 : uint32_t v;
1200 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1201 118530 : *r = v;
1202 118530 : return NDR_ERR_SUCCESS;
1203 : }
1204 :
1205 3519 : _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1206 : {
1207 3519 : ndr_print_uint32(ndr, name, r);
1208 3519 : ndr->depth++;
1209 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1210 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1211 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1212 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1213 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1214 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1215 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1216 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1217 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1218 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1219 3519 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1220 3519 : ndr->depth--;
1221 3519 : }
1222 :
1223 164068 : static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1224 : {
1225 164068 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1226 164068 : if (ndr_flags & NDR_SCALARS) {
1227 82034 : NDR_CHECK(ndr_push_align(ndr, 5));
1228 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
1229 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logoff_time));
1230 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->kickoff_time));
1231 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1232 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1233 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1234 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1235 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1236 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1237 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1238 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1239 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1240 82034 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1241 82034 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1242 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1243 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1244 82034 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1245 82034 : NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1246 : {
1247 82034 : uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
1248 82034 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1249 82034 : NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1250 82034 : ndr->flags = _flags_save_netr_UserSessionKey;
1251 : }
1252 82034 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1253 82034 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_domain));
1254 82034 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1255 : {
1256 82034 : uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
1257 82034 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1258 82034 : NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1259 82034 : ndr->flags = _flags_save_netr_LMSessionKey;
1260 : }
1261 82034 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1262 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sub_auth_status));
1263 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_successful_logon));
1264 82034 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_failed_logon));
1265 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->failed_logon_count));
1266 82034 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1267 82034 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1268 : }
1269 164068 : if (ndr_flags & NDR_BUFFERS) {
1270 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1271 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1272 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1273 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1274 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1275 82034 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1276 82034 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1277 82034 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1278 82034 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_domain));
1279 82034 : if (r->domain_sid) {
1280 81802 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1281 : }
1282 : }
1283 157170 : return NDR_ERR_SUCCESS;
1284 : }
1285 :
1286 237060 : static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1287 : {
1288 : uint32_t _ptr_domain_sid;
1289 237060 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
1290 237060 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1291 237060 : if (ndr_flags & NDR_SCALARS) {
1292 118530 : NDR_CHECK(ndr_pull_align(ndr, 5));
1293 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
1294 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logoff_time));
1295 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->kickoff_time));
1296 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1297 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1298 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1299 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1300 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1301 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1302 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1303 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1304 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1305 118530 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1306 118530 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1307 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1308 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1309 118530 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1310 118530 : NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1311 : {
1312 118530 : uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
1313 118530 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1314 118530 : NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1315 118530 : ndr->flags = _flags_save_netr_UserSessionKey;
1316 : }
1317 118530 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1318 118530 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_domain));
1319 118530 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1320 118530 : if (_ptr_domain_sid) {
1321 118294 : NDR_PULL_ALLOC(ndr, r->domain_sid);
1322 : } else {
1323 236 : r->domain_sid = NULL;
1324 : }
1325 : {
1326 118530 : uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
1327 118530 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1328 118530 : NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1329 118530 : ndr->flags = _flags_save_netr_LMSessionKey;
1330 : }
1331 118530 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1332 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sub_auth_status));
1333 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_successful_logon));
1334 118530 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_failed_logon));
1335 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->failed_logon_count));
1336 118530 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1337 118530 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1338 : }
1339 237060 : if (ndr_flags & NDR_BUFFERS) {
1340 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1341 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1342 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1343 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1344 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1345 118530 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1346 118530 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1347 118530 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1348 118530 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_domain));
1349 118530 : if (r->domain_sid) {
1350 118294 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1351 118294 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1352 118294 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1353 118294 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1354 : }
1355 : }
1356 230478 : return NDR_ERR_SUCCESS;
1357 : }
1358 :
1359 3519 : _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1360 : {
1361 3519 : ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1362 3519 : if (r == NULL) { ndr_print_null(ndr); return; }
1363 3519 : ndr->depth++;
1364 3519 : ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
1365 3519 : ndr_print_NTTIME(ndr, "logoff_time", r->logoff_time);
1366 3519 : ndr_print_NTTIME(ndr, "kickoff_time", r->kickoff_time);
1367 3519 : ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1368 3519 : ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1369 3519 : ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1370 3519 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1371 3519 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1372 3519 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1373 3519 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1374 3519 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1375 3519 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1376 3519 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
1377 3519 : ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1378 3519 : ndr_print_uint32(ndr, "rid", r->rid);
1379 3519 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1380 3519 : ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1381 3519 : ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1382 : {
1383 3519 : uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
1384 3519 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1385 3519 : ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1386 3519 : ndr->flags = _flags_save_netr_UserSessionKey;
1387 : }
1388 3519 : ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1389 3519 : ndr_print_lsa_StringLarge(ndr, "logon_domain", &r->logon_domain);
1390 3519 : ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1391 3519 : ndr->depth++;
1392 3519 : if (r->domain_sid) {
1393 3519 : ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1394 : }
1395 3519 : ndr->depth--;
1396 : {
1397 3519 : uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
1398 3519 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1399 3519 : ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1400 3519 : ndr->flags = _flags_save_netr_LMSessionKey;
1401 : }
1402 3519 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1403 3519 : ndr_print_uint32(ndr, "sub_auth_status", r->sub_auth_status);
1404 3519 : ndr_print_NTTIME(ndr, "last_successful_logon", r->last_successful_logon);
1405 3519 : ndr_print_NTTIME(ndr, "last_failed_logon", r->last_failed_logon);
1406 3519 : ndr_print_uint32(ndr, "failed_logon_count", r->failed_logon_count);
1407 3519 : ndr_print_uint32(ndr, "reserved", r->reserved);
1408 3519 : ndr->depth--;
1409 : }
1410 :
1411 5870 : static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1412 : {
1413 5870 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1414 5870 : if (ndr_flags & NDR_SCALARS) {
1415 5870 : NDR_CHECK(ndr_push_align(ndr, 5));
1416 5870 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1417 5870 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1418 : }
1419 5870 : if (ndr_flags & NDR_BUFFERS) {
1420 5870 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1421 : }
1422 5039 : return NDR_ERR_SUCCESS;
1423 : }
1424 :
1425 5182 : static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1426 : {
1427 5182 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1428 5182 : if (ndr_flags & NDR_SCALARS) {
1429 5182 : NDR_CHECK(ndr_pull_align(ndr, 5));
1430 5182 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1431 5182 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1432 : }
1433 5182 : if (ndr_flags & NDR_BUFFERS) {
1434 5182 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1435 : }
1436 4490 : return NDR_ERR_SUCCESS;
1437 : }
1438 :
1439 1680 : _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1440 : {
1441 1680 : ndr_print_struct(ndr, name, "netr_SamInfo2");
1442 1680 : if (r == NULL) { ndr_print_null(ndr); return; }
1443 1680 : ndr->depth++;
1444 1680 : ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1445 1680 : ndr->depth--;
1446 : }
1447 :
1448 19244 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1449 : {
1450 19244 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1451 19244 : if (ndr_flags & NDR_SCALARS) {
1452 9622 : NDR_CHECK(ndr_push_align(ndr, 5));
1453 9622 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1454 9622 : NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1455 9622 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1456 : }
1457 19244 : if (ndr_flags & NDR_BUFFERS) {
1458 9622 : if (r->sid) {
1459 9622 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1460 : }
1461 : }
1462 18646 : return NDR_ERR_SUCCESS;
1463 : }
1464 :
1465 17204 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1466 : {
1467 : uint32_t _ptr_sid;
1468 17204 : TALLOC_CTX *_mem_save_sid_0 = NULL;
1469 17204 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1470 17204 : if (ndr_flags & NDR_SCALARS) {
1471 8602 : NDR_CHECK(ndr_pull_align(ndr, 5));
1472 8602 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1473 8602 : if (_ptr_sid) {
1474 8602 : NDR_PULL_ALLOC(ndr, r->sid);
1475 : } else {
1476 0 : r->sid = NULL;
1477 : }
1478 8602 : NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1479 8602 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1480 : }
1481 17204 : if (ndr_flags & NDR_BUFFERS) {
1482 8602 : if (r->sid) {
1483 8602 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1484 8602 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1485 8602 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1486 8602 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1487 : }
1488 : }
1489 16462 : return NDR_ERR_SUCCESS;
1490 : }
1491 :
1492 0 : static void ndr_print_flags_netr_SidAttr(struct ndr_print *ndr, const char *name, int unused, const struct netr_SidAttr *r)
1493 : {
1494 0 : ndr_print_netr_SidAttr(ndr, name, r);
1495 0 : }
1496 :
1497 4 : _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1498 : {
1499 4 : ndr_print_struct(ndr, name, "netr_SidAttr");
1500 4 : if (r == NULL) { ndr_print_null(ndr); return; }
1501 4 : ndr->depth++;
1502 4 : ndr_print_ptr(ndr, "sid", r->sid);
1503 4 : ndr->depth++;
1504 4 : if (r->sid) {
1505 4 : ndr_print_dom_sid2(ndr, "sid", r->sid);
1506 : }
1507 4 : ndr->depth--;
1508 4 : ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
1509 4 : ndr->depth--;
1510 : }
1511 :
1512 140990 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1513 : {
1514 : uint32_t cntr_sids_1;
1515 140990 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1516 140990 : if (ndr_flags & NDR_SCALARS) {
1517 73588 : NDR_CHECK(ndr_push_align(ndr, 5));
1518 73588 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1519 73588 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1520 73588 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1521 73588 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1522 : }
1523 140990 : if (ndr_flags & NDR_BUFFERS) {
1524 73588 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1525 73588 : if (r->sids) {
1526 9606 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1527 18913 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1528 9606 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1529 : }
1530 18913 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1531 9606 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1532 : }
1533 : }
1534 : }
1535 136729 : return NDR_ERR_SUCCESS;
1536 : }
1537 :
1538 217010 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1539 : {
1540 : uint32_t _ptr_sids;
1541 217010 : uint32_t size_sids_1 = 0;
1542 : uint32_t cntr_sids_1;
1543 217010 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1544 217010 : TALLOC_CTX *_mem_save_sids_1 = NULL;
1545 217010 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1546 217010 : if (ndr_flags & NDR_SCALARS) {
1547 111256 : NDR_CHECK(ndr_pull_align(ndr, 5));
1548 111256 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1549 111256 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1550 111256 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1551 111256 : if (_ptr_sids) {
1552 8602 : NDR_PULL_ALLOC(ndr, r->sids);
1553 : } else {
1554 102654 : r->sids = NULL;
1555 : }
1556 111256 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1557 : }
1558 217010 : if (ndr_flags & NDR_BUFFERS) {
1559 111256 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1560 111256 : if (r->sids) {
1561 8602 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1562 8602 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1563 8602 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1564 8602 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
1565 8602 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1566 8602 : _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1567 8602 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1568 17204 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1569 8602 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1570 : }
1571 16833 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1572 8602 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1573 : }
1574 8602 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1575 8602 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1576 : }
1577 111256 : if (r->sids) {
1578 8602 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1579 : }
1580 111559 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1581 : }
1582 : }
1583 212624 : return NDR_ERR_SUCCESS;
1584 : }
1585 :
1586 0 : static void ndr_print_flags_netr_SamInfo3(struct ndr_print *ndr, const char *name, int unused, const struct netr_SamInfo3 *r)
1587 : {
1588 0 : ndr_print_netr_SamInfo3(ndr, name, r);
1589 0 : }
1590 :
1591 1695 : _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1592 : {
1593 : uint32_t cntr_sids_1;
1594 1695 : ndr_print_struct(ndr, name, "netr_SamInfo3");
1595 1695 : if (r == NULL) { ndr_print_null(ndr); return; }
1596 1695 : ndr->depth++;
1597 1695 : ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1598 1695 : ndr_print_uint32(ndr, "sidcount", r->sidcount);
1599 1695 : ndr_print_ptr(ndr, "sids", r->sids);
1600 1695 : ndr->depth++;
1601 1695 : if (r->sids) {
1602 4 : ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1603 4 : ndr->depth++;
1604 8 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1605 4 : ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1606 : }
1607 4 : ndr->depth--;
1608 : }
1609 1695 : ndr->depth--;
1610 1695 : ndr->depth--;
1611 : }
1612 :
1613 2576 : static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1614 : {
1615 : uint32_t cntr_sids_1;
1616 : uint32_t cntr_unknown4_0;
1617 2576 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1618 2576 : if (ndr_flags & NDR_SCALARS) {
1619 2576 : NDR_CHECK(ndr_push_align(ndr, 5));
1620 2576 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1621 2576 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1622 2576 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1623 2576 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
1624 2576 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1625 54024 : for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (20); cntr_unknown4_0++) {
1626 51520 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1627 : }
1628 2576 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1629 : }
1630 2576 : if (ndr_flags & NDR_BUFFERS) {
1631 2576 : NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1632 2576 : if (r->sids) {
1633 16 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1634 32 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1635 16 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1636 : }
1637 32 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1638 16 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1639 : }
1640 : }
1641 2576 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
1642 2576 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1643 : }
1644 2504 : return NDR_ERR_SUCCESS;
1645 : }
1646 :
1647 2092 : static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1648 : {
1649 : uint32_t _ptr_sids;
1650 2092 : uint32_t size_sids_1 = 0;
1651 : uint32_t cntr_sids_1;
1652 2092 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1653 2092 : TALLOC_CTX *_mem_save_sids_1 = NULL;
1654 2092 : uint32_t size_unknown4_0 = 0;
1655 : uint32_t cntr_unknown4_0;
1656 2092 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1657 2092 : if (ndr_flags & NDR_SCALARS) {
1658 2092 : NDR_CHECK(ndr_pull_align(ndr, 5));
1659 2092 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1660 2092 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1661 2092 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1662 2092 : if (_ptr_sids) {
1663 0 : NDR_PULL_ALLOC(ndr, r->sids);
1664 : } else {
1665 2092 : r->sids = NULL;
1666 : }
1667 2092 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
1668 2092 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1669 2032 : size_unknown4_0 = 20;
1670 43872 : for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (size_unknown4_0); cntr_unknown4_0++) {
1671 41840 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1672 : }
1673 2092 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1674 : }
1675 2092 : if (ndr_flags & NDR_BUFFERS) {
1676 2092 : NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1677 2092 : if (r->sids) {
1678 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1679 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1680 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1681 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
1682 0 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1683 0 : _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1684 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1685 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1686 0 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1687 : }
1688 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1689 0 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1690 : }
1691 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1692 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1693 : }
1694 2092 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
1695 2092 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1696 2092 : if (r->sids) {
1697 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1698 : }
1699 2092 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1700 : }
1701 : }
1702 2032 : return NDR_ERR_SUCCESS;
1703 : }
1704 :
1705 144 : _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1706 : {
1707 : uint32_t cntr_sids_1;
1708 : uint32_t cntr_unknown4_0;
1709 144 : ndr_print_struct(ndr, name, "netr_SamInfo6");
1710 144 : if (r == NULL) { ndr_print_null(ndr); return; }
1711 144 : ndr->depth++;
1712 144 : ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1713 144 : ndr_print_uint32(ndr, "sidcount", r->sidcount);
1714 144 : ndr_print_ptr(ndr, "sids", r->sids);
1715 144 : ndr->depth++;
1716 144 : if (r->sids) {
1717 0 : ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1718 0 : ndr->depth++;
1719 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
1720 0 : ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1721 : }
1722 0 : ndr->depth--;
1723 : }
1724 144 : ndr->depth--;
1725 144 : ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
1726 144 : ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1727 144 : ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1728 144 : ndr->depth++;
1729 3024 : for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (20); cntr_unknown4_0++) {
1730 2880 : ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1731 : }
1732 144 : ndr->depth--;
1733 144 : ndr->depth--;
1734 : }
1735 :
1736 0 : static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1737 : {
1738 : uint32_t cntr_expansionroom_0;
1739 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1740 0 : if (ndr_flags & NDR_SCALARS) {
1741 0 : NDR_CHECK(ndr_push_align(ndr, 5));
1742 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1743 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1744 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1745 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1746 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1747 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1748 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1749 0 : NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1750 0 : for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (10); cntr_expansionroom_0++) {
1751 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1752 : }
1753 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1754 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1755 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1756 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1757 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1758 : }
1759 0 : if (ndr_flags & NDR_BUFFERS) {
1760 0 : if (r->pac) {
1761 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pac_size));
1762 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1763 : }
1764 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1765 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1766 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1767 0 : if (r->auth) {
1768 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->auth_size));
1769 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1770 : }
1771 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1772 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1773 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1774 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1775 : }
1776 0 : return NDR_ERR_SUCCESS;
1777 : }
1778 :
1779 0 : static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1780 : {
1781 : uint32_t _ptr_pac;
1782 0 : uint32_t size_pac_1 = 0;
1783 0 : TALLOC_CTX *_mem_save_pac_0 = NULL;
1784 : uint32_t _ptr_auth;
1785 0 : uint32_t size_auth_1 = 0;
1786 0 : TALLOC_CTX *_mem_save_auth_0 = NULL;
1787 0 : uint32_t size_expansionroom_0 = 0;
1788 : uint32_t cntr_expansionroom_0;
1789 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1790 0 : if (ndr_flags & NDR_SCALARS) {
1791 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
1792 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1793 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1794 0 : if (_ptr_pac) {
1795 0 : NDR_PULL_ALLOC(ndr, r->pac);
1796 : } else {
1797 0 : r->pac = NULL;
1798 : }
1799 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1800 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1801 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1802 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1803 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1804 0 : if (_ptr_auth) {
1805 0 : NDR_PULL_ALLOC(ndr, r->auth);
1806 : } else {
1807 0 : r->auth = NULL;
1808 : }
1809 0 : NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1810 0 : size_expansionroom_0 = 10;
1811 0 : for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (size_expansionroom_0); cntr_expansionroom_0++) {
1812 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1813 : }
1814 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1815 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1816 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1817 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1818 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1819 : }
1820 0 : if (ndr_flags & NDR_BUFFERS) {
1821 0 : if (r->pac) {
1822 0 : _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1823 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1824 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1825 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pac, &size_pac_1));
1826 0 : NDR_PULL_ALLOC_N(ndr, r->pac, size_pac_1);
1827 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, size_pac_1));
1828 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1829 : }
1830 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1831 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1832 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1833 0 : if (r->auth) {
1834 0 : _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1835 0 : NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1836 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1837 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->auth, &size_auth_1));
1838 0 : NDR_PULL_ALLOC_N(ndr, r->auth, size_auth_1);
1839 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, size_auth_1));
1840 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1841 : }
1842 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1843 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1844 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1845 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1846 0 : if (r->pac) {
1847 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->pac, r->pac_size));
1848 : }
1849 0 : if (r->auth) {
1850 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->auth, r->auth_size));
1851 : }
1852 : }
1853 0 : return NDR_ERR_SUCCESS;
1854 : }
1855 :
1856 0 : _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1857 : {
1858 : uint32_t cntr_expansionroom_0;
1859 0 : ndr_print_struct(ndr, name, "netr_PacInfo");
1860 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1861 0 : ndr->depth++;
1862 0 : ndr_print_uint32(ndr, "pac_size", r->pac_size);
1863 0 : ndr_print_ptr(ndr, "pac", r->pac);
1864 0 : ndr->depth++;
1865 0 : if (r->pac) {
1866 0 : ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1867 : }
1868 0 : ndr->depth--;
1869 0 : ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1870 0 : ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1871 0 : ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1872 0 : ndr_print_uint32(ndr, "auth_size", r->auth_size);
1873 0 : ndr_print_ptr(ndr, "auth", r->auth);
1874 0 : ndr->depth++;
1875 0 : if (r->auth) {
1876 0 : ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1877 : }
1878 0 : ndr->depth--;
1879 0 : ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1880 0 : ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1881 0 : ndr->depth++;
1882 0 : for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (10); cntr_expansionroom_0++) {
1883 0 : ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1884 : }
1885 0 : ndr->depth--;
1886 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1887 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1888 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1889 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1890 0 : ndr->depth--;
1891 : }
1892 :
1893 260 : static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1894 : {
1895 : {
1896 260 : uint32_t _flags_save_STRUCT = ndr->flags;
1897 260 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1898 260 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1899 260 : if (ndr_flags & NDR_SCALARS) {
1900 260 : NDR_CHECK(ndr_push_align(ndr, 5));
1901 260 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1902 260 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1903 260 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1904 : }
1905 260 : if (ndr_flags & NDR_BUFFERS) {
1906 260 : if (r->data) {
1907 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1908 52 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1909 : }
1910 : }
1911 260 : ndr->flags = _flags_save_STRUCT;
1912 : }
1913 260 : return NDR_ERR_SUCCESS;
1914 : }
1915 :
1916 260 : static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1917 : {
1918 : uint32_t _ptr_data;
1919 260 : uint32_t size_data_1 = 0;
1920 260 : TALLOC_CTX *_mem_save_data_0 = NULL;
1921 : {
1922 260 : uint32_t _flags_save_STRUCT = ndr->flags;
1923 260 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1924 260 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1925 260 : if (ndr_flags & NDR_SCALARS) {
1926 260 : NDR_CHECK(ndr_pull_align(ndr, 5));
1927 260 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1928 260 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1929 260 : if (_ptr_data) {
1930 52 : NDR_PULL_ALLOC(ndr, r->data);
1931 : } else {
1932 208 : r->data = NULL;
1933 : }
1934 260 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1935 : }
1936 260 : if (ndr_flags & NDR_BUFFERS) {
1937 260 : if (r->data) {
1938 52 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1939 52 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1940 52 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1941 52 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
1942 52 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
1943 52 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
1944 52 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1945 : }
1946 260 : if (r->data) {
1947 52 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
1948 : }
1949 : }
1950 260 : ndr->flags = _flags_save_STRUCT;
1951 : }
1952 260 : return NDR_ERR_SUCCESS;
1953 : }
1954 :
1955 0 : _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1956 : {
1957 0 : ndr_print_struct(ndr, name, "netr_GenericInfo2");
1958 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1959 : {
1960 0 : uint32_t _flags_save_STRUCT = ndr->flags;
1961 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1962 0 : ndr->depth++;
1963 0 : ndr_print_uint32(ndr, "length", r->length);
1964 0 : ndr_print_ptr(ndr, "data", r->data);
1965 0 : ndr->depth++;
1966 0 : if (r->data) {
1967 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
1968 : }
1969 0 : ndr->depth--;
1970 0 : ndr->depth--;
1971 0 : ndr->flags = _flags_save_STRUCT;
1972 : }
1973 : }
1974 :
1975 26471 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1976 : {
1977 : uint32_t level;
1978 26471 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1979 26471 : if (ndr_flags & NDR_SCALARS) {
1980 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1981 26471 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1982 26471 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1983 26471 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1984 : /* ms_union is always aligned to the largest union arm*/
1985 26471 : NDR_CHECK(ndr_push_align(ndr, 5));
1986 26471 : switch (level) {
1987 9724 : case NetlogonValidationSamInfo: {
1988 9724 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1989 8379 : break; }
1990 :
1991 9665 : case NetlogonValidationSamInfo2: {
1992 9665 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1993 8392 : break; }
1994 :
1995 0 : case 4: {
1996 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1997 0 : break; }
1998 :
1999 260 : case NetlogonValidationGenericInfo2: {
2000 260 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
2001 260 : break; }
2002 :
2003 5562 : case NetlogonValidationSamInfo4: {
2004 5562 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
2005 5490 : break; }
2006 :
2007 1039 : default: {
2008 1039 : break; }
2009 :
2010 : }
2011 0 : }
2012 26471 : if (ndr_flags & NDR_BUFFERS) {
2013 26471 : if (!(ndr_flags & NDR_SCALARS)) {
2014 : /* We didn't get it above, and the token is not needed after this. */
2015 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
2016 : }
2017 26471 : switch (level) {
2018 9724 : case NetlogonValidationSamInfo:
2019 9724 : if (r->sam2) {
2020 5870 : NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
2021 : }
2022 8379 : break;
2023 :
2024 9665 : case NetlogonValidationSamInfo2:
2025 9665 : if (r->sam3) {
2026 6186 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
2027 : }
2028 8392 : break;
2029 :
2030 0 : case 4:
2031 0 : if (r->pac) {
2032 0 : NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
2033 : }
2034 0 : break;
2035 :
2036 260 : case NetlogonValidationGenericInfo2:
2037 260 : if (r->generic) {
2038 260 : NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
2039 : }
2040 260 : break;
2041 :
2042 5562 : case NetlogonValidationSamInfo4:
2043 5562 : if (r->sam6) {
2044 2576 : NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
2045 : }
2046 5490 : break;
2047 :
2048 1039 : default:
2049 1039 : break;
2050 :
2051 : }
2052 0 : }
2053 23560 : return NDR_ERR_SUCCESS;
2054 : }
2055 :
2056 23633 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
2057 : {
2058 : uint32_t level;
2059 : uint16_t _level;
2060 23633 : TALLOC_CTX *_mem_save_sam2_0 = NULL;
2061 : uint32_t _ptr_sam2;
2062 23633 : TALLOC_CTX *_mem_save_sam3_0 = NULL;
2063 : uint32_t _ptr_sam3;
2064 23633 : TALLOC_CTX *_mem_save_pac_0 = NULL;
2065 : uint32_t _ptr_pac;
2066 23633 : TALLOC_CTX *_mem_save_generic_0 = NULL;
2067 : uint32_t _ptr_generic;
2068 23633 : TALLOC_CTX *_mem_save_sam6_0 = NULL;
2069 : uint32_t _ptr_sam6;
2070 23633 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2071 23633 : if (ndr_flags & NDR_SCALARS) {
2072 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
2073 23633 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
2074 23633 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
2075 23633 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
2076 23633 : if (_level != level) {
2077 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
2078 : }
2079 : /* ms_union is always aligned to the largest union arm*/
2080 23633 : NDR_CHECK(ndr_pull_align(ndr, 5));
2081 23633 : switch (level) {
2082 8612 : case NetlogonValidationSamInfo: {
2083 8612 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
2084 8612 : if (_ptr_sam2) {
2085 5182 : NDR_PULL_ALLOC(ndr, r->sam2);
2086 : } else {
2087 3430 : r->sam2 = NULL;
2088 : }
2089 7492 : break; }
2090 :
2091 8613 : case NetlogonValidationSamInfo2: {
2092 8613 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
2093 8613 : if (_ptr_sam3) {
2094 5502 : NDR_PULL_ALLOC(ndr, r->sam3);
2095 : } else {
2096 3111 : r->sam3 = NULL;
2097 : }
2098 7553 : break; }
2099 :
2100 0 : case 4: {
2101 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
2102 0 : if (_ptr_pac) {
2103 0 : NDR_PULL_ALLOC(ndr, r->pac);
2104 : } else {
2105 0 : r->pac = NULL;
2106 : }
2107 0 : break; }
2108 :
2109 260 : case NetlogonValidationGenericInfo2: {
2110 260 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
2111 260 : if (_ptr_generic) {
2112 260 : NDR_PULL_ALLOC(ndr, r->generic);
2113 : } else {
2114 0 : r->generic = NULL;
2115 : }
2116 260 : break; }
2117 :
2118 5072 : case NetlogonValidationSamInfo4: {
2119 5072 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
2120 5072 : if (_ptr_sam6) {
2121 2092 : NDR_PULL_ALLOC(ndr, r->sam6);
2122 : } else {
2123 2980 : r->sam6 = NULL;
2124 : }
2125 5012 : break; }
2126 :
2127 892 : default: {
2128 892 : break; }
2129 :
2130 : }
2131 0 : }
2132 23633 : if (ndr_flags & NDR_BUFFERS) {
2133 23633 : if (!(ndr_flags & NDR_SCALARS)) {
2134 : /* We didn't get it above, and the token is not needed after this. */
2135 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
2136 : }
2137 23633 : switch (level) {
2138 8612 : case NetlogonValidationSamInfo:
2139 8612 : if (r->sam2) {
2140 5182 : _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
2141 5182 : NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
2142 5182 : NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
2143 5182 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
2144 : }
2145 7492 : break;
2146 :
2147 8613 : case NetlogonValidationSamInfo2:
2148 8613 : if (r->sam3) {
2149 5502 : _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
2150 5502 : NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
2151 5502 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
2152 5502 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
2153 : }
2154 7553 : break;
2155 :
2156 0 : case 4:
2157 0 : if (r->pac) {
2158 0 : _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
2159 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
2160 0 : NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
2161 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
2162 : }
2163 0 : break;
2164 :
2165 260 : case NetlogonValidationGenericInfo2:
2166 260 : if (r->generic) {
2167 260 : _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
2168 260 : NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
2169 260 : NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
2170 260 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
2171 : }
2172 260 : break;
2173 :
2174 5072 : case NetlogonValidationSamInfo4:
2175 5072 : if (r->sam6) {
2176 2092 : _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
2177 2092 : NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
2178 2092 : NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
2179 2092 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
2180 : }
2181 5012 : break;
2182 :
2183 892 : default:
2184 892 : break;
2185 :
2186 : }
2187 0 : }
2188 21209 : return NDR_ERR_SUCCESS;
2189 : }
2190 :
2191 5888 : _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
2192 : {
2193 : uint32_t level;
2194 5888 : level = ndr_print_steal_switch_value(ndr, r);
2195 5888 : ndr_print_union(ndr, name, level, "netr_Validation");
2196 5888 : switch (level) {
2197 2720 : case NetlogonValidationSamInfo:
2198 2720 : ndr_print_ptr(ndr, "sam2", r->sam2);
2199 2720 : ndr->depth++;
2200 2720 : if (r->sam2) {
2201 1680 : ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2202 : }
2203 2720 : ndr->depth--;
2204 2720 : break;
2205 :
2206 2576 : case NetlogonValidationSamInfo2:
2207 2576 : ndr_print_ptr(ndr, "sam3", r->sam3);
2208 2576 : ndr->depth++;
2209 2576 : if (r->sam3) {
2210 1680 : ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2211 : }
2212 2576 : ndr->depth--;
2213 2576 : break;
2214 :
2215 0 : case 4:
2216 0 : ndr_print_ptr(ndr, "pac", r->pac);
2217 0 : ndr->depth++;
2218 0 : if (r->pac) {
2219 0 : ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2220 : }
2221 0 : ndr->depth--;
2222 0 : break;
2223 :
2224 0 : case NetlogonValidationGenericInfo2:
2225 0 : ndr_print_ptr(ndr, "generic", r->generic);
2226 0 : ndr->depth++;
2227 0 : if (r->generic) {
2228 0 : ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2229 : }
2230 0 : ndr->depth--;
2231 0 : break;
2232 :
2233 144 : case NetlogonValidationSamInfo4:
2234 144 : ndr_print_ptr(ndr, "sam6", r->sam6);
2235 144 : ndr->depth++;
2236 144 : if (r->sam6) {
2237 144 : ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2238 : }
2239 144 : ndr->depth--;
2240 144 : break;
2241 :
2242 374 : default:
2243 374 : break;
2244 :
2245 : }
2246 5888 : }
2247 :
2248 133212 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2249 : {
2250 : {
2251 133212 : uint32_t _flags_save_STRUCT = ndr->flags;
2252 133212 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2253 133212 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2254 133212 : if (ndr_flags & NDR_SCALARS) {
2255 133212 : NDR_CHECK(ndr_push_align(ndr, 1));
2256 133212 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2257 133212 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2258 : }
2259 119979 : if (ndr_flags & NDR_BUFFERS) {
2260 : }
2261 133212 : ndr->flags = _flags_save_STRUCT;
2262 : }
2263 133212 : return NDR_ERR_SUCCESS;
2264 : }
2265 :
2266 131708 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2267 : {
2268 131708 : uint32_t size_data_0 = 0;
2269 : {
2270 131708 : uint32_t _flags_save_STRUCT = ndr->flags;
2271 131708 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2272 131708 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2273 131708 : if (ndr_flags & NDR_SCALARS) {
2274 131708 : NDR_CHECK(ndr_pull_align(ndr, 1));
2275 131708 : size_data_0 = 8;
2276 131708 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
2277 131708 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2278 : }
2279 118875 : if (ndr_flags & NDR_BUFFERS) {
2280 : }
2281 131708 : ndr->flags = _flags_save_STRUCT;
2282 : }
2283 131708 : return NDR_ERR_SUCCESS;
2284 : }
2285 :
2286 0 : static void ndr_print_flags_netr_Credential(struct ndr_print *ndr, const char *name, int unused, const struct netr_Credential *r)
2287 : {
2288 0 : ndr_print_netr_Credential(ndr, name, r);
2289 0 : }
2290 :
2291 8774 : _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2292 : {
2293 8774 : ndr_print_struct(ndr, name, "netr_Credential");
2294 8774 : if (r == NULL) { ndr_print_null(ndr); return; }
2295 : {
2296 8774 : uint32_t _flags_save_STRUCT = ndr->flags;
2297 8774 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2298 8774 : ndr->depth++;
2299 8774 : ndr_print_array_uint8(ndr, "data", r->data, 8);
2300 8774 : ndr->depth--;
2301 8774 : ndr->flags = _flags_save_STRUCT;
2302 : }
2303 : }
2304 :
2305 47955 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2306 : {
2307 47955 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2308 47955 : if (ndr_flags & NDR_SCALARS) {
2309 47955 : NDR_CHECK(ndr_push_align(ndr, 4));
2310 47955 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2311 47955 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2312 47955 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2313 : }
2314 42231 : if (ndr_flags & NDR_BUFFERS) {
2315 : }
2316 47955 : return NDR_ERR_SUCCESS;
2317 : }
2318 :
2319 45954 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2320 : {
2321 45954 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2322 45954 : if (ndr_flags & NDR_SCALARS) {
2323 45954 : NDR_CHECK(ndr_pull_align(ndr, 4));
2324 45954 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2325 45954 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2326 45954 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2327 : }
2328 40476 : if (ndr_flags & NDR_BUFFERS) {
2329 : }
2330 45954 : return NDR_ERR_SUCCESS;
2331 : }
2332 :
2333 0 : static void ndr_print_flags_netr_Authenticator(struct ndr_print *ndr, const char *name, int unused, const struct netr_Authenticator *r)
2334 : {
2335 0 : ndr_print_netr_Authenticator(ndr, name, r);
2336 0 : }
2337 :
2338 3438 : _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2339 : {
2340 3438 : ndr_print_struct(ndr, name, "netr_Authenticator");
2341 3438 : if (r == NULL) { ndr_print_null(ndr); return; }
2342 3438 : ndr->depth++;
2343 3438 : ndr_print_netr_Credential(ndr, "cred", &r->cred);
2344 3438 : ndr_print_time_t(ndr, "timestamp", r->timestamp);
2345 3438 : ndr->depth--;
2346 : }
2347 :
2348 0 : static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r)
2349 : {
2350 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2351 0 : if (ndr_flags & NDR_SCALARS) {
2352 0 : NDR_CHECK(ndr_push_align(ndr, 5));
2353 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2354 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2355 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2356 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2357 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2358 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2359 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2360 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2361 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2362 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2363 : }
2364 0 : if (ndr_flags & NDR_BUFFERS) {
2365 0 : if (r->account_name) {
2366 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2367 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2368 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2369 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2370 : }
2371 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2372 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2373 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2374 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2375 : }
2376 0 : return NDR_ERR_SUCCESS;
2377 : }
2378 :
2379 0 : static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2380 : {
2381 : uint32_t _ptr_account_name;
2382 0 : uint32_t size_account_name_1 = 0;
2383 0 : uint32_t length_account_name_1 = 0;
2384 0 : TALLOC_CTX *_mem_save_account_name_0 = NULL;
2385 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2386 0 : if (ndr_flags & NDR_SCALARS) {
2387 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
2388 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2389 0 : if (_ptr_account_name) {
2390 0 : NDR_PULL_ALLOC(ndr, r->account_name);
2391 : } else {
2392 0 : r->account_name = NULL;
2393 : }
2394 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2395 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2396 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2397 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2398 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2399 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2400 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2401 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2402 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2403 : }
2404 0 : if (ndr_flags & NDR_BUFFERS) {
2405 0 : if (r->account_name) {
2406 0 : _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2407 0 : NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2408 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2409 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2410 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->account_name, &size_account_name_1));
2411 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->account_name, &length_account_name_1));
2412 0 : if (length_account_name_1 > size_account_name_1) {
2413 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
2414 : }
2415 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
2416 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
2417 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2418 : }
2419 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2420 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2421 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2422 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2423 : }
2424 0 : return NDR_ERR_SUCCESS;
2425 : }
2426 :
2427 0 : _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2428 : {
2429 0 : ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2430 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2431 0 : ndr->depth++;
2432 0 : ndr_print_ptr(ndr, "account_name", r->account_name);
2433 0 : ndr->depth++;
2434 0 : if (r->account_name) {
2435 0 : ndr_print_string(ndr, "account_name", r->account_name);
2436 : }
2437 0 : ndr->depth--;
2438 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2439 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2440 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2441 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2442 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
2443 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
2444 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
2445 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
2446 0 : ndr->depth--;
2447 : }
2448 :
2449 0 : static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2450 : {
2451 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2452 0 : if (ndr_flags & NDR_SCALARS) {
2453 0 : NDR_CHECK(ndr_push_align(ndr, 4));
2454 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2455 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2456 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2457 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2458 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2459 : }
2460 0 : if (ndr_flags & NDR_BUFFERS) {
2461 : }
2462 0 : return NDR_ERR_SUCCESS;
2463 : }
2464 :
2465 0 : static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2466 : {
2467 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2468 0 : if (ndr_flags & NDR_SCALARS) {
2469 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
2470 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2471 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2472 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2473 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2474 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2475 : }
2476 0 : if (ndr_flags & NDR_BUFFERS) {
2477 : }
2478 0 : return NDR_ERR_SUCCESS;
2479 : }
2480 :
2481 0 : _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2482 : {
2483 0 : ndr_print_struct(ndr, name, "netr_USER_KEY16");
2484 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2485 0 : ndr->depth++;
2486 0 : ndr_print_uint16(ndr, "length", r->length);
2487 0 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2488 0 : ndr_print_uint32(ndr, "flags", r->flags);
2489 0 : ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2490 0 : ndr->depth--;
2491 : }
2492 :
2493 0 : static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2494 : {
2495 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2496 0 : if (ndr_flags & NDR_SCALARS) {
2497 0 : NDR_CHECK(ndr_push_align(ndr, 4));
2498 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2499 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2500 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2501 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2502 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2503 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2504 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2505 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2506 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2507 : }
2508 0 : if (ndr_flags & NDR_BUFFERS) {
2509 : }
2510 0 : return NDR_ERR_SUCCESS;
2511 : }
2512 :
2513 0 : static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2514 : {
2515 0 : uint32_t size_nt_history_0 = 0;
2516 0 : uint32_t size_lm_history_0 = 0;
2517 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2518 0 : if (ndr_flags & NDR_SCALARS) {
2519 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
2520 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2521 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2522 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2523 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2524 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2525 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2526 0 : size_nt_history_0 = r->nt_length;
2527 0 : NDR_PULL_ALLOC_N(ndr, r->nt_history, size_nt_history_0);
2528 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, size_nt_history_0));
2529 0 : size_lm_history_0 = r->lm_length;
2530 0 : NDR_PULL_ALLOC_N(ndr, r->lm_history, size_lm_history_0);
2531 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, size_lm_history_0));
2532 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2533 : }
2534 0 : if (ndr_flags & NDR_BUFFERS) {
2535 : }
2536 0 : return NDR_ERR_SUCCESS;
2537 : }
2538 :
2539 0 : _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2540 : {
2541 0 : ndr_print_struct(ndr, name, "netr_PasswordHistory");
2542 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2543 0 : ndr->depth++;
2544 0 : ndr_print_uint16(ndr, "nt_length", r->nt_length);
2545 0 : ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2546 0 : ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2547 0 : ndr_print_uint16(ndr, "lm_length", r->lm_length);
2548 0 : ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2549 0 : ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2550 0 : ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2551 0 : ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2552 0 : ndr->depth--;
2553 : }
2554 :
2555 0 : static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2556 : {
2557 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2558 0 : if (ndr_flags & NDR_SCALARS) {
2559 0 : NDR_CHECK(ndr_push_align(ndr, 4));
2560 0 : NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2561 0 : NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2562 0 : NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2563 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2564 : }
2565 0 : if (ndr_flags & NDR_BUFFERS) {
2566 : }
2567 0 : return NDR_ERR_SUCCESS;
2568 : }
2569 :
2570 0 : static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2571 : {
2572 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2573 0 : if (ndr_flags & NDR_SCALARS) {
2574 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
2575 0 : NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2576 0 : NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2577 0 : NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2578 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2579 : }
2580 0 : if (ndr_flags & NDR_BUFFERS) {
2581 : }
2582 0 : return NDR_ERR_SUCCESS;
2583 : }
2584 :
2585 0 : _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2586 : {
2587 0 : ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2588 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2589 0 : ndr->depth++;
2590 0 : ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2591 0 : ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2592 0 : ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2593 0 : ndr->depth--;
2594 : }
2595 :
2596 0 : static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY_UNION *r)
2597 : {
2598 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2599 0 : if (ndr_flags & NDR_SCALARS) {
2600 0 : NDR_CHECK(ndr_push_align(ndr, 4));
2601 0 : NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2602 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2603 : }
2604 0 : if (ndr_flags & NDR_BUFFERS) {
2605 : }
2606 0 : return NDR_ERR_SUCCESS;
2607 : }
2608 :
2609 0 : static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2610 : {
2611 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2612 0 : if (ndr_flags & NDR_SCALARS) {
2613 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
2614 0 : NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2615 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2616 : }
2617 0 : if (ndr_flags & NDR_BUFFERS) {
2618 : }
2619 0 : return NDR_ERR_SUCCESS;
2620 : }
2621 :
2622 0 : _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2623 : {
2624 0 : ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2625 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2626 0 : ndr->depth++;
2627 0 : ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2628 0 : ndr->depth--;
2629 : }
2630 :
2631 0 : _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2632 : {
2633 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2634 0 : if (ndr_flags & NDR_SCALARS) {
2635 0 : NDR_CHECK(ndr_push_align(ndr, 4));
2636 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2637 0 : NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2638 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2639 : }
2640 0 : if (ndr_flags & NDR_BUFFERS) {
2641 : }
2642 0 : return NDR_ERR_SUCCESS;
2643 : }
2644 :
2645 0 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2646 : {
2647 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2648 0 : if (ndr_flags & NDR_SCALARS) {
2649 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
2650 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2651 0 : NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2652 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2653 : }
2654 0 : if (ndr_flags & NDR_BUFFERS) {
2655 : }
2656 0 : return NDR_ERR_SUCCESS;
2657 : }
2658 :
2659 0 : static void ndr_print_flags_netr_USER_KEYS(struct ndr_print *ndr, const char *name, int unused, const struct netr_USER_KEYS *r)
2660 : {
2661 0 : ndr_print_netr_USER_KEYS(ndr, name, r);
2662 0 : }
2663 :
2664 0 : _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2665 : {
2666 0 : ndr_print_struct(ndr, name, "netr_USER_KEYS");
2667 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2668 0 : ndr->depth++;
2669 0 : ndr_print_uint32(ndr, "version", r->version);
2670 0 : ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2671 0 : ndr->depth--;
2672 : }
2673 :
2674 0 : static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_PRIVATE_INFO *r)
2675 : {
2676 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2677 0 : if (ndr_flags & NDR_SCALARS) {
2678 0 : NDR_CHECK(ndr_push_align(ndr, 5));
2679 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2680 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2681 : {
2682 0 : uint32_t _flags_save_uint8 = ndr->flags;
2683 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2684 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2685 0 : ndr->flags = _flags_save_uint8;
2686 : }
2687 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2688 : }
2689 0 : if (ndr_flags & NDR_BUFFERS) {
2690 : {
2691 0 : uint32_t _flags_save_uint8 = ndr->flags;
2692 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2693 0 : if (r->SensitiveData) {
2694 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->DataLength));
2695 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2696 : }
2697 0 : ndr->flags = _flags_save_uint8;
2698 : }
2699 : }
2700 0 : return NDR_ERR_SUCCESS;
2701 : }
2702 :
2703 0 : static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2704 : {
2705 : uint32_t _ptr_SensitiveData;
2706 0 : uint32_t size_SensitiveData_1 = 0;
2707 0 : TALLOC_CTX *_mem_save_SensitiveData_0 = NULL;
2708 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2709 0 : if (ndr_flags & NDR_SCALARS) {
2710 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
2711 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2712 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2713 : {
2714 0 : uint32_t _flags_save_uint8 = ndr->flags;
2715 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2716 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2717 0 : if (_ptr_SensitiveData) {
2718 0 : NDR_PULL_ALLOC(ndr, r->SensitiveData);
2719 : } else {
2720 0 : r->SensitiveData = NULL;
2721 : }
2722 0 : ndr->flags = _flags_save_uint8;
2723 : }
2724 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2725 : }
2726 0 : if (ndr_flags & NDR_BUFFERS) {
2727 : {
2728 0 : uint32_t _flags_save_uint8 = ndr->flags;
2729 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2730 0 : if (r->SensitiveData) {
2731 0 : _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2732 0 : NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2733 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2734 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->SensitiveData, &size_SensitiveData_1));
2735 0 : NDR_PULL_ALLOC_N(ndr, r->SensitiveData, size_SensitiveData_1);
2736 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, size_SensitiveData_1));
2737 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2738 : }
2739 0 : ndr->flags = _flags_save_uint8;
2740 : }
2741 0 : if (r->SensitiveData) {
2742 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2743 : }
2744 : }
2745 0 : return NDR_ERR_SUCCESS;
2746 : }
2747 :
2748 0 : _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2749 : {
2750 0 : ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2751 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2752 0 : ndr->depth++;
2753 0 : ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2754 0 : ndr_print_uint32(ndr, "DataLength", r->DataLength);
2755 : {
2756 0 : uint32_t _flags_save_uint8 = ndr->flags;
2757 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2758 0 : ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2759 0 : ndr->depth++;
2760 0 : if (r->SensitiveData) {
2761 0 : ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2762 : }
2763 0 : ndr->depth--;
2764 0 : ndr->flags = _flags_save_uint8;
2765 : }
2766 0 : ndr->depth--;
2767 : }
2768 :
2769 0 : static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2770 : {
2771 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2772 0 : if (ndr_flags & NDR_SCALARS) {
2773 0 : NDR_CHECK(ndr_push_align(ndr, 5));
2774 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2775 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2776 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2777 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2778 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2779 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2780 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2781 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2782 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2783 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2784 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2785 0 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2786 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2787 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2788 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2789 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2790 0 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2791 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2792 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2793 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2794 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2795 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2796 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2797 0 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2798 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2799 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2800 0 : NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2801 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2802 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2803 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2804 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2805 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2806 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2807 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2808 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2809 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2810 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2811 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2812 : }
2813 0 : if (ndr_flags & NDR_BUFFERS) {
2814 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2815 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2816 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2817 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2818 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2819 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2820 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2821 0 : NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2822 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2823 0 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2824 0 : NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2825 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2826 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2827 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2828 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2829 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2830 : }
2831 0 : return NDR_ERR_SUCCESS;
2832 : }
2833 :
2834 0 : static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2835 : {
2836 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2837 0 : if (ndr_flags & NDR_SCALARS) {
2838 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
2839 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2840 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2841 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2842 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2843 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2844 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2845 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2846 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2847 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2848 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2849 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2850 0 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2851 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2852 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2853 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2854 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2855 0 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2856 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2857 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2858 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2859 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2860 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2861 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2862 0 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2863 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2864 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2865 0 : NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2866 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2867 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2868 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2869 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2870 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2871 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2872 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2873 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2874 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2875 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2876 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2877 : }
2878 0 : if (ndr_flags & NDR_BUFFERS) {
2879 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2880 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2881 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2882 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2883 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2884 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2885 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2886 0 : NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2887 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2888 0 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2889 0 : NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2890 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2891 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2892 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2893 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2894 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2895 : }
2896 0 : return NDR_ERR_SUCCESS;
2897 : }
2898 :
2899 0 : _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2900 : {
2901 0 : ndr_print_struct(ndr, name, "netr_DELTA_USER");
2902 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2903 0 : ndr->depth++;
2904 0 : ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2905 0 : ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2906 0 : ndr_print_uint32(ndr, "rid", r->rid);
2907 0 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2908 0 : ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2909 0 : ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2910 0 : ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2911 0 : ndr_print_lsa_String(ndr, "description", &r->description);
2912 0 : ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2913 0 : ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2914 0 : ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2915 0 : ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2916 0 : ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2917 0 : ndr_print_uint16(ndr, "logon_count", r->logon_count);
2918 0 : ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2919 0 : ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2920 0 : ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2921 0 : ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2922 0 : ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2923 0 : ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2924 0 : ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2925 0 : ndr_print_uint8(ndr, "password_expired", r->password_expired);
2926 0 : ndr_print_lsa_String(ndr, "comment", &r->comment);
2927 0 : ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2928 0 : ndr_print_uint16(ndr, "country_code", r->country_code);
2929 0 : ndr_print_uint16(ndr, "code_page", r->code_page);
2930 0 : ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2931 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2932 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2933 0 : ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2934 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2935 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2936 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2937 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
2938 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
2939 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
2940 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
2941 0 : ndr->depth--;
2942 : }
2943 :
2944 0 : static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2945 : {
2946 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2947 0 : if (ndr_flags & NDR_SCALARS) {
2948 0 : NDR_CHECK(ndr_push_align(ndr, 5));
2949 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2950 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2951 0 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2952 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2953 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2954 0 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2955 0 : NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2956 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2957 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2958 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2959 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2960 0 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2961 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2962 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2963 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2964 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2965 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2966 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2967 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2968 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2969 : }
2970 0 : if (ndr_flags & NDR_BUFFERS) {
2971 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2972 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2973 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2974 0 : NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2975 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2976 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2977 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2978 : }
2979 0 : return NDR_ERR_SUCCESS;
2980 : }
2981 :
2982 0 : static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2983 : {
2984 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2985 0 : if (ndr_flags & NDR_SCALARS) {
2986 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
2987 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2988 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2989 0 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2990 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2991 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2992 0 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2993 0 : NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2994 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2995 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2996 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2997 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2998 0 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2999 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3000 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3001 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3002 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
3003 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3004 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3005 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3006 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3007 : }
3008 0 : if (ndr_flags & NDR_BUFFERS) {
3009 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3010 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
3011 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3012 0 : NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
3013 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3014 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3015 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3016 : }
3017 0 : return NDR_ERR_SUCCESS;
3018 : }
3019 :
3020 0 : _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
3021 : {
3022 0 : ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
3023 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3024 0 : ndr->depth++;
3025 0 : ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3026 0 : ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
3027 0 : ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
3028 0 : ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
3029 0 : ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
3030 0 : ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
3031 0 : ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
3032 0 : ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3033 0 : ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
3034 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3035 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3036 0 : ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
3037 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3038 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3039 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3040 0 : ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
3041 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3042 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3043 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3044 0 : ndr->depth--;
3045 : }
3046 :
3047 0 : static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
3048 : {
3049 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3050 0 : if (ndr_flags & NDR_SCALARS) {
3051 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3052 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
3053 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3054 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
3055 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3056 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3057 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3058 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3059 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3060 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3061 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3062 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3063 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3064 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3065 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3066 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3067 : }
3068 0 : if (ndr_flags & NDR_BUFFERS) {
3069 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
3070 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3071 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3072 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3073 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3074 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3075 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3076 : }
3077 0 : return NDR_ERR_SUCCESS;
3078 : }
3079 :
3080 0 : static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
3081 : {
3082 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3083 0 : if (ndr_flags & NDR_SCALARS) {
3084 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3085 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
3086 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3087 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
3088 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3089 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3090 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3091 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3092 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3093 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3094 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3095 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3096 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3097 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3098 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3099 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3100 : }
3101 0 : if (ndr_flags & NDR_BUFFERS) {
3102 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
3103 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3104 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3105 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3106 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3107 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3108 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3109 : }
3110 0 : return NDR_ERR_SUCCESS;
3111 : }
3112 :
3113 0 : _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
3114 : {
3115 0 : ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
3116 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3117 0 : ndr->depth++;
3118 0 : ndr_print_lsa_String(ndr, "group_name", &r->group_name);
3119 0 : ndr_print_uint32(ndr, "rid", r->rid);
3120 0 : ndr_print_uint32(ndr, "attributes", r->attributes);
3121 0 : ndr_print_lsa_String(ndr, "description", &r->description);
3122 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3123 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3124 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3125 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3126 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3127 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3128 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
3129 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3130 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3131 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3132 0 : ndr->depth--;
3133 : }
3134 :
3135 0 : static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
3136 : {
3137 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3138 0 : if (ndr_flags & NDR_SCALARS) {
3139 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3140 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
3141 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
3142 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3143 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3144 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3145 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3146 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3147 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3148 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3149 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3150 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3151 : }
3152 0 : if (ndr_flags & NDR_BUFFERS) {
3153 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
3154 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
3155 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3156 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3157 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3158 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3159 : }
3160 0 : return NDR_ERR_SUCCESS;
3161 : }
3162 :
3163 0 : static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
3164 : {
3165 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3166 0 : if (ndr_flags & NDR_SCALARS) {
3167 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3168 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
3169 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
3170 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3171 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3172 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3173 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3174 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3175 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3176 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3177 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3178 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3179 : }
3180 0 : if (ndr_flags & NDR_BUFFERS) {
3181 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
3182 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
3183 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3184 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3185 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3186 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3187 : }
3188 0 : return NDR_ERR_SUCCESS;
3189 : }
3190 :
3191 0 : _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
3192 : {
3193 0 : ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
3194 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3195 0 : ndr->depth++;
3196 0 : ndr_print_lsa_String(ndr, "OldName", &r->OldName);
3197 0 : ndr_print_lsa_String(ndr, "NewName", &r->NewName);
3198 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3199 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3200 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3201 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3202 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
3203 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3204 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3205 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3206 0 : ndr->depth--;
3207 : }
3208 :
3209 0 : static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP_MEMBER *r)
3210 : {
3211 : uint32_t cntr_rids_1;
3212 : uint32_t cntr_attribs_1;
3213 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3214 0 : if (ndr_flags & NDR_SCALARS) {
3215 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3216 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
3217 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
3218 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
3219 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3220 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3221 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3222 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3223 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3224 : }
3225 0 : if (ndr_flags & NDR_BUFFERS) {
3226 0 : if (r->rids) {
3227 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
3228 0 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->num_rids); cntr_rids_1++) {
3229 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
3230 : }
3231 : }
3232 0 : if (r->attribs) {
3233 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
3234 0 : for (cntr_attribs_1 = 0; cntr_attribs_1 < (r->num_rids); cntr_attribs_1++) {
3235 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
3236 : }
3237 : }
3238 : }
3239 0 : return NDR_ERR_SUCCESS;
3240 : }
3241 :
3242 0 : static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
3243 : {
3244 : uint32_t _ptr_rids;
3245 0 : uint32_t size_rids_1 = 0;
3246 : uint32_t cntr_rids_1;
3247 0 : TALLOC_CTX *_mem_save_rids_0 = NULL;
3248 0 : TALLOC_CTX *_mem_save_rids_1 = NULL;
3249 : uint32_t _ptr_attribs;
3250 0 : uint32_t size_attribs_1 = 0;
3251 : uint32_t cntr_attribs_1;
3252 0 : TALLOC_CTX *_mem_save_attribs_0 = NULL;
3253 0 : TALLOC_CTX *_mem_save_attribs_1 = NULL;
3254 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3255 0 : if (ndr_flags & NDR_SCALARS) {
3256 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3257 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
3258 0 : if (_ptr_rids) {
3259 0 : NDR_PULL_ALLOC(ndr, r->rids);
3260 : } else {
3261 0 : r->rids = NULL;
3262 : }
3263 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
3264 0 : if (_ptr_attribs) {
3265 0 : NDR_PULL_ALLOC(ndr, r->attribs);
3266 : } else {
3267 0 : r->attribs = NULL;
3268 : }
3269 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
3270 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3271 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3272 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3273 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3274 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3275 : }
3276 0 : if (ndr_flags & NDR_BUFFERS) {
3277 0 : if (r->rids) {
3278 0 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3279 0 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3280 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3281 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
3282 0 : NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
3283 0 : _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3284 0 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3285 0 : for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
3286 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3287 : }
3288 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3289 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3290 : }
3291 0 : if (r->attribs) {
3292 0 : _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
3293 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3294 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
3295 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attribs, &size_attribs_1));
3296 0 : NDR_PULL_ALLOC_N(ndr, r->attribs, size_attribs_1);
3297 0 : _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
3298 0 : NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3299 0 : for (cntr_attribs_1 = 0; cntr_attribs_1 < (size_attribs_1); cntr_attribs_1++) {
3300 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
3301 : }
3302 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
3303 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
3304 : }
3305 0 : if (r->rids) {
3306 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->num_rids));
3307 : }
3308 0 : if (r->attribs) {
3309 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attribs, r->num_rids));
3310 : }
3311 : }
3312 0 : return NDR_ERR_SUCCESS;
3313 : }
3314 :
3315 0 : _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
3316 : {
3317 : uint32_t cntr_rids_1;
3318 : uint32_t cntr_attribs_1;
3319 0 : ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
3320 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3321 0 : ndr->depth++;
3322 0 : ndr_print_ptr(ndr, "rids", r->rids);
3323 0 : ndr->depth++;
3324 0 : if (r->rids) {
3325 0 : ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3326 0 : ndr->depth++;
3327 0 : for (cntr_rids_1 = 0; cntr_rids_1 < (r->num_rids); cntr_rids_1++) {
3328 0 : ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3329 : }
3330 0 : ndr->depth--;
3331 : }
3332 0 : ndr->depth--;
3333 0 : ndr_print_ptr(ndr, "attribs", r->attribs);
3334 0 : ndr->depth++;
3335 0 : if (r->attribs) {
3336 0 : ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3337 0 : ndr->depth++;
3338 0 : for (cntr_attribs_1 = 0; cntr_attribs_1 < (r->num_rids); cntr_attribs_1++) {
3339 0 : ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3340 : }
3341 0 : ndr->depth--;
3342 : }
3343 0 : ndr->depth--;
3344 0 : ndr_print_uint32(ndr, "num_rids", r->num_rids);
3345 0 : ndr_print_uint32(ndr, "unknown1", r->unknown1);
3346 0 : ndr_print_uint32(ndr, "unknown2", r->unknown2);
3347 0 : ndr_print_uint32(ndr, "unknown3", r->unknown3);
3348 0 : ndr_print_uint32(ndr, "unknown4", r->unknown4);
3349 0 : ndr->depth--;
3350 : }
3351 :
3352 0 : static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3353 : {
3354 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3355 0 : if (ndr_flags & NDR_SCALARS) {
3356 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3357 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3358 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3359 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3360 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3361 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3362 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3363 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3364 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3365 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3366 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3367 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3368 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3369 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3370 : }
3371 0 : if (ndr_flags & NDR_BUFFERS) {
3372 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3373 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3374 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3375 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3376 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3377 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3378 : }
3379 0 : return NDR_ERR_SUCCESS;
3380 : }
3381 :
3382 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3383 : {
3384 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3385 0 : if (ndr_flags & NDR_SCALARS) {
3386 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3387 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3388 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3389 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3390 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3391 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3392 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3393 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3394 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3395 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3396 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3397 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3398 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3399 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3400 : }
3401 0 : if (ndr_flags & NDR_BUFFERS) {
3402 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3403 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3404 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3405 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3406 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3407 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3408 : }
3409 0 : return NDR_ERR_SUCCESS;
3410 : }
3411 :
3412 0 : _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3413 : {
3414 0 : ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3415 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3416 0 : ndr->depth++;
3417 0 : ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3418 0 : ndr_print_uint32(ndr, "rid", r->rid);
3419 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3420 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3421 0 : ndr_print_lsa_String(ndr, "description", &r->description);
3422 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3423 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3424 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3425 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
3426 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3427 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3428 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3429 0 : ndr->depth--;
3430 : }
3431 :
3432 0 : static enum ndr_err_code ndr_push_netr_DELTA_ALIAS_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS_MEMBER *r)
3433 : {
3434 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3435 0 : if (ndr_flags & NDR_SCALARS) {
3436 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3437 0 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3438 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3439 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3440 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3441 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3442 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3443 : }
3444 0 : if (ndr_flags & NDR_BUFFERS) {
3445 0 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3446 : }
3447 0 : return NDR_ERR_SUCCESS;
3448 : }
3449 :
3450 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3451 : {
3452 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3453 0 : if (ndr_flags & NDR_SCALARS) {
3454 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3455 0 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3456 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3457 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3458 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3459 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3460 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3461 : }
3462 0 : if (ndr_flags & NDR_BUFFERS) {
3463 0 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3464 : }
3465 0 : return NDR_ERR_SUCCESS;
3466 : }
3467 :
3468 0 : _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3469 : {
3470 0 : ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3471 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3472 0 : ndr->depth++;
3473 0 : ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3474 0 : ndr_print_uint32(ndr, "unknown1", r->unknown1);
3475 0 : ndr_print_uint32(ndr, "unknown2", r->unknown2);
3476 0 : ndr_print_uint32(ndr, "unknown3", r->unknown3);
3477 0 : ndr_print_uint32(ndr, "unknown4", r->unknown4);
3478 0 : ndr->depth--;
3479 : }
3480 :
3481 0 : static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3482 : {
3483 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3484 0 : if (ndr_flags & NDR_SCALARS) {
3485 0 : NDR_CHECK(ndr_push_align(ndr, 4));
3486 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3487 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3488 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3489 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3490 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3491 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3492 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3493 : }
3494 0 : if (ndr_flags & NDR_BUFFERS) {
3495 : }
3496 0 : return NDR_ERR_SUCCESS;
3497 : }
3498 :
3499 0 : static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3500 : {
3501 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3502 0 : if (ndr_flags & NDR_SCALARS) {
3503 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
3504 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3505 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3506 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3507 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3508 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3509 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3510 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3511 : }
3512 0 : if (ndr_flags & NDR_BUFFERS) {
3513 : }
3514 0 : return NDR_ERR_SUCCESS;
3515 : }
3516 :
3517 0 : _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3518 : {
3519 0 : ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3520 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3521 0 : ndr->depth++;
3522 0 : ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3523 0 : ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3524 0 : ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3525 0 : ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3526 0 : ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3527 0 : ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3528 0 : ndr->depth--;
3529 : }
3530 :
3531 0 : static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3532 : {
3533 : uint32_t cntr_eventauditoptions_1;
3534 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3535 0 : if (ndr_flags & NDR_SCALARS) {
3536 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3537 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3538 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3539 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3540 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3541 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3542 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3543 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3544 0 : NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3545 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3546 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3547 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3548 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3549 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3550 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3551 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3552 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3553 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3554 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3555 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3556 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3557 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3558 : }
3559 0 : if (ndr_flags & NDR_BUFFERS) {
3560 0 : if (r->eventauditoptions) {
3561 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3562 0 : for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (r->maxauditeventcount + 1); cntr_eventauditoptions_1++) {
3563 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3564 : }
3565 : }
3566 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3567 0 : if (r->sid) {
3568 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3569 : }
3570 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3571 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3572 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3573 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3574 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3575 : }
3576 0 : return NDR_ERR_SUCCESS;
3577 : }
3578 :
3579 0 : static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3580 : {
3581 : uint32_t _ptr_eventauditoptions;
3582 0 : uint32_t size_eventauditoptions_1 = 0;
3583 : uint32_t cntr_eventauditoptions_1;
3584 0 : TALLOC_CTX *_mem_save_eventauditoptions_0 = NULL;
3585 0 : TALLOC_CTX *_mem_save_eventauditoptions_1 = NULL;
3586 : uint32_t _ptr_sid;
3587 0 : TALLOC_CTX *_mem_save_sid_0 = NULL;
3588 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3589 0 : if (ndr_flags & NDR_SCALARS) {
3590 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3591 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3592 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3593 0 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3594 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3595 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3596 0 : if (_ptr_eventauditoptions) {
3597 0 : NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3598 : } else {
3599 0 : r->eventauditoptions = NULL;
3600 : }
3601 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3602 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3603 0 : if (_ptr_sid) {
3604 0 : NDR_PULL_ALLOC(ndr, r->sid);
3605 : } else {
3606 0 : r->sid = NULL;
3607 : }
3608 0 : NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3609 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3610 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3611 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3612 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3613 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3614 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3615 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3616 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3617 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3618 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3619 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3620 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3621 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3622 : }
3623 0 : if (ndr_flags & NDR_BUFFERS) {
3624 0 : if (r->eventauditoptions) {
3625 0 : _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3626 0 : NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3627 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3628 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->eventauditoptions, &size_eventauditoptions_1));
3629 0 : NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, size_eventauditoptions_1);
3630 0 : _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3631 0 : NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3632 0 : for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (size_eventauditoptions_1); cntr_eventauditoptions_1++) {
3633 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3634 : }
3635 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3636 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3637 : }
3638 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3639 0 : if (r->sid) {
3640 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3641 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3642 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3643 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3644 : }
3645 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3646 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3647 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3648 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3649 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3650 0 : if (r->eventauditoptions) {
3651 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3652 : }
3653 : }
3654 0 : return NDR_ERR_SUCCESS;
3655 : }
3656 :
3657 0 : _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3658 : {
3659 : uint32_t cntr_eventauditoptions_1;
3660 0 : ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3661 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3662 0 : ndr->depth++;
3663 0 : ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3664 0 : ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3665 0 : ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3666 0 : ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3667 0 : ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3668 0 : ndr->depth++;
3669 0 : if (r->eventauditoptions) {
3670 0 : ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3671 0 : ndr->depth++;
3672 0 : for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (r->maxauditeventcount + 1); cntr_eventauditoptions_1++) {
3673 0 : ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3674 : }
3675 0 : ndr->depth--;
3676 : }
3677 0 : ndr->depth--;
3678 0 : ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3679 0 : ndr_print_ptr(ndr, "sid", r->sid);
3680 0 : ndr->depth++;
3681 0 : if (r->sid) {
3682 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
3683 : }
3684 0 : ndr->depth--;
3685 0 : ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3686 0 : ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3687 0 : ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3688 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3689 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3690 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3691 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3692 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3693 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3694 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
3695 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3696 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3697 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3698 0 : ndr->depth--;
3699 : }
3700 :
3701 0 : static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3702 : {
3703 : uint32_t cntr_controller_names_1;
3704 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3705 0 : if (ndr_flags & NDR_SCALARS) {
3706 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3707 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3708 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3709 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3710 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3711 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3712 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3713 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3714 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3715 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3716 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3717 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3718 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3719 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3720 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3721 : }
3722 0 : if (ndr_flags & NDR_BUFFERS) {
3723 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3724 0 : if (r->controller_names) {
3725 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_controllers));
3726 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
3727 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3728 : }
3729 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
3730 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3731 : }
3732 : }
3733 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3734 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3735 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3736 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3737 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3738 : }
3739 0 : return NDR_ERR_SUCCESS;
3740 : }
3741 :
3742 0 : static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3743 : {
3744 : uint32_t _ptr_controller_names;
3745 0 : uint32_t size_controller_names_1 = 0;
3746 : uint32_t cntr_controller_names_1;
3747 0 : TALLOC_CTX *_mem_save_controller_names_0 = NULL;
3748 0 : TALLOC_CTX *_mem_save_controller_names_1 = NULL;
3749 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3750 0 : if (ndr_flags & NDR_SCALARS) {
3751 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3752 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3753 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3754 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3755 0 : if (_ptr_controller_names) {
3756 0 : NDR_PULL_ALLOC(ndr, r->controller_names);
3757 : } else {
3758 0 : r->controller_names = NULL;
3759 : }
3760 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3761 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3762 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3763 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3764 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3765 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3766 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3767 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3768 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3769 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3770 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3771 : }
3772 0 : if (ndr_flags & NDR_BUFFERS) {
3773 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3774 0 : if (r->controller_names) {
3775 0 : _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3776 0 : NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3777 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3778 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->controller_names, &size_controller_names_1));
3779 0 : NDR_PULL_ALLOC_N(ndr, r->controller_names, size_controller_names_1);
3780 0 : _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3781 0 : NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3782 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
3783 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3784 : }
3785 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
3786 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3787 : }
3788 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3789 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3790 : }
3791 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3792 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3793 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3794 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3795 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3796 0 : if (r->controller_names) {
3797 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3798 : }
3799 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
3800 : }
3801 : }
3802 0 : return NDR_ERR_SUCCESS;
3803 : }
3804 :
3805 0 : _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3806 : {
3807 : uint32_t cntr_controller_names_1;
3808 0 : ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3809 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3810 0 : ndr->depth++;
3811 0 : ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3812 0 : ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3813 0 : ndr_print_ptr(ndr, "controller_names", r->controller_names);
3814 0 : ndr->depth++;
3815 0 : if (r->controller_names) {
3816 0 : ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3817 0 : ndr->depth++;
3818 0 : for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
3819 0 : ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3820 : }
3821 0 : ndr->depth--;
3822 : }
3823 0 : ndr->depth--;
3824 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3825 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3826 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3827 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3828 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3829 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3830 0 : ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3831 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
3832 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
3833 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
3834 0 : ndr->depth--;
3835 : }
3836 :
3837 0 : static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3838 : {
3839 : uint32_t cntr_privilege_attrib_1;
3840 : uint32_t cntr_privilege_name_1;
3841 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3842 0 : if (ndr_flags & NDR_SCALARS) {
3843 0 : NDR_CHECK(ndr_push_align(ndr, 5));
3844 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3845 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3846 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3847 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3848 0 : NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3849 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3850 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3851 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3852 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3853 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3854 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3855 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3856 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3857 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3858 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3859 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3860 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3861 : }
3862 0 : if (ndr_flags & NDR_BUFFERS) {
3863 0 : if (r->privilege_attrib) {
3864 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3865 0 : for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (r->privilege_entries); cntr_privilege_attrib_1++) {
3866 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3867 : }
3868 : }
3869 0 : if (r->privilege_name) {
3870 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3871 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
3872 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3873 : }
3874 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
3875 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3876 : }
3877 : }
3878 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3879 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3880 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3881 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3882 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3883 : }
3884 0 : return NDR_ERR_SUCCESS;
3885 : }
3886 :
3887 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3888 : {
3889 : uint32_t _ptr_privilege_attrib;
3890 0 : uint32_t size_privilege_attrib_1 = 0;
3891 : uint32_t cntr_privilege_attrib_1;
3892 0 : TALLOC_CTX *_mem_save_privilege_attrib_0 = NULL;
3893 0 : TALLOC_CTX *_mem_save_privilege_attrib_1 = NULL;
3894 : uint32_t _ptr_privilege_name;
3895 0 : uint32_t size_privilege_name_1 = 0;
3896 : uint32_t cntr_privilege_name_1;
3897 0 : TALLOC_CTX *_mem_save_privilege_name_0 = NULL;
3898 0 : TALLOC_CTX *_mem_save_privilege_name_1 = NULL;
3899 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3900 0 : if (ndr_flags & NDR_SCALARS) {
3901 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
3902 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3903 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3904 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3905 0 : if (_ptr_privilege_attrib) {
3906 0 : NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3907 : } else {
3908 0 : r->privilege_attrib = NULL;
3909 : }
3910 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3911 0 : if (_ptr_privilege_name) {
3912 0 : NDR_PULL_ALLOC(ndr, r->privilege_name);
3913 : } else {
3914 0 : r->privilege_name = NULL;
3915 : }
3916 0 : NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3917 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3918 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3919 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3920 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3921 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3922 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3923 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3924 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3925 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3926 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3927 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3928 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3929 : }
3930 0 : if (ndr_flags & NDR_BUFFERS) {
3931 0 : if (r->privilege_attrib) {
3932 0 : _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3933 0 : NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3934 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3935 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->privilege_attrib, &size_privilege_attrib_1));
3936 0 : NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, size_privilege_attrib_1);
3937 0 : _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3938 0 : NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3939 0 : for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (size_privilege_attrib_1); cntr_privilege_attrib_1++) {
3940 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3941 : }
3942 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3943 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3944 : }
3945 0 : if (r->privilege_name) {
3946 0 : _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3947 0 : NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3948 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3949 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->privilege_name, &size_privilege_name_1));
3950 0 : NDR_PULL_ALLOC_N(ndr, r->privilege_name, size_privilege_name_1);
3951 0 : _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3952 0 : NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3953 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
3954 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3955 : }
3956 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
3957 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3958 : }
3959 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3960 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3961 : }
3962 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3963 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3964 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3965 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3966 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3967 0 : if (r->privilege_attrib) {
3968 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3969 : }
3970 0 : if (r->privilege_name) {
3971 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3972 : }
3973 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
3974 : }
3975 : }
3976 0 : return NDR_ERR_SUCCESS;
3977 : }
3978 :
3979 0 : _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3980 : {
3981 : uint32_t cntr_privilege_attrib_1;
3982 : uint32_t cntr_privilege_name_1;
3983 0 : ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3984 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3985 0 : ndr->depth++;
3986 0 : ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3987 0 : ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3988 0 : ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3989 0 : ndr->depth++;
3990 0 : if (r->privilege_attrib) {
3991 0 : ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3992 0 : ndr->depth++;
3993 0 : for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (r->privilege_entries); cntr_privilege_attrib_1++) {
3994 0 : ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3995 : }
3996 0 : ndr->depth--;
3997 : }
3998 0 : ndr->depth--;
3999 0 : ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
4000 0 : ndr->depth++;
4001 0 : if (r->privilege_name) {
4002 0 : ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
4003 0 : ndr->depth++;
4004 0 : for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
4005 0 : ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
4006 : }
4007 0 : ndr->depth--;
4008 : }
4009 0 : ndr->depth--;
4010 0 : ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
4011 0 : ndr_print_uint32(ndr, "system_flags", r->system_flags);
4012 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
4013 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
4014 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
4015 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
4016 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
4017 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
4018 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
4019 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
4020 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
4021 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
4022 0 : ndr->depth--;
4023 : }
4024 :
4025 0 : static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
4026 : {
4027 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4028 0 : if (ndr_flags & NDR_SCALARS) {
4029 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4030 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
4031 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
4032 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
4033 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4034 : }
4035 0 : if (ndr_flags & NDR_BUFFERS) {
4036 0 : if (r->cipher_data) {
4037 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxlen));
4038 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4039 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
4040 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
4041 : }
4042 : }
4043 0 : return NDR_ERR_SUCCESS;
4044 : }
4045 :
4046 0 : static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
4047 : {
4048 : uint32_t _ptr_cipher_data;
4049 0 : uint32_t size_cipher_data_1 = 0;
4050 0 : uint32_t length_cipher_data_1 = 0;
4051 0 : TALLOC_CTX *_mem_save_cipher_data_0 = NULL;
4052 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4053 0 : if (ndr_flags & NDR_SCALARS) {
4054 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4055 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
4056 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
4057 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
4058 0 : if (_ptr_cipher_data) {
4059 0 : NDR_PULL_ALLOC(ndr, r->cipher_data);
4060 : } else {
4061 0 : r->cipher_data = NULL;
4062 : }
4063 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4064 : }
4065 0 : if (ndr_flags & NDR_BUFFERS) {
4066 0 : if (r->cipher_data) {
4067 0 : _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4068 0 : NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
4069 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
4070 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
4071 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cipher_data, &size_cipher_data_1));
4072 0 : NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->cipher_data, &length_cipher_data_1));
4073 0 : if (length_cipher_data_1 > size_cipher_data_1) {
4074 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_cipher_data_1, length_cipher_data_1);
4075 : }
4076 0 : NDR_PULL_ALLOC_N(ndr, r->cipher_data, size_cipher_data_1);
4077 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, length_cipher_data_1));
4078 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
4079 : }
4080 0 : if (r->cipher_data) {
4081 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
4082 : }
4083 0 : if (r->cipher_data) {
4084 0 : NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->cipher_data, r->len));
4085 : }
4086 : }
4087 0 : return NDR_ERR_SUCCESS;
4088 : }
4089 :
4090 0 : _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
4091 : {
4092 0 : ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
4093 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4094 0 : ndr->depth++;
4095 0 : ndr_print_uint32(ndr, "len", r->len);
4096 0 : ndr_print_uint32(ndr, "maxlen", r->maxlen);
4097 0 : ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
4098 0 : ndr->depth++;
4099 0 : if (r->cipher_data) {
4100 0 : ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
4101 : }
4102 0 : ndr->depth--;
4103 0 : ndr->depth--;
4104 : }
4105 :
4106 0 : static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
4107 : {
4108 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4109 0 : if (ndr_flags & NDR_SCALARS) {
4110 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4111 0 : NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
4112 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
4113 0 : NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
4114 0 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
4115 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
4116 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
4117 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
4118 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
4119 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
4120 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
4121 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
4122 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
4123 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
4124 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
4125 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4126 : }
4127 0 : if (ndr_flags & NDR_BUFFERS) {
4128 0 : NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
4129 0 : NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
4130 0 : NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
4131 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
4132 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
4133 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
4134 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
4135 : }
4136 0 : return NDR_ERR_SUCCESS;
4137 : }
4138 :
4139 0 : static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
4140 : {
4141 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4142 0 : if (ndr_flags & NDR_SCALARS) {
4143 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4144 0 : NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
4145 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
4146 0 : NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
4147 0 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
4148 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
4149 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
4150 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
4151 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
4152 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
4153 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
4154 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
4155 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
4156 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
4157 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
4158 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4159 : }
4160 0 : if (ndr_flags & NDR_BUFFERS) {
4161 0 : NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
4162 0 : NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
4163 0 : NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
4164 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
4165 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
4166 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
4167 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
4168 : }
4169 0 : return NDR_ERR_SUCCESS;
4170 : }
4171 :
4172 0 : _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
4173 : {
4174 0 : ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
4175 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4176 0 : ndr->depth++;
4177 0 : ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
4178 0 : ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
4179 0 : ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
4180 0 : ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
4181 0 : ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
4182 0 : ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
4183 0 : ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
4184 0 : ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
4185 0 : ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
4186 0 : ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
4187 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
4188 0 : ndr_print_uint32(ndr, "unknown6", r->unknown6);
4189 0 : ndr_print_uint32(ndr, "unknown7", r->unknown7);
4190 0 : ndr_print_uint32(ndr, "unknown8", r->unknown8);
4191 0 : ndr->depth--;
4192 : }
4193 :
4194 0 : static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
4195 : {
4196 0 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
4197 0 : return NDR_ERR_SUCCESS;
4198 : }
4199 :
4200 0 : static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
4201 : {
4202 : uint16_t v;
4203 0 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
4204 0 : *r = v;
4205 0 : return NDR_ERR_SUCCESS;
4206 : }
4207 :
4208 0 : _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
4209 : {
4210 0 : const char *val = NULL;
4211 :
4212 0 : switch (r) {
4213 0 : case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
4214 0 : case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
4215 0 : case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
4216 0 : case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
4217 0 : case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
4218 0 : case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
4219 0 : case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
4220 0 : case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
4221 0 : case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
4222 0 : case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
4223 0 : case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
4224 0 : case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
4225 0 : case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
4226 0 : case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
4227 0 : case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
4228 0 : case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
4229 0 : case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
4230 0 : case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
4231 0 : case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
4232 0 : case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
4233 0 : case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
4234 0 : case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
4235 : }
4236 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
4237 0 : }
4238 :
4239 0 : static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
4240 : {
4241 : uint32_t level;
4242 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4243 0 : if (ndr_flags & NDR_SCALARS) {
4244 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4245 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4246 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
4247 0 : NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4248 : /* ms_union is always aligned to the largest union arm*/
4249 0 : NDR_CHECK(ndr_push_align(ndr, 5));
4250 0 : switch (level) {
4251 0 : case NETR_DELTA_DOMAIN: {
4252 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4253 0 : break; }
4254 :
4255 0 : case NETR_DELTA_GROUP: {
4256 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
4257 0 : break; }
4258 :
4259 0 : case NETR_DELTA_DELETE_GROUP: {
4260 0 : break; }
4261 :
4262 0 : case NETR_DELTA_RENAME_GROUP: {
4263 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4264 0 : break; }
4265 :
4266 0 : case NETR_DELTA_USER: {
4267 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4268 0 : break; }
4269 :
4270 0 : case NETR_DELTA_DELETE_USER: {
4271 0 : break; }
4272 :
4273 0 : case NETR_DELTA_RENAME_USER: {
4274 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4275 0 : break; }
4276 :
4277 0 : case NETR_DELTA_GROUP_MEMBER: {
4278 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4279 0 : break; }
4280 :
4281 0 : case NETR_DELTA_ALIAS: {
4282 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4283 0 : break; }
4284 :
4285 0 : case NETR_DELTA_DELETE_ALIAS: {
4286 0 : break; }
4287 :
4288 0 : case NETR_DELTA_RENAME_ALIAS: {
4289 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4290 0 : break; }
4291 :
4292 0 : case NETR_DELTA_ALIAS_MEMBER: {
4293 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4294 0 : break; }
4295 :
4296 0 : case NETR_DELTA_POLICY: {
4297 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4298 0 : break; }
4299 :
4300 0 : case NETR_DELTA_TRUSTED_DOMAIN: {
4301 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4302 0 : break; }
4303 :
4304 0 : case NETR_DELTA_DELETE_TRUST: {
4305 0 : break; }
4306 :
4307 0 : case NETR_DELTA_ACCOUNT: {
4308 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4309 0 : break; }
4310 :
4311 0 : case NETR_DELTA_DELETE_ACCOUNT: {
4312 0 : break; }
4313 :
4314 0 : case NETR_DELTA_SECRET: {
4315 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4316 0 : break; }
4317 :
4318 0 : case NETR_DELTA_DELETE_SECRET: {
4319 0 : break; }
4320 :
4321 0 : case NETR_DELTA_DELETE_GROUP2: {
4322 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4323 0 : break; }
4324 :
4325 0 : case NETR_DELTA_DELETE_USER2: {
4326 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4327 0 : break; }
4328 :
4329 0 : case NETR_DELTA_MODIFY_COUNT: {
4330 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4331 0 : break; }
4332 :
4333 0 : default: {
4334 0 : break; }
4335 :
4336 : }
4337 0 : }
4338 0 : if (ndr_flags & NDR_BUFFERS) {
4339 0 : if (!(ndr_flags & NDR_SCALARS)) {
4340 : /* We didn't get it above, and the token is not needed after this. */
4341 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
4342 : }
4343 0 : switch (level) {
4344 0 : case NETR_DELTA_DOMAIN:
4345 0 : if (r->domain) {
4346 0 : NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4347 : }
4348 0 : break;
4349 :
4350 0 : case NETR_DELTA_GROUP:
4351 0 : if (r->group) {
4352 0 : NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4353 : }
4354 0 : break;
4355 :
4356 0 : case NETR_DELTA_DELETE_GROUP:
4357 0 : break;
4358 :
4359 0 : case NETR_DELTA_RENAME_GROUP:
4360 0 : if (r->rename_group) {
4361 0 : NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4362 : }
4363 0 : break;
4364 :
4365 0 : case NETR_DELTA_USER:
4366 0 : if (r->user) {
4367 0 : NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4368 : }
4369 0 : break;
4370 :
4371 0 : case NETR_DELTA_DELETE_USER:
4372 0 : break;
4373 :
4374 0 : case NETR_DELTA_RENAME_USER:
4375 0 : if (r->rename_user) {
4376 0 : NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4377 : }
4378 0 : break;
4379 :
4380 0 : case NETR_DELTA_GROUP_MEMBER:
4381 0 : if (r->group_member) {
4382 0 : NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4383 : }
4384 0 : break;
4385 :
4386 0 : case NETR_DELTA_ALIAS:
4387 0 : if (r->alias) {
4388 0 : NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4389 : }
4390 0 : break;
4391 :
4392 0 : case NETR_DELTA_DELETE_ALIAS:
4393 0 : break;
4394 :
4395 0 : case NETR_DELTA_RENAME_ALIAS:
4396 0 : if (r->rename_alias) {
4397 0 : NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4398 : }
4399 0 : break;
4400 :
4401 0 : case NETR_DELTA_ALIAS_MEMBER:
4402 0 : if (r->alias_member) {
4403 0 : NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4404 : }
4405 0 : break;
4406 :
4407 0 : case NETR_DELTA_POLICY:
4408 0 : if (r->policy) {
4409 0 : NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4410 : }
4411 0 : break;
4412 :
4413 0 : case NETR_DELTA_TRUSTED_DOMAIN:
4414 0 : if (r->trusted_domain) {
4415 0 : NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4416 : }
4417 0 : break;
4418 :
4419 0 : case NETR_DELTA_DELETE_TRUST:
4420 0 : break;
4421 :
4422 0 : case NETR_DELTA_ACCOUNT:
4423 0 : if (r->account) {
4424 0 : NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4425 : }
4426 0 : break;
4427 :
4428 0 : case NETR_DELTA_DELETE_ACCOUNT:
4429 0 : break;
4430 :
4431 0 : case NETR_DELTA_SECRET:
4432 0 : if (r->secret) {
4433 0 : NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4434 : }
4435 0 : break;
4436 :
4437 0 : case NETR_DELTA_DELETE_SECRET:
4438 0 : break;
4439 :
4440 0 : case NETR_DELTA_DELETE_GROUP2:
4441 0 : if (r->delete_group) {
4442 0 : NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4443 : }
4444 0 : break;
4445 :
4446 0 : case NETR_DELTA_DELETE_USER2:
4447 0 : if (r->delete_user) {
4448 0 : NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4449 : }
4450 0 : break;
4451 :
4452 0 : case NETR_DELTA_MODIFY_COUNT:
4453 0 : if (r->modified_count) {
4454 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4455 : }
4456 0 : break;
4457 :
4458 0 : default:
4459 0 : break;
4460 :
4461 : }
4462 0 : }
4463 0 : return NDR_ERR_SUCCESS;
4464 : }
4465 :
4466 0 : static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4467 : {
4468 : uint32_t level;
4469 : uint16_t _level;
4470 0 : TALLOC_CTX *_mem_save_domain_0 = NULL;
4471 : uint32_t _ptr_domain;
4472 0 : TALLOC_CTX *_mem_save_group_0 = NULL;
4473 : uint32_t _ptr_group;
4474 0 : TALLOC_CTX *_mem_save_rename_group_0 = NULL;
4475 : uint32_t _ptr_rename_group;
4476 0 : TALLOC_CTX *_mem_save_user_0 = NULL;
4477 : uint32_t _ptr_user;
4478 0 : TALLOC_CTX *_mem_save_rename_user_0 = NULL;
4479 : uint32_t _ptr_rename_user;
4480 0 : TALLOC_CTX *_mem_save_group_member_0 = NULL;
4481 : uint32_t _ptr_group_member;
4482 0 : TALLOC_CTX *_mem_save_alias_0 = NULL;
4483 : uint32_t _ptr_alias;
4484 0 : TALLOC_CTX *_mem_save_rename_alias_0 = NULL;
4485 : uint32_t _ptr_rename_alias;
4486 0 : TALLOC_CTX *_mem_save_alias_member_0 = NULL;
4487 : uint32_t _ptr_alias_member;
4488 0 : TALLOC_CTX *_mem_save_policy_0 = NULL;
4489 : uint32_t _ptr_policy;
4490 0 : TALLOC_CTX *_mem_save_trusted_domain_0 = NULL;
4491 : uint32_t _ptr_trusted_domain;
4492 0 : TALLOC_CTX *_mem_save_account_0 = NULL;
4493 : uint32_t _ptr_account;
4494 0 : TALLOC_CTX *_mem_save_secret_0 = NULL;
4495 : uint32_t _ptr_secret;
4496 0 : TALLOC_CTX *_mem_save_delete_group_0 = NULL;
4497 : uint32_t _ptr_delete_group;
4498 0 : TALLOC_CTX *_mem_save_delete_user_0 = NULL;
4499 : uint32_t _ptr_delete_user;
4500 0 : TALLOC_CTX *_mem_save_modified_count_0 = NULL;
4501 : uint32_t _ptr_modified_count;
4502 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4503 0 : if (ndr_flags & NDR_SCALARS) {
4504 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
4505 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4506 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
4507 0 : NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
4508 0 : if (_level != level) {
4509 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4510 : }
4511 : /* ms_union is always aligned to the largest union arm*/
4512 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
4513 0 : switch (level) {
4514 0 : case NETR_DELTA_DOMAIN: {
4515 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4516 0 : if (_ptr_domain) {
4517 0 : NDR_PULL_ALLOC(ndr, r->domain);
4518 : } else {
4519 0 : r->domain = NULL;
4520 : }
4521 0 : break; }
4522 :
4523 0 : case NETR_DELTA_GROUP: {
4524 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4525 0 : if (_ptr_group) {
4526 0 : NDR_PULL_ALLOC(ndr, r->group);
4527 : } else {
4528 0 : r->group = NULL;
4529 : }
4530 0 : break; }
4531 :
4532 0 : case NETR_DELTA_DELETE_GROUP: {
4533 0 : break; }
4534 :
4535 0 : case NETR_DELTA_RENAME_GROUP: {
4536 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4537 0 : if (_ptr_rename_group) {
4538 0 : NDR_PULL_ALLOC(ndr, r->rename_group);
4539 : } else {
4540 0 : r->rename_group = NULL;
4541 : }
4542 0 : break; }
4543 :
4544 0 : case NETR_DELTA_USER: {
4545 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4546 0 : if (_ptr_user) {
4547 0 : NDR_PULL_ALLOC(ndr, r->user);
4548 : } else {
4549 0 : r->user = NULL;
4550 : }
4551 0 : break; }
4552 :
4553 0 : case NETR_DELTA_DELETE_USER: {
4554 0 : break; }
4555 :
4556 0 : case NETR_DELTA_RENAME_USER: {
4557 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4558 0 : if (_ptr_rename_user) {
4559 0 : NDR_PULL_ALLOC(ndr, r->rename_user);
4560 : } else {
4561 0 : r->rename_user = NULL;
4562 : }
4563 0 : break; }
4564 :
4565 0 : case NETR_DELTA_GROUP_MEMBER: {
4566 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4567 0 : if (_ptr_group_member) {
4568 0 : NDR_PULL_ALLOC(ndr, r->group_member);
4569 : } else {
4570 0 : r->group_member = NULL;
4571 : }
4572 0 : break; }
4573 :
4574 0 : case NETR_DELTA_ALIAS: {
4575 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4576 0 : if (_ptr_alias) {
4577 0 : NDR_PULL_ALLOC(ndr, r->alias);
4578 : } else {
4579 0 : r->alias = NULL;
4580 : }
4581 0 : break; }
4582 :
4583 0 : case NETR_DELTA_DELETE_ALIAS: {
4584 0 : break; }
4585 :
4586 0 : case NETR_DELTA_RENAME_ALIAS: {
4587 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4588 0 : if (_ptr_rename_alias) {
4589 0 : NDR_PULL_ALLOC(ndr, r->rename_alias);
4590 : } else {
4591 0 : r->rename_alias = NULL;
4592 : }
4593 0 : break; }
4594 :
4595 0 : case NETR_DELTA_ALIAS_MEMBER: {
4596 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4597 0 : if (_ptr_alias_member) {
4598 0 : NDR_PULL_ALLOC(ndr, r->alias_member);
4599 : } else {
4600 0 : r->alias_member = NULL;
4601 : }
4602 0 : break; }
4603 :
4604 0 : case NETR_DELTA_POLICY: {
4605 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4606 0 : if (_ptr_policy) {
4607 0 : NDR_PULL_ALLOC(ndr, r->policy);
4608 : } else {
4609 0 : r->policy = NULL;
4610 : }
4611 0 : break; }
4612 :
4613 0 : case NETR_DELTA_TRUSTED_DOMAIN: {
4614 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4615 0 : if (_ptr_trusted_domain) {
4616 0 : NDR_PULL_ALLOC(ndr, r->trusted_domain);
4617 : } else {
4618 0 : r->trusted_domain = NULL;
4619 : }
4620 0 : break; }
4621 :
4622 0 : case NETR_DELTA_DELETE_TRUST: {
4623 0 : break; }
4624 :
4625 0 : case NETR_DELTA_ACCOUNT: {
4626 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4627 0 : if (_ptr_account) {
4628 0 : NDR_PULL_ALLOC(ndr, r->account);
4629 : } else {
4630 0 : r->account = NULL;
4631 : }
4632 0 : break; }
4633 :
4634 0 : case NETR_DELTA_DELETE_ACCOUNT: {
4635 0 : break; }
4636 :
4637 0 : case NETR_DELTA_SECRET: {
4638 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4639 0 : if (_ptr_secret) {
4640 0 : NDR_PULL_ALLOC(ndr, r->secret);
4641 : } else {
4642 0 : r->secret = NULL;
4643 : }
4644 0 : break; }
4645 :
4646 0 : case NETR_DELTA_DELETE_SECRET: {
4647 0 : break; }
4648 :
4649 0 : case NETR_DELTA_DELETE_GROUP2: {
4650 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4651 0 : if (_ptr_delete_group) {
4652 0 : NDR_PULL_ALLOC(ndr, r->delete_group);
4653 : } else {
4654 0 : r->delete_group = NULL;
4655 : }
4656 0 : break; }
4657 :
4658 0 : case NETR_DELTA_DELETE_USER2: {
4659 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4660 0 : if (_ptr_delete_user) {
4661 0 : NDR_PULL_ALLOC(ndr, r->delete_user);
4662 : } else {
4663 0 : r->delete_user = NULL;
4664 : }
4665 0 : break; }
4666 :
4667 0 : case NETR_DELTA_MODIFY_COUNT: {
4668 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4669 0 : if (_ptr_modified_count) {
4670 0 : NDR_PULL_ALLOC(ndr, r->modified_count);
4671 : } else {
4672 0 : r->modified_count = NULL;
4673 : }
4674 0 : break; }
4675 :
4676 0 : default: {
4677 0 : break; }
4678 :
4679 : }
4680 0 : }
4681 0 : if (ndr_flags & NDR_BUFFERS) {
4682 0 : if (!(ndr_flags & NDR_SCALARS)) {
4683 : /* We didn't get it above, and the token is not needed after this. */
4684 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
4685 : }
4686 0 : switch (level) {
4687 0 : case NETR_DELTA_DOMAIN:
4688 0 : if (r->domain) {
4689 0 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4690 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4691 0 : NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4692 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4693 : }
4694 0 : break;
4695 :
4696 0 : case NETR_DELTA_GROUP:
4697 0 : if (r->group) {
4698 0 : _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4699 0 : NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4700 0 : NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4701 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4702 : }
4703 0 : break;
4704 :
4705 0 : case NETR_DELTA_DELETE_GROUP:
4706 0 : break;
4707 :
4708 0 : case NETR_DELTA_RENAME_GROUP:
4709 0 : if (r->rename_group) {
4710 0 : _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4711 0 : NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4712 0 : NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4713 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4714 : }
4715 0 : break;
4716 :
4717 0 : case NETR_DELTA_USER:
4718 0 : if (r->user) {
4719 0 : _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4720 0 : NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4721 0 : NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4722 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4723 : }
4724 0 : break;
4725 :
4726 0 : case NETR_DELTA_DELETE_USER:
4727 0 : break;
4728 :
4729 0 : case NETR_DELTA_RENAME_USER:
4730 0 : if (r->rename_user) {
4731 0 : _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4732 0 : NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4733 0 : NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4734 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4735 : }
4736 0 : break;
4737 :
4738 0 : case NETR_DELTA_GROUP_MEMBER:
4739 0 : if (r->group_member) {
4740 0 : _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4741 0 : NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4742 0 : NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4743 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4744 : }
4745 0 : break;
4746 :
4747 0 : case NETR_DELTA_ALIAS:
4748 0 : if (r->alias) {
4749 0 : _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4750 0 : NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4751 0 : NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4752 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4753 : }
4754 0 : break;
4755 :
4756 0 : case NETR_DELTA_DELETE_ALIAS:
4757 0 : break;
4758 :
4759 0 : case NETR_DELTA_RENAME_ALIAS:
4760 0 : if (r->rename_alias) {
4761 0 : _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4762 0 : NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4763 0 : NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4764 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4765 : }
4766 0 : break;
4767 :
4768 0 : case NETR_DELTA_ALIAS_MEMBER:
4769 0 : if (r->alias_member) {
4770 0 : _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4771 0 : NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4772 0 : NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4773 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4774 : }
4775 0 : break;
4776 :
4777 0 : case NETR_DELTA_POLICY:
4778 0 : if (r->policy) {
4779 0 : _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4780 0 : NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4781 0 : NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4782 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4783 : }
4784 0 : break;
4785 :
4786 0 : case NETR_DELTA_TRUSTED_DOMAIN:
4787 0 : if (r->trusted_domain) {
4788 0 : _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4789 0 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4790 0 : NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4791 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4792 : }
4793 0 : break;
4794 :
4795 0 : case NETR_DELTA_DELETE_TRUST:
4796 0 : break;
4797 :
4798 0 : case NETR_DELTA_ACCOUNT:
4799 0 : if (r->account) {
4800 0 : _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4801 0 : NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4802 0 : NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4803 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4804 : }
4805 0 : break;
4806 :
4807 0 : case NETR_DELTA_DELETE_ACCOUNT:
4808 0 : break;
4809 :
4810 0 : case NETR_DELTA_SECRET:
4811 0 : if (r->secret) {
4812 0 : _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4813 0 : NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4814 0 : NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4815 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4816 : }
4817 0 : break;
4818 :
4819 0 : case NETR_DELTA_DELETE_SECRET:
4820 0 : break;
4821 :
4822 0 : case NETR_DELTA_DELETE_GROUP2:
4823 0 : if (r->delete_group) {
4824 0 : _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4825 0 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4826 0 : NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4827 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4828 : }
4829 0 : break;
4830 :
4831 0 : case NETR_DELTA_DELETE_USER2:
4832 0 : if (r->delete_user) {
4833 0 : _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4834 0 : NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4835 0 : NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4836 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4837 : }
4838 0 : break;
4839 :
4840 0 : case NETR_DELTA_MODIFY_COUNT:
4841 0 : if (r->modified_count) {
4842 0 : _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4843 0 : NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4844 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4845 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4846 : }
4847 0 : break;
4848 :
4849 0 : default:
4850 0 : break;
4851 :
4852 : }
4853 0 : }
4854 0 : return NDR_ERR_SUCCESS;
4855 : }
4856 :
4857 0 : _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4858 : {
4859 : uint32_t level;
4860 0 : level = ndr_print_steal_switch_value(ndr, r);
4861 0 : ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4862 0 : switch (level) {
4863 0 : case NETR_DELTA_DOMAIN:
4864 0 : ndr_print_ptr(ndr, "domain", r->domain);
4865 0 : ndr->depth++;
4866 0 : if (r->domain) {
4867 0 : ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4868 : }
4869 0 : ndr->depth--;
4870 0 : break;
4871 :
4872 0 : case NETR_DELTA_GROUP:
4873 0 : ndr_print_ptr(ndr, "group", r->group);
4874 0 : ndr->depth++;
4875 0 : if (r->group) {
4876 0 : ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4877 : }
4878 0 : ndr->depth--;
4879 0 : break;
4880 :
4881 0 : case NETR_DELTA_DELETE_GROUP:
4882 0 : break;
4883 :
4884 0 : case NETR_DELTA_RENAME_GROUP:
4885 0 : ndr_print_ptr(ndr, "rename_group", r->rename_group);
4886 0 : ndr->depth++;
4887 0 : if (r->rename_group) {
4888 0 : ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4889 : }
4890 0 : ndr->depth--;
4891 0 : break;
4892 :
4893 0 : case NETR_DELTA_USER:
4894 0 : ndr_print_ptr(ndr, "user", r->user);
4895 0 : ndr->depth++;
4896 0 : if (r->user) {
4897 0 : ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4898 : }
4899 0 : ndr->depth--;
4900 0 : break;
4901 :
4902 0 : case NETR_DELTA_DELETE_USER:
4903 0 : break;
4904 :
4905 0 : case NETR_DELTA_RENAME_USER:
4906 0 : ndr_print_ptr(ndr, "rename_user", r->rename_user);
4907 0 : ndr->depth++;
4908 0 : if (r->rename_user) {
4909 0 : ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4910 : }
4911 0 : ndr->depth--;
4912 0 : break;
4913 :
4914 0 : case NETR_DELTA_GROUP_MEMBER:
4915 0 : ndr_print_ptr(ndr, "group_member", r->group_member);
4916 0 : ndr->depth++;
4917 0 : if (r->group_member) {
4918 0 : ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4919 : }
4920 0 : ndr->depth--;
4921 0 : break;
4922 :
4923 0 : case NETR_DELTA_ALIAS:
4924 0 : ndr_print_ptr(ndr, "alias", r->alias);
4925 0 : ndr->depth++;
4926 0 : if (r->alias) {
4927 0 : ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4928 : }
4929 0 : ndr->depth--;
4930 0 : break;
4931 :
4932 0 : case NETR_DELTA_DELETE_ALIAS:
4933 0 : break;
4934 :
4935 0 : case NETR_DELTA_RENAME_ALIAS:
4936 0 : ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4937 0 : ndr->depth++;
4938 0 : if (r->rename_alias) {
4939 0 : ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4940 : }
4941 0 : ndr->depth--;
4942 0 : break;
4943 :
4944 0 : case NETR_DELTA_ALIAS_MEMBER:
4945 0 : ndr_print_ptr(ndr, "alias_member", r->alias_member);
4946 0 : ndr->depth++;
4947 0 : if (r->alias_member) {
4948 0 : ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4949 : }
4950 0 : ndr->depth--;
4951 0 : break;
4952 :
4953 0 : case NETR_DELTA_POLICY:
4954 0 : ndr_print_ptr(ndr, "policy", r->policy);
4955 0 : ndr->depth++;
4956 0 : if (r->policy) {
4957 0 : ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4958 : }
4959 0 : ndr->depth--;
4960 0 : break;
4961 :
4962 0 : case NETR_DELTA_TRUSTED_DOMAIN:
4963 0 : ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4964 0 : ndr->depth++;
4965 0 : if (r->trusted_domain) {
4966 0 : ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4967 : }
4968 0 : ndr->depth--;
4969 0 : break;
4970 :
4971 0 : case NETR_DELTA_DELETE_TRUST:
4972 0 : break;
4973 :
4974 0 : case NETR_DELTA_ACCOUNT:
4975 0 : ndr_print_ptr(ndr, "account", r->account);
4976 0 : ndr->depth++;
4977 0 : if (r->account) {
4978 0 : ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4979 : }
4980 0 : ndr->depth--;
4981 0 : break;
4982 :
4983 0 : case NETR_DELTA_DELETE_ACCOUNT:
4984 0 : break;
4985 :
4986 0 : case NETR_DELTA_SECRET:
4987 0 : ndr_print_ptr(ndr, "secret", r->secret);
4988 0 : ndr->depth++;
4989 0 : if (r->secret) {
4990 0 : ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4991 : }
4992 0 : ndr->depth--;
4993 0 : break;
4994 :
4995 0 : case NETR_DELTA_DELETE_SECRET:
4996 0 : break;
4997 :
4998 0 : case NETR_DELTA_DELETE_GROUP2:
4999 0 : ndr_print_ptr(ndr, "delete_group", r->delete_group);
5000 0 : ndr->depth++;
5001 0 : if (r->delete_group) {
5002 0 : ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
5003 : }
5004 0 : ndr->depth--;
5005 0 : break;
5006 :
5007 0 : case NETR_DELTA_DELETE_USER2:
5008 0 : ndr_print_ptr(ndr, "delete_user", r->delete_user);
5009 0 : ndr->depth++;
5010 0 : if (r->delete_user) {
5011 0 : ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
5012 : }
5013 0 : ndr->depth--;
5014 0 : break;
5015 :
5016 0 : case NETR_DELTA_MODIFY_COUNT:
5017 0 : ndr_print_ptr(ndr, "modified_count", r->modified_count);
5018 0 : ndr->depth++;
5019 0 : if (r->modified_count) {
5020 0 : ndr_print_udlong(ndr, "modified_count", *r->modified_count);
5021 : }
5022 0 : ndr->depth--;
5023 0 : break;
5024 :
5025 0 : default:
5026 0 : break;
5027 :
5028 : }
5029 0 : }
5030 :
5031 0 : static enum ndr_err_code ndr_push_netr_DELTA_ID_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_ID_UNION *r)
5032 : {
5033 : uint32_t level;
5034 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5035 0 : if (ndr_flags & NDR_SCALARS) {
5036 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5037 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5038 0 : NDR_CHECK(ndr_push_union_align(ndr, 5));
5039 0 : NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
5040 : /* ms_union is always aligned to the largest union arm*/
5041 0 : NDR_CHECK(ndr_push_align(ndr, 5));
5042 0 : switch (level) {
5043 0 : case NETR_DELTA_DOMAIN: {
5044 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5045 0 : break; }
5046 :
5047 0 : case NETR_DELTA_GROUP: {
5048 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5049 0 : break; }
5050 :
5051 0 : case NETR_DELTA_DELETE_GROUP: {
5052 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5053 0 : break; }
5054 :
5055 0 : case NETR_DELTA_RENAME_GROUP: {
5056 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5057 0 : break; }
5058 :
5059 0 : case NETR_DELTA_USER: {
5060 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5061 0 : break; }
5062 :
5063 0 : case NETR_DELTA_DELETE_USER: {
5064 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5065 0 : break; }
5066 :
5067 0 : case NETR_DELTA_RENAME_USER: {
5068 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5069 0 : break; }
5070 :
5071 0 : case NETR_DELTA_GROUP_MEMBER: {
5072 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5073 0 : break; }
5074 :
5075 0 : case NETR_DELTA_ALIAS: {
5076 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5077 0 : break; }
5078 :
5079 0 : case NETR_DELTA_DELETE_ALIAS: {
5080 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5081 0 : break; }
5082 :
5083 0 : case NETR_DELTA_RENAME_ALIAS: {
5084 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5085 0 : break; }
5086 :
5087 0 : case NETR_DELTA_ALIAS_MEMBER: {
5088 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5089 0 : break; }
5090 :
5091 0 : case NETR_DELTA_POLICY: {
5092 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
5093 0 : break; }
5094 :
5095 0 : case NETR_DELTA_TRUSTED_DOMAIN: {
5096 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
5097 0 : break; }
5098 :
5099 0 : case NETR_DELTA_DELETE_TRUST: {
5100 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
5101 0 : break; }
5102 :
5103 0 : case NETR_DELTA_ACCOUNT: {
5104 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
5105 0 : break; }
5106 :
5107 0 : case NETR_DELTA_DELETE_ACCOUNT: {
5108 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
5109 0 : break; }
5110 :
5111 0 : case NETR_DELTA_SECRET: {
5112 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
5113 0 : break; }
5114 :
5115 0 : case NETR_DELTA_DELETE_SECRET: {
5116 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
5117 0 : break; }
5118 :
5119 0 : case NETR_DELTA_DELETE_GROUP2: {
5120 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5121 0 : break; }
5122 :
5123 0 : case NETR_DELTA_DELETE_USER2: {
5124 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
5125 0 : break; }
5126 :
5127 0 : case NETR_DELTA_MODIFY_COUNT: {
5128 0 : break; }
5129 :
5130 0 : default: {
5131 0 : break; }
5132 :
5133 : }
5134 0 : }
5135 0 : if (ndr_flags & NDR_BUFFERS) {
5136 0 : if (!(ndr_flags & NDR_SCALARS)) {
5137 : /* We didn't get it above, and the token is not needed after this. */
5138 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
5139 : }
5140 0 : switch (level) {
5141 0 : case NETR_DELTA_DOMAIN:
5142 0 : break;
5143 :
5144 0 : case NETR_DELTA_GROUP:
5145 0 : break;
5146 :
5147 0 : case NETR_DELTA_DELETE_GROUP:
5148 0 : break;
5149 :
5150 0 : case NETR_DELTA_RENAME_GROUP:
5151 0 : break;
5152 :
5153 0 : case NETR_DELTA_USER:
5154 0 : break;
5155 :
5156 0 : case NETR_DELTA_DELETE_USER:
5157 0 : break;
5158 :
5159 0 : case NETR_DELTA_RENAME_USER:
5160 0 : break;
5161 :
5162 0 : case NETR_DELTA_GROUP_MEMBER:
5163 0 : break;
5164 :
5165 0 : case NETR_DELTA_ALIAS:
5166 0 : break;
5167 :
5168 0 : case NETR_DELTA_DELETE_ALIAS:
5169 0 : break;
5170 :
5171 0 : case NETR_DELTA_RENAME_ALIAS:
5172 0 : break;
5173 :
5174 0 : case NETR_DELTA_ALIAS_MEMBER:
5175 0 : break;
5176 :
5177 0 : case NETR_DELTA_POLICY:
5178 0 : if (r->sid) {
5179 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5180 : }
5181 0 : break;
5182 :
5183 0 : case NETR_DELTA_TRUSTED_DOMAIN:
5184 0 : if (r->sid) {
5185 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5186 : }
5187 0 : break;
5188 :
5189 0 : case NETR_DELTA_DELETE_TRUST:
5190 0 : if (r->sid) {
5191 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5192 : }
5193 0 : break;
5194 :
5195 0 : case NETR_DELTA_ACCOUNT:
5196 0 : if (r->sid) {
5197 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5198 : }
5199 0 : break;
5200 :
5201 0 : case NETR_DELTA_DELETE_ACCOUNT:
5202 0 : if (r->sid) {
5203 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5204 : }
5205 0 : break;
5206 :
5207 0 : case NETR_DELTA_SECRET:
5208 0 : if (r->name) {
5209 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5210 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5211 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5212 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5213 : }
5214 0 : break;
5215 :
5216 0 : case NETR_DELTA_DELETE_SECRET:
5217 0 : if (r->name) {
5218 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5219 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5220 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5221 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5222 : }
5223 0 : break;
5224 :
5225 0 : case NETR_DELTA_DELETE_GROUP2:
5226 0 : break;
5227 :
5228 0 : case NETR_DELTA_DELETE_USER2:
5229 0 : break;
5230 :
5231 0 : case NETR_DELTA_MODIFY_COUNT:
5232 0 : break;
5233 :
5234 0 : default:
5235 0 : break;
5236 :
5237 : }
5238 0 : }
5239 0 : return NDR_ERR_SUCCESS;
5240 : }
5241 :
5242 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
5243 : {
5244 : uint32_t level;
5245 : uint16_t _level;
5246 0 : TALLOC_CTX *_mem_save_sid_0 = NULL;
5247 : uint32_t _ptr_sid;
5248 0 : TALLOC_CTX *_mem_save_name_0 = NULL;
5249 : uint32_t _ptr_name;
5250 0 : uint32_t size_name_1 = 0;
5251 0 : uint32_t length_name_1 = 0;
5252 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5253 0 : if (ndr_flags & NDR_SCALARS) {
5254 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
5255 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5256 0 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
5257 0 : NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
5258 0 : if (_level != level) {
5259 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5260 : }
5261 : /* ms_union is always aligned to the largest union arm*/
5262 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
5263 0 : switch (level) {
5264 0 : case NETR_DELTA_DOMAIN: {
5265 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5266 0 : break; }
5267 :
5268 0 : case NETR_DELTA_GROUP: {
5269 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5270 0 : break; }
5271 :
5272 0 : case NETR_DELTA_DELETE_GROUP: {
5273 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5274 0 : break; }
5275 :
5276 0 : case NETR_DELTA_RENAME_GROUP: {
5277 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5278 0 : break; }
5279 :
5280 0 : case NETR_DELTA_USER: {
5281 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5282 0 : break; }
5283 :
5284 0 : case NETR_DELTA_DELETE_USER: {
5285 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5286 0 : break; }
5287 :
5288 0 : case NETR_DELTA_RENAME_USER: {
5289 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5290 0 : break; }
5291 :
5292 0 : case NETR_DELTA_GROUP_MEMBER: {
5293 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5294 0 : break; }
5295 :
5296 0 : case NETR_DELTA_ALIAS: {
5297 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5298 0 : break; }
5299 :
5300 0 : case NETR_DELTA_DELETE_ALIAS: {
5301 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5302 0 : break; }
5303 :
5304 0 : case NETR_DELTA_RENAME_ALIAS: {
5305 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5306 0 : break; }
5307 :
5308 0 : case NETR_DELTA_ALIAS_MEMBER: {
5309 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5310 0 : break; }
5311 :
5312 0 : case NETR_DELTA_POLICY: {
5313 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5314 0 : if (_ptr_sid) {
5315 0 : NDR_PULL_ALLOC(ndr, r->sid);
5316 : } else {
5317 0 : r->sid = NULL;
5318 : }
5319 0 : break; }
5320 :
5321 0 : case NETR_DELTA_TRUSTED_DOMAIN: {
5322 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5323 0 : if (_ptr_sid) {
5324 0 : NDR_PULL_ALLOC(ndr, r->sid);
5325 : } else {
5326 0 : r->sid = NULL;
5327 : }
5328 0 : break; }
5329 :
5330 0 : case NETR_DELTA_DELETE_TRUST: {
5331 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5332 0 : if (_ptr_sid) {
5333 0 : NDR_PULL_ALLOC(ndr, r->sid);
5334 : } else {
5335 0 : r->sid = NULL;
5336 : }
5337 0 : break; }
5338 :
5339 0 : case NETR_DELTA_ACCOUNT: {
5340 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5341 0 : if (_ptr_sid) {
5342 0 : NDR_PULL_ALLOC(ndr, r->sid);
5343 : } else {
5344 0 : r->sid = NULL;
5345 : }
5346 0 : break; }
5347 :
5348 0 : case NETR_DELTA_DELETE_ACCOUNT: {
5349 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5350 0 : if (_ptr_sid) {
5351 0 : NDR_PULL_ALLOC(ndr, r->sid);
5352 : } else {
5353 0 : r->sid = NULL;
5354 : }
5355 0 : break; }
5356 :
5357 0 : case NETR_DELTA_SECRET: {
5358 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5359 0 : if (_ptr_name) {
5360 0 : NDR_PULL_ALLOC(ndr, r->name);
5361 : } else {
5362 0 : r->name = NULL;
5363 : }
5364 0 : break; }
5365 :
5366 0 : case NETR_DELTA_DELETE_SECRET: {
5367 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5368 0 : if (_ptr_name) {
5369 0 : NDR_PULL_ALLOC(ndr, r->name);
5370 : } else {
5371 0 : r->name = NULL;
5372 : }
5373 0 : break; }
5374 :
5375 0 : case NETR_DELTA_DELETE_GROUP2: {
5376 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5377 0 : break; }
5378 :
5379 0 : case NETR_DELTA_DELETE_USER2: {
5380 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5381 0 : break; }
5382 :
5383 0 : case NETR_DELTA_MODIFY_COUNT: {
5384 0 : break; }
5385 :
5386 0 : default: {
5387 0 : break; }
5388 :
5389 : }
5390 0 : }
5391 0 : if (ndr_flags & NDR_BUFFERS) {
5392 0 : if (!(ndr_flags & NDR_SCALARS)) {
5393 : /* We didn't get it above, and the token is not needed after this. */
5394 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
5395 : }
5396 0 : switch (level) {
5397 0 : case NETR_DELTA_DOMAIN:
5398 0 : break;
5399 :
5400 0 : case NETR_DELTA_GROUP:
5401 0 : break;
5402 :
5403 0 : case NETR_DELTA_DELETE_GROUP:
5404 0 : break;
5405 :
5406 0 : case NETR_DELTA_RENAME_GROUP:
5407 0 : break;
5408 :
5409 0 : case NETR_DELTA_USER:
5410 0 : break;
5411 :
5412 0 : case NETR_DELTA_DELETE_USER:
5413 0 : break;
5414 :
5415 0 : case NETR_DELTA_RENAME_USER:
5416 0 : break;
5417 :
5418 0 : case NETR_DELTA_GROUP_MEMBER:
5419 0 : break;
5420 :
5421 0 : case NETR_DELTA_ALIAS:
5422 0 : break;
5423 :
5424 0 : case NETR_DELTA_DELETE_ALIAS:
5425 0 : break;
5426 :
5427 0 : case NETR_DELTA_RENAME_ALIAS:
5428 0 : break;
5429 :
5430 0 : case NETR_DELTA_ALIAS_MEMBER:
5431 0 : break;
5432 :
5433 0 : case NETR_DELTA_POLICY:
5434 0 : if (r->sid) {
5435 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5436 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5437 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5438 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5439 : }
5440 0 : break;
5441 :
5442 0 : case NETR_DELTA_TRUSTED_DOMAIN:
5443 0 : if (r->sid) {
5444 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5445 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5446 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5447 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5448 : }
5449 0 : break;
5450 :
5451 0 : case NETR_DELTA_DELETE_TRUST:
5452 0 : if (r->sid) {
5453 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5454 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5455 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5456 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5457 : }
5458 0 : break;
5459 :
5460 0 : case NETR_DELTA_ACCOUNT:
5461 0 : if (r->sid) {
5462 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5463 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5464 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5465 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5466 : }
5467 0 : break;
5468 :
5469 0 : case NETR_DELTA_DELETE_ACCOUNT:
5470 0 : if (r->sid) {
5471 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5472 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5473 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5474 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5475 : }
5476 0 : break;
5477 :
5478 0 : case NETR_DELTA_SECRET:
5479 0 : if (r->name) {
5480 0 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5481 0 : NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5482 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5483 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5484 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
5485 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
5486 0 : if (length_name_1 > size_name_1) {
5487 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
5488 : }
5489 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
5490 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
5491 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5492 : }
5493 0 : break;
5494 :
5495 0 : case NETR_DELTA_DELETE_SECRET:
5496 0 : if (r->name) {
5497 0 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5498 0 : NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5499 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5500 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5501 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
5502 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
5503 0 : if (length_name_1 > size_name_1) {
5504 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
5505 : }
5506 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
5507 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
5508 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5509 : }
5510 0 : break;
5511 :
5512 0 : case NETR_DELTA_DELETE_GROUP2:
5513 0 : break;
5514 :
5515 0 : case NETR_DELTA_DELETE_USER2:
5516 0 : break;
5517 :
5518 0 : case NETR_DELTA_MODIFY_COUNT:
5519 0 : break;
5520 :
5521 0 : default:
5522 0 : break;
5523 :
5524 : }
5525 0 : }
5526 0 : return NDR_ERR_SUCCESS;
5527 : }
5528 :
5529 0 : _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5530 : {
5531 : uint32_t level;
5532 0 : level = ndr_print_steal_switch_value(ndr, r);
5533 0 : ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5534 0 : switch (level) {
5535 0 : case NETR_DELTA_DOMAIN:
5536 0 : ndr_print_uint32(ndr, "rid", r->rid);
5537 0 : break;
5538 :
5539 0 : case NETR_DELTA_GROUP:
5540 0 : ndr_print_uint32(ndr, "rid", r->rid);
5541 0 : break;
5542 :
5543 0 : case NETR_DELTA_DELETE_GROUP:
5544 0 : ndr_print_uint32(ndr, "rid", r->rid);
5545 0 : break;
5546 :
5547 0 : case NETR_DELTA_RENAME_GROUP:
5548 0 : ndr_print_uint32(ndr, "rid", r->rid);
5549 0 : break;
5550 :
5551 0 : case NETR_DELTA_USER:
5552 0 : ndr_print_uint32(ndr, "rid", r->rid);
5553 0 : break;
5554 :
5555 0 : case NETR_DELTA_DELETE_USER:
5556 0 : ndr_print_uint32(ndr, "rid", r->rid);
5557 0 : break;
5558 :
5559 0 : case NETR_DELTA_RENAME_USER:
5560 0 : ndr_print_uint32(ndr, "rid", r->rid);
5561 0 : break;
5562 :
5563 0 : case NETR_DELTA_GROUP_MEMBER:
5564 0 : ndr_print_uint32(ndr, "rid", r->rid);
5565 0 : break;
5566 :
5567 0 : case NETR_DELTA_ALIAS:
5568 0 : ndr_print_uint32(ndr, "rid", r->rid);
5569 0 : break;
5570 :
5571 0 : case NETR_DELTA_DELETE_ALIAS:
5572 0 : ndr_print_uint32(ndr, "rid", r->rid);
5573 0 : break;
5574 :
5575 0 : case NETR_DELTA_RENAME_ALIAS:
5576 0 : ndr_print_uint32(ndr, "rid", r->rid);
5577 0 : break;
5578 :
5579 0 : case NETR_DELTA_ALIAS_MEMBER:
5580 0 : ndr_print_uint32(ndr, "rid", r->rid);
5581 0 : break;
5582 :
5583 0 : case NETR_DELTA_POLICY:
5584 0 : ndr_print_ptr(ndr, "sid", r->sid);
5585 0 : ndr->depth++;
5586 0 : if (r->sid) {
5587 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
5588 : }
5589 0 : ndr->depth--;
5590 0 : break;
5591 :
5592 0 : case NETR_DELTA_TRUSTED_DOMAIN:
5593 0 : ndr_print_ptr(ndr, "sid", r->sid);
5594 0 : ndr->depth++;
5595 0 : if (r->sid) {
5596 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
5597 : }
5598 0 : ndr->depth--;
5599 0 : break;
5600 :
5601 0 : case NETR_DELTA_DELETE_TRUST:
5602 0 : ndr_print_ptr(ndr, "sid", r->sid);
5603 0 : ndr->depth++;
5604 0 : if (r->sid) {
5605 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
5606 : }
5607 0 : ndr->depth--;
5608 0 : break;
5609 :
5610 0 : case NETR_DELTA_ACCOUNT:
5611 0 : ndr_print_ptr(ndr, "sid", r->sid);
5612 0 : ndr->depth++;
5613 0 : if (r->sid) {
5614 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
5615 : }
5616 0 : ndr->depth--;
5617 0 : break;
5618 :
5619 0 : case NETR_DELTA_DELETE_ACCOUNT:
5620 0 : ndr_print_ptr(ndr, "sid", r->sid);
5621 0 : ndr->depth++;
5622 0 : if (r->sid) {
5623 0 : ndr_print_dom_sid2(ndr, "sid", r->sid);
5624 : }
5625 0 : ndr->depth--;
5626 0 : break;
5627 :
5628 0 : case NETR_DELTA_SECRET:
5629 0 : ndr_print_ptr(ndr, "name", r->name);
5630 0 : ndr->depth++;
5631 0 : if (r->name) {
5632 0 : ndr_print_string(ndr, "name", r->name);
5633 : }
5634 0 : ndr->depth--;
5635 0 : break;
5636 :
5637 0 : case NETR_DELTA_DELETE_SECRET:
5638 0 : ndr_print_ptr(ndr, "name", r->name);
5639 0 : ndr->depth++;
5640 0 : if (r->name) {
5641 0 : ndr_print_string(ndr, "name", r->name);
5642 : }
5643 0 : ndr->depth--;
5644 0 : break;
5645 :
5646 0 : case NETR_DELTA_DELETE_GROUP2:
5647 0 : ndr_print_uint32(ndr, "rid", r->rid);
5648 0 : break;
5649 :
5650 0 : case NETR_DELTA_DELETE_USER2:
5651 0 : ndr_print_uint32(ndr, "rid", r->rid);
5652 0 : break;
5653 :
5654 0 : case NETR_DELTA_MODIFY_COUNT:
5655 0 : break;
5656 :
5657 0 : default:
5658 0 : break;
5659 :
5660 : }
5661 0 : }
5662 :
5663 0 : static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5664 : {
5665 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5666 0 : if (ndr_flags & NDR_SCALARS) {
5667 0 : NDR_CHECK(ndr_push_align(ndr, 5));
5668 0 : NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5669 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5670 0 : NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5671 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5672 0 : NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5673 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5674 : }
5675 0 : if (ndr_flags & NDR_BUFFERS) {
5676 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5677 0 : NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5678 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5679 0 : NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5680 : }
5681 0 : return NDR_ERR_SUCCESS;
5682 : }
5683 :
5684 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5685 : {
5686 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5687 0 : if (ndr_flags & NDR_SCALARS) {
5688 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
5689 0 : NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5690 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5691 0 : NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5692 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5693 0 : NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5694 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5695 : }
5696 0 : if (ndr_flags & NDR_BUFFERS) {
5697 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5698 0 : NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5699 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5700 0 : NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5701 : }
5702 0 : return NDR_ERR_SUCCESS;
5703 : }
5704 :
5705 0 : _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5706 : {
5707 0 : ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5708 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5709 0 : ndr->depth++;
5710 0 : ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5711 0 : ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5712 0 : ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5713 0 : ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5714 0 : ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5715 0 : ndr->depth--;
5716 : }
5717 :
5718 0 : static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM_ARRAY *r)
5719 : {
5720 : uint32_t cntr_delta_enum_1;
5721 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5722 0 : if (ndr_flags & NDR_SCALARS) {
5723 0 : NDR_CHECK(ndr_push_align(ndr, 5));
5724 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5725 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5726 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5727 : }
5728 0 : if (ndr_flags & NDR_BUFFERS) {
5729 0 : if (r->delta_enum) {
5730 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_deltas));
5731 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
5732 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5733 : }
5734 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
5735 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5736 : }
5737 : }
5738 : }
5739 0 : return NDR_ERR_SUCCESS;
5740 : }
5741 :
5742 0 : static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5743 : {
5744 : uint32_t _ptr_delta_enum;
5745 0 : uint32_t size_delta_enum_1 = 0;
5746 : uint32_t cntr_delta_enum_1;
5747 0 : TALLOC_CTX *_mem_save_delta_enum_0 = NULL;
5748 0 : TALLOC_CTX *_mem_save_delta_enum_1 = NULL;
5749 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5750 0 : if (ndr_flags & NDR_SCALARS) {
5751 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
5752 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5753 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5754 0 : if (_ptr_delta_enum) {
5755 0 : NDR_PULL_ALLOC(ndr, r->delta_enum);
5756 : } else {
5757 0 : r->delta_enum = NULL;
5758 : }
5759 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5760 : }
5761 0 : if (ndr_flags & NDR_BUFFERS) {
5762 0 : if (r->delta_enum) {
5763 0 : _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5764 0 : NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5765 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5766 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->delta_enum, &size_delta_enum_1));
5767 0 : NDR_PULL_ALLOC_N(ndr, r->delta_enum, size_delta_enum_1);
5768 0 : _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5769 0 : NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5770 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
5771 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5772 : }
5773 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
5774 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5775 : }
5776 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5777 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5778 : }
5779 0 : if (r->delta_enum) {
5780 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5781 : }
5782 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
5783 : }
5784 : }
5785 0 : return NDR_ERR_SUCCESS;
5786 : }
5787 :
5788 0 : _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5789 : {
5790 : uint32_t cntr_delta_enum_1;
5791 0 : ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5792 0 : if (r == NULL) { ndr_print_null(ndr); return; }
5793 0 : ndr->depth++;
5794 0 : ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5795 0 : ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5796 0 : ndr->depth++;
5797 0 : if (r->delta_enum) {
5798 0 : ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5799 0 : ndr->depth++;
5800 0 : for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
5801 0 : ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5802 : }
5803 0 : ndr->depth--;
5804 : }
5805 0 : ndr->depth--;
5806 0 : ndr->depth--;
5807 : }
5808 :
5809 108 : static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct netr_UAS_INFO_0 *r)
5810 : {
5811 : {
5812 108 : uint32_t _flags_save_STRUCT = ndr->flags;
5813 108 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5814 108 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5815 108 : if (ndr_flags & NDR_SCALARS) {
5816 108 : NDR_CHECK(ndr_push_align(ndr, 4));
5817 108 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5818 108 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5819 108 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5820 108 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5821 : }
5822 90 : if (ndr_flags & NDR_BUFFERS) {
5823 : }
5824 108 : ndr->flags = _flags_save_STRUCT;
5825 : }
5826 108 : return NDR_ERR_SUCCESS;
5827 : }
5828 :
5829 96 : static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5830 : {
5831 96 : uint32_t size_computer_name_0 = 0;
5832 : {
5833 96 : uint32_t _flags_save_STRUCT = ndr->flags;
5834 96 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5835 96 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5836 96 : if (ndr_flags & NDR_SCALARS) {
5837 96 : NDR_CHECK(ndr_pull_align(ndr, 4));
5838 96 : size_computer_name_0 = 16;
5839 96 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, size_computer_name_0));
5840 96 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5841 96 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5842 96 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5843 : }
5844 80 : if (ndr_flags & NDR_BUFFERS) {
5845 : }
5846 96 : ndr->flags = _flags_save_STRUCT;
5847 : }
5848 96 : return NDR_ERR_SUCCESS;
5849 : }
5850 :
5851 24 : _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5852 : {
5853 24 : ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5854 24 : if (r == NULL) { ndr_print_null(ndr); return; }
5855 : {
5856 24 : uint32_t _flags_save_STRUCT = ndr->flags;
5857 24 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5858 24 : ndr->depth++;
5859 24 : ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5860 24 : ndr_print_uint32(ndr, "timecreated", r->timecreated);
5861 24 : ndr_print_uint32(ndr, "serial_number", r->serial_number);
5862 24 : ndr->depth--;
5863 24 : ndr->flags = _flags_save_STRUCT;
5864 : }
5865 : }
5866 :
5867 60 : static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5868 : {
5869 60 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5870 60 : if (ndr_flags & NDR_SCALARS) {
5871 60 : NDR_CHECK(ndr_push_align(ndr, 4));
5872 : {
5873 60 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
5874 60 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5875 60 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5876 60 : ndr->flags = _flags_save_DATA_BLOB;
5877 : }
5878 60 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5879 : }
5880 50 : if (ndr_flags & NDR_BUFFERS) {
5881 : }
5882 60 : return NDR_ERR_SUCCESS;
5883 : }
5884 :
5885 48 : static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5886 : {
5887 48 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5888 48 : if (ndr_flags & NDR_SCALARS) {
5889 48 : NDR_CHECK(ndr_pull_align(ndr, 4));
5890 : {
5891 48 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
5892 48 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5893 48 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5894 48 : ndr->flags = _flags_save_DATA_BLOB;
5895 : }
5896 48 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5897 : }
5898 40 : if (ndr_flags & NDR_BUFFERS) {
5899 : }
5900 48 : return NDR_ERR_SUCCESS;
5901 : }
5902 :
5903 24 : _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5904 : {
5905 24 : ndr_print_struct(ndr, name, "netr_AccountBuffer");
5906 24 : if (r == NULL) { ndr_print_null(ndr); return; }
5907 24 : ndr->depth++;
5908 : {
5909 24 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
5910 24 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5911 24 : ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5912 24 : ndr->flags = _flags_save_DATA_BLOB;
5913 : }
5914 24 : ndr->depth--;
5915 : }
5916 :
5917 403 : static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5918 : {
5919 445 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5920 403 : return NDR_ERR_SUCCESS;
5921 : }
5922 :
5923 519 : static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5924 : {
5925 : uint32_t v;
5926 570 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5927 570 : *r = v;
5928 519 : return NDR_ERR_SUCCESS;
5929 : }
5930 :
5931 84 : _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5932 : {
5933 84 : ndr_print_uint32(ndr, name, r);
5934 84 : ndr->depth++;
5935 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r);
5936 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r);
5937 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r);
5938 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r);
5939 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r);
5940 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r);
5941 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r);
5942 84 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r);
5943 84 : ndr->depth--;
5944 84 : }
5945 :
5946 115 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_1 *r)
5947 : {
5948 115 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5949 115 : if (ndr_flags & NDR_SCALARS) {
5950 115 : NDR_CHECK(ndr_push_align(ndr, 4));
5951 133 : NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5952 115 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5953 115 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5954 : }
5955 97 : if (ndr_flags & NDR_BUFFERS) {
5956 : }
5957 115 : return NDR_ERR_SUCCESS;
5958 : }
5959 :
5960 99 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5961 : {
5962 99 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5963 99 : if (ndr_flags & NDR_SCALARS) {
5964 99 : NDR_CHECK(ndr_pull_align(ndr, 4));
5965 114 : NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5966 99 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5967 99 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5968 : }
5969 84 : if (ndr_flags & NDR_BUFFERS) {
5970 : }
5971 99 : return NDR_ERR_SUCCESS;
5972 : }
5973 :
5974 36 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5975 : {
5976 36 : ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5977 36 : if (r == NULL) { ndr_print_null(ndr); return; }
5978 36 : ndr->depth++;
5979 36 : ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5980 36 : ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5981 36 : ndr->depth--;
5982 : }
5983 :
5984 318 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_2 *r)
5985 : {
5986 318 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5987 318 : if (ndr_flags & NDR_SCALARS) {
5988 318 : NDR_CHECK(ndr_push_align(ndr, 5));
5989 342 : NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5990 318 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5991 318 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5992 318 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status));
5993 318 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5994 : }
5995 318 : if (ndr_flags & NDR_BUFFERS) {
5996 318 : if (r->trusted_dc_name) {
5997 306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5998 306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5999 306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
6000 306 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6001 : }
6002 : }
6003 294 : return NDR_ERR_SUCCESS;
6004 : }
6005 :
6006 459 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
6007 : {
6008 : uint32_t _ptr_trusted_dc_name;
6009 459 : uint32_t size_trusted_dc_name_1 = 0;
6010 459 : uint32_t length_trusted_dc_name_1 = 0;
6011 459 : TALLOC_CTX *_mem_save_trusted_dc_name_0 = NULL;
6012 459 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6013 459 : if (ndr_flags & NDR_SCALARS) {
6014 459 : NDR_CHECK(ndr_pull_align(ndr, 5));
6015 495 : NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
6016 459 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
6017 459 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
6018 459 : if (_ptr_trusted_dc_name) {
6019 447 : NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
6020 : } else {
6021 12 : r->trusted_dc_name = NULL;
6022 : }
6023 459 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status));
6024 459 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6025 : }
6026 459 : if (ndr_flags & NDR_BUFFERS) {
6027 459 : if (r->trusted_dc_name) {
6028 447 : _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6029 447 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
6030 447 : NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
6031 447 : NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
6032 447 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_dc_name, &size_trusted_dc_name_1));
6033 447 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_dc_name, &length_trusted_dc_name_1));
6034 447 : if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
6035 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
6036 : }
6037 447 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
6038 447 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
6039 447 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
6040 : }
6041 : }
6042 423 : return NDR_ERR_SUCCESS;
6043 : }
6044 :
6045 48 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
6046 : {
6047 48 : ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
6048 48 : if (r == NULL) { ndr_print_null(ndr); return; }
6049 48 : ndr->depth++;
6050 48 : ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
6051 48 : ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
6052 48 : ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
6053 48 : ndr->depth++;
6054 48 : if (r->trusted_dc_name) {
6055 48 : ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
6056 : }
6057 48 : ndr->depth--;
6058 48 : ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status);
6059 48 : ndr->depth--;
6060 : }
6061 :
6062 12 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_3(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_3 *r)
6063 : {
6064 12 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6065 12 : if (ndr_flags & NDR_SCALARS) {
6066 12 : NDR_CHECK(ndr_push_align(ndr, 4));
6067 12 : NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
6068 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
6069 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6070 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
6071 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
6072 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
6073 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
6074 12 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6075 : }
6076 12 : if (ndr_flags & NDR_BUFFERS) {
6077 : }
6078 12 : return NDR_ERR_SUCCESS;
6079 : }
6080 :
6081 12 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
6082 : {
6083 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6084 12 : if (ndr_flags & NDR_SCALARS) {
6085 12 : NDR_CHECK(ndr_pull_align(ndr, 4));
6086 12 : NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
6087 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
6088 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6089 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
6090 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
6091 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
6092 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
6093 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6094 : }
6095 12 : if (ndr_flags & NDR_BUFFERS) {
6096 : }
6097 12 : return NDR_ERR_SUCCESS;
6098 : }
6099 :
6100 0 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
6101 : {
6102 0 : ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
6103 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6104 0 : ndr->depth++;
6105 0 : ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
6106 0 : ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
6107 0 : ndr_print_uint32(ndr, "unknown1", r->unknown1);
6108 0 : ndr_print_uint32(ndr, "unknown2", r->unknown2);
6109 0 : ndr_print_uint32(ndr, "unknown3", r->unknown3);
6110 0 : ndr_print_uint32(ndr, "unknown4", r->unknown4);
6111 0 : ndr_print_uint32(ndr, "unknown5", r->unknown5);
6112 0 : ndr->depth--;
6113 : }
6114 :
6115 0 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
6116 : {
6117 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6118 0 : if (ndr_flags & NDR_SCALARS) {
6119 0 : NDR_CHECK(ndr_push_align(ndr, 5));
6120 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
6121 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
6122 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6123 : }
6124 0 : if (ndr_flags & NDR_BUFFERS) {
6125 0 : if (r->trusted_dc_name) {
6126 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
6127 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6128 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
6129 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6130 : }
6131 0 : if (r->trusted_domain_name) {
6132 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
6133 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6134 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
6135 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6136 : }
6137 : }
6138 0 : return NDR_ERR_SUCCESS;
6139 : }
6140 :
6141 0 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
6142 : {
6143 : uint32_t _ptr_trusted_dc_name;
6144 0 : uint32_t size_trusted_dc_name_1 = 0;
6145 0 : uint32_t length_trusted_dc_name_1 = 0;
6146 0 : TALLOC_CTX *_mem_save_trusted_dc_name_0 = NULL;
6147 : uint32_t _ptr_trusted_domain_name;
6148 0 : uint32_t size_trusted_domain_name_1 = 0;
6149 0 : uint32_t length_trusted_domain_name_1 = 0;
6150 0 : TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
6151 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6152 0 : if (ndr_flags & NDR_SCALARS) {
6153 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
6154 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
6155 0 : if (_ptr_trusted_dc_name) {
6156 0 : NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
6157 : } else {
6158 0 : r->trusted_dc_name = NULL;
6159 : }
6160 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
6161 0 : if (_ptr_trusted_domain_name) {
6162 0 : NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
6163 : } else {
6164 0 : r->trusted_domain_name = NULL;
6165 : }
6166 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6167 : }
6168 0 : if (ndr_flags & NDR_BUFFERS) {
6169 0 : if (r->trusted_dc_name) {
6170 0 : _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6171 0 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
6172 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
6173 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
6174 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_dc_name, &size_trusted_dc_name_1));
6175 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_dc_name, &length_trusted_dc_name_1));
6176 0 : if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
6177 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
6178 : }
6179 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
6180 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
6181 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
6182 : }
6183 0 : if (r->trusted_domain_name) {
6184 0 : _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6185 0 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
6186 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
6187 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
6188 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_domain_name, &size_trusted_domain_name_1));
6189 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_domain_name, &length_trusted_domain_name_1));
6190 0 : if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
6191 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
6192 : }
6193 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
6194 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
6195 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
6196 : }
6197 : }
6198 0 : return NDR_ERR_SUCCESS;
6199 : }
6200 :
6201 0 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
6202 : {
6203 0 : ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
6204 0 : if (r == NULL) { ndr_print_null(ndr); return; }
6205 0 : ndr->depth++;
6206 0 : ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
6207 0 : ndr->depth++;
6208 0 : if (r->trusted_dc_name) {
6209 0 : ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
6210 : }
6211 0 : ndr->depth--;
6212 0 : ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
6213 0 : ndr->depth++;
6214 0 : if (r->trusted_domain_name) {
6215 0 : ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
6216 : }
6217 0 : ndr->depth--;
6218 0 : ndr->depth--;
6219 : }
6220 :
6221 9799 : _PUBLIC_ enum ndr_err_code ndr_push_netr_CONTROL_QUERY_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_QUERY_INFORMATION *r)
6222 : {
6223 : uint32_t level;
6224 9799 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6225 9799 : if (ndr_flags & NDR_SCALARS) {
6226 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6227 9799 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6228 9799 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6229 9799 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6230 : /* ms_union is always aligned to the largest union arm*/
6231 9799 : NDR_CHECK(ndr_push_align(ndr, 5));
6232 9799 : switch (level) {
6233 2472 : case 1: {
6234 2472 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
6235 2040 : break; }
6236 :
6237 2692 : case 2: {
6238 2692 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
6239 2260 : break; }
6240 :
6241 2678 : case 3: {
6242 2678 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
6243 2210 : break; }
6244 :
6245 1648 : case 4: {
6246 1648 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
6247 1360 : break; }
6248 :
6249 255 : default: {
6250 255 : break; }
6251 :
6252 : }
6253 0 : }
6254 9799 : if (ndr_flags & NDR_BUFFERS) {
6255 9799 : if (!(ndr_flags & NDR_SCALARS)) {
6256 : /* We didn't get it above, and the token is not needed after this. */
6257 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6258 : }
6259 9799 : switch (level) {
6260 2472 : case 1:
6261 2472 : if (r->info1) {
6262 115 : NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6263 : }
6264 2040 : break;
6265 :
6266 2692 : case 2:
6267 2692 : if (r->info2) {
6268 318 : NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6269 : }
6270 2260 : break;
6271 :
6272 2678 : case 3:
6273 2678 : if (r->info3) {
6274 12 : NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6275 : }
6276 2210 : break;
6277 :
6278 1648 : case 4:
6279 1648 : if (r->info4) {
6280 0 : NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6281 : }
6282 1360 : break;
6283 :
6284 255 : default:
6285 255 : break;
6286 :
6287 : }
6288 0 : }
6289 8125 : return NDR_ERR_SUCCESS;
6290 : }
6291 :
6292 8430 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
6293 : {
6294 : uint32_t level;
6295 : uint32_t _level;
6296 8430 : TALLOC_CTX *_mem_save_info1_0 = NULL;
6297 : uint32_t _ptr_info1;
6298 8430 : TALLOC_CTX *_mem_save_info2_0 = NULL;
6299 : uint32_t _ptr_info2;
6300 8430 : TALLOC_CTX *_mem_save_info3_0 = NULL;
6301 : uint32_t _ptr_info3;
6302 8430 : TALLOC_CTX *_mem_save_info4_0 = NULL;
6303 : uint32_t _ptr_info4;
6304 8430 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6305 8430 : if (ndr_flags & NDR_SCALARS) {
6306 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6307 8430 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6308 8430 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6309 8430 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6310 8430 : if (_level != level) {
6311 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6312 : }
6313 : /* ms_union is always aligned to the largest union arm*/
6314 8430 : NDR_CHECK(ndr_pull_align(ndr, 5));
6315 8430 : switch (level) {
6316 2088 : case 1: {
6317 2088 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6318 2088 : if (_ptr_info1) {
6319 99 : NDR_PULL_ALLOC(ndr, r->info1);
6320 : } else {
6321 1989 : r->info1 = NULL;
6322 : }
6323 1728 : break; }
6324 :
6325 2427 : case 2: {
6326 2427 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6327 2427 : if (_ptr_info2) {
6328 459 : NDR_PULL_ALLOC(ndr, r->info2);
6329 : } else {
6330 1968 : r->info2 = NULL;
6331 : }
6332 2051 : break; }
6333 :
6334 2262 : case 3: {
6335 2262 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6336 2262 : if (_ptr_info3) {
6337 12 : NDR_PULL_ALLOC(ndr, r->info3);
6338 : } else {
6339 2250 : r->info3 = NULL;
6340 : }
6341 1872 : break; }
6342 :
6343 1392 : case 4: {
6344 1392 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6345 1392 : if (_ptr_info4) {
6346 0 : NDR_PULL_ALLOC(ndr, r->info4);
6347 : } else {
6348 1392 : r->info4 = NULL;
6349 : }
6350 1152 : break; }
6351 :
6352 216 : default: {
6353 216 : break; }
6354 :
6355 : }
6356 0 : }
6357 8430 : if (ndr_flags & NDR_BUFFERS) {
6358 8430 : if (!(ndr_flags & NDR_SCALARS)) {
6359 : /* We didn't get it above, and the token is not needed after this. */
6360 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6361 : }
6362 8430 : switch (level) {
6363 2088 : case 1:
6364 2088 : if (r->info1) {
6365 99 : _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6366 99 : NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6367 99 : NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6368 99 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6369 : }
6370 1728 : break;
6371 :
6372 2427 : case 2:
6373 2427 : if (r->info2) {
6374 459 : _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6375 459 : NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6376 459 : NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6377 459 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6378 : }
6379 2051 : break;
6380 :
6381 2262 : case 3:
6382 2262 : if (r->info3) {
6383 12 : _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6384 12 : NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6385 12 : NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6386 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6387 : }
6388 1872 : break;
6389 :
6390 1392 : case 4:
6391 1392 : if (r->info4) {
6392 0 : _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6393 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6394 0 : NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6395 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6396 : }
6397 1152 : break;
6398 :
6399 216 : default:
6400 216 : break;
6401 :
6402 : }
6403 0 : }
6404 7019 : return NDR_ERR_SUCCESS;
6405 : }
6406 :
6407 3348 : _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6408 : {
6409 : uint32_t level;
6410 3348 : level = ndr_print_steal_switch_value(ndr, r);
6411 3348 : ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6412 3348 : switch (level) {
6413 864 : case 1:
6414 864 : ndr_print_ptr(ndr, "info1", r->info1);
6415 864 : ndr->depth++;
6416 864 : if (r->info1) {
6417 36 : ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6418 : }
6419 864 : ndr->depth--;
6420 864 : break;
6421 :
6422 864 : case 2:
6423 864 : ndr_print_ptr(ndr, "info2", r->info2);
6424 864 : ndr->depth++;
6425 864 : if (r->info2) {
6426 48 : ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6427 : }
6428 864 : ndr->depth--;
6429 864 : break;
6430 :
6431 936 : case 3:
6432 936 : ndr_print_ptr(ndr, "info3", r->info3);
6433 936 : ndr->depth++;
6434 936 : if (r->info3) {
6435 0 : ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6436 : }
6437 936 : ndr->depth--;
6438 936 : break;
6439 :
6440 576 : case 4:
6441 576 : ndr_print_ptr(ndr, "info4", r->info4);
6442 576 : ndr->depth++;
6443 576 : if (r->info4) {
6444 0 : ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6445 : }
6446 576 : ndr->depth--;
6447 576 : break;
6448 :
6449 90 : default:
6450 90 : break;
6451 :
6452 : }
6453 3348 : }
6454 :
6455 11205 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6456 : {
6457 11205 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6458 11205 : return NDR_ERR_SUCCESS;
6459 : }
6460 :
6461 8125 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6462 : {
6463 : uint32_t v;
6464 8125 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6465 8125 : *r = v;
6466 8125 : return NDR_ERR_SUCCESS;
6467 : }
6468 :
6469 0 : _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6470 : {
6471 0 : const char *val = NULL;
6472 :
6473 0 : switch (r) {
6474 0 : case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6475 0 : case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6476 0 : case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6477 0 : case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6478 0 : case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6479 0 : case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6480 0 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6481 0 : case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6482 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6483 0 : case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6484 0 : case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6485 0 : case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6486 0 : case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6487 0 : case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6488 0 : case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6489 0 : case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6490 : }
6491 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
6492 0 : }
6493 :
6494 2775 : _PUBLIC_ enum ndr_err_code ndr_push_netr_CONTROL_DATA_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_DATA_INFORMATION *r)
6495 : {
6496 : uint32_t level;
6497 2775 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6498 2775 : if (ndr_flags & NDR_SCALARS) {
6499 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6500 2775 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6501 2775 : NDR_CHECK(ndr_push_union_align(ndr, 5));
6502 2775 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, level));
6503 : /* ms_union is always aligned to the largest union arm*/
6504 2775 : NDR_CHECK(ndr_push_align(ndr, 5));
6505 2775 : switch (level) {
6506 660 : case NETLOGON_CONTROL_REDISCOVER: {
6507 660 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6508 562 : break; }
6509 :
6510 590 : case NETLOGON_CONTROL_TC_QUERY: {
6511 590 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6512 492 : break; }
6513 :
6514 522 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6515 522 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6516 432 : break; }
6517 :
6518 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6519 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6520 0 : break; }
6521 :
6522 133 : case NETLOGON_CONTROL_TC_VERIFY: {
6523 133 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6524 133 : break; }
6525 :
6526 0 : case NETLOGON_CONTROL_FIND_USER: {
6527 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6528 0 : break; }
6529 :
6530 696 : case NETLOGON_CONTROL_SET_DBFLAG: {
6531 696 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6532 576 : break; }
6533 :
6534 144 : default: {
6535 144 : break; }
6536 :
6537 : }
6538 0 : }
6539 2775 : if (ndr_flags & NDR_BUFFERS) {
6540 2775 : if (!(ndr_flags & NDR_SCALARS)) {
6541 : /* We didn't get it above, and the token is not needed after this. */
6542 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6543 : }
6544 2775 : switch (level) {
6545 660 : case NETLOGON_CONTROL_REDISCOVER:
6546 660 : if (r->domain) {
6547 660 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6548 660 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6549 660 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6550 660 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6551 : }
6552 562 : break;
6553 :
6554 590 : case NETLOGON_CONTROL_TC_QUERY:
6555 590 : if (r->domain) {
6556 590 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6557 590 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6558 590 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6559 590 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6560 : }
6561 492 : break;
6562 :
6563 522 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6564 522 : if (r->domain) {
6565 522 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6566 522 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6567 522 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6568 522 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6569 : }
6570 432 : break;
6571 :
6572 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD:
6573 0 : if (r->domain) {
6574 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6575 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6576 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6577 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6578 : }
6579 0 : break;
6580 :
6581 133 : case NETLOGON_CONTROL_TC_VERIFY:
6582 133 : if (r->domain) {
6583 133 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6584 133 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6585 133 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6586 133 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6587 : }
6588 133 : break;
6589 :
6590 0 : case NETLOGON_CONTROL_FIND_USER:
6591 0 : if (r->user) {
6592 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6593 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6594 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6595 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6596 : }
6597 0 : break;
6598 :
6599 576 : case NETLOGON_CONTROL_SET_DBFLAG:
6600 576 : break;
6601 :
6602 144 : default:
6603 144 : break;
6604 :
6605 : }
6606 0 : }
6607 2339 : return NDR_ERR_SUCCESS;
6608 : }
6609 :
6610 2554 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6611 : {
6612 : uint32_t level;
6613 : uint32_t _level;
6614 2554 : TALLOC_CTX *_mem_save_domain_0 = NULL;
6615 : uint32_t _ptr_domain;
6616 2554 : uint32_t size_domain_1 = 0;
6617 2554 : uint32_t length_domain_1 = 0;
6618 2554 : TALLOC_CTX *_mem_save_user_0 = NULL;
6619 : uint32_t _ptr_user;
6620 2554 : uint32_t size_user_1 = 0;
6621 2554 : uint32_t length_user_1 = 0;
6622 2554 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6623 2554 : if (ndr_flags & NDR_SCALARS) {
6624 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6625 2554 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6626 2554 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
6627 2554 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6628 2554 : if (_level != level) {
6629 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6630 : }
6631 : /* ms_union is always aligned to the largest union arm*/
6632 2554 : NDR_CHECK(ndr_pull_align(ndr, 5));
6633 2554 : switch (level) {
6634 578 : case NETLOGON_CONTROL_REDISCOVER: {
6635 578 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6636 578 : if (_ptr_domain) {
6637 578 : NDR_PULL_ALLOC(ndr, r->domain);
6638 : } else {
6639 0 : r->domain = NULL;
6640 : }
6641 488 : break; }
6642 :
6643 536 : case NETLOGON_CONTROL_TC_QUERY: {
6644 536 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6645 536 : if (_ptr_domain) {
6646 536 : NDR_PULL_ALLOC(ndr, r->domain);
6647 : } else {
6648 0 : r->domain = NULL;
6649 : }
6650 446 : break; }
6651 :
6652 510 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6653 510 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6654 510 : if (_ptr_domain) {
6655 510 : NDR_PULL_ALLOC(ndr, r->domain);
6656 : } else {
6657 0 : r->domain = NULL;
6658 : }
6659 420 : break; }
6660 :
6661 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6662 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6663 0 : if (_ptr_domain) {
6664 0 : NDR_PULL_ALLOC(ndr, r->domain);
6665 : } else {
6666 0 : r->domain = NULL;
6667 : }
6668 0 : break; }
6669 :
6670 80 : case NETLOGON_CONTROL_TC_VERIFY: {
6671 80 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6672 80 : if (_ptr_domain) {
6673 80 : NDR_PULL_ALLOC(ndr, r->domain);
6674 : } else {
6675 0 : r->domain = NULL;
6676 : }
6677 80 : break; }
6678 :
6679 0 : case NETLOGON_CONTROL_FIND_USER: {
6680 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6681 0 : if (_ptr_user) {
6682 0 : NDR_PULL_ALLOC(ndr, r->user);
6683 : } else {
6684 0 : r->user = NULL;
6685 : }
6686 0 : break; }
6687 :
6688 680 : case NETLOGON_CONTROL_SET_DBFLAG: {
6689 680 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6690 560 : break; }
6691 :
6692 140 : default: {
6693 140 : break; }
6694 :
6695 : }
6696 0 : }
6697 2554 : if (ndr_flags & NDR_BUFFERS) {
6698 2554 : if (!(ndr_flags & NDR_SCALARS)) {
6699 : /* We didn't get it above, and the token is not needed after this. */
6700 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
6701 : }
6702 2554 : switch (level) {
6703 578 : case NETLOGON_CONTROL_REDISCOVER:
6704 578 : if (r->domain) {
6705 578 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6706 578 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6707 578 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6708 578 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6709 578 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
6710 578 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
6711 578 : if (length_domain_1 > size_domain_1) {
6712 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6713 : }
6714 578 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6715 578 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6716 578 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6717 : }
6718 488 : break;
6719 :
6720 536 : case NETLOGON_CONTROL_TC_QUERY:
6721 536 : if (r->domain) {
6722 536 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6723 536 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6724 536 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6725 536 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6726 536 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
6727 536 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
6728 536 : if (length_domain_1 > size_domain_1) {
6729 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6730 : }
6731 536 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6732 536 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6733 536 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6734 : }
6735 446 : break;
6736 :
6737 510 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6738 510 : if (r->domain) {
6739 510 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6740 510 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6741 510 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6742 510 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6743 510 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
6744 510 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
6745 510 : if (length_domain_1 > size_domain_1) {
6746 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6747 : }
6748 510 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6749 510 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6750 510 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6751 : }
6752 420 : break;
6753 :
6754 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD:
6755 0 : if (r->domain) {
6756 0 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6757 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6758 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6759 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6760 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
6761 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
6762 0 : if (length_domain_1 > size_domain_1) {
6763 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6764 : }
6765 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6766 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6767 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6768 : }
6769 0 : break;
6770 :
6771 80 : case NETLOGON_CONTROL_TC_VERIFY:
6772 80 : if (r->domain) {
6773 80 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6774 80 : NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6775 80 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6776 80 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6777 80 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
6778 80 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
6779 80 : if (length_domain_1 > size_domain_1) {
6780 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6781 : }
6782 80 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6783 80 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6784 80 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6785 : }
6786 80 : break;
6787 :
6788 0 : case NETLOGON_CONTROL_FIND_USER:
6789 0 : if (r->user) {
6790 0 : _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6791 0 : NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6792 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6793 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6794 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->user, &size_user_1));
6795 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->user, &length_user_1));
6796 0 : if (length_user_1 > size_user_1) {
6797 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
6798 : }
6799 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
6800 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
6801 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6802 : }
6803 0 : break;
6804 :
6805 560 : case NETLOGON_CONTROL_SET_DBFLAG:
6806 560 : break;
6807 :
6808 140 : default:
6809 140 : break;
6810 :
6811 : }
6812 0 : }
6813 2134 : return NDR_ERR_SUCCESS;
6814 : }
6815 :
6816 0 : _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6817 : {
6818 : uint32_t level;
6819 0 : level = ndr_print_steal_switch_value(ndr, r);
6820 0 : ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6821 0 : switch (level) {
6822 0 : case NETLOGON_CONTROL_REDISCOVER:
6823 0 : ndr_print_ptr(ndr, "domain", r->domain);
6824 0 : ndr->depth++;
6825 0 : if (r->domain) {
6826 0 : ndr_print_string(ndr, "domain", r->domain);
6827 : }
6828 0 : ndr->depth--;
6829 0 : break;
6830 :
6831 0 : case NETLOGON_CONTROL_TC_QUERY:
6832 0 : ndr_print_ptr(ndr, "domain", r->domain);
6833 0 : ndr->depth++;
6834 0 : if (r->domain) {
6835 0 : ndr_print_string(ndr, "domain", r->domain);
6836 : }
6837 0 : ndr->depth--;
6838 0 : break;
6839 :
6840 0 : case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6841 0 : ndr_print_ptr(ndr, "domain", r->domain);
6842 0 : ndr->depth++;
6843 0 : if (r->domain) {
6844 0 : ndr_print_string(ndr, "domain", r->domain);
6845 : }
6846 0 : ndr->depth--;
6847 0 : break;
6848 :
6849 0 : case NETLOGON_CONTROL_CHANGE_PASSWORD:
6850 0 : ndr_print_ptr(ndr, "domain", r->domain);
6851 0 : ndr->depth++;
6852 0 : if (r->domain) {
6853 0 : ndr_print_string(ndr, "domain", r->domain);
6854 : }
6855 0 : ndr->depth--;
6856 0 : break;
6857 :
6858 0 : case NETLOGON_CONTROL_TC_VERIFY:
6859 0 : ndr_print_ptr(ndr, "domain", r->domain);
6860 0 : ndr->depth++;
6861 0 : if (r->domain) {
6862 0 : ndr_print_string(ndr, "domain", r->domain);
6863 : }
6864 0 : ndr->depth--;
6865 0 : break;
6866 :
6867 0 : case NETLOGON_CONTROL_FIND_USER:
6868 0 : ndr_print_ptr(ndr, "user", r->user);
6869 0 : ndr->depth++;
6870 0 : if (r->user) {
6871 0 : ndr_print_string(ndr, "user", r->user);
6872 : }
6873 0 : ndr->depth--;
6874 0 : break;
6875 :
6876 0 : case NETLOGON_CONTROL_SET_DBFLAG:
6877 0 : ndr_print_uint32(ndr, "debug_level", r->debug_level);
6878 0 : break;
6879 :
6880 0 : default:
6881 0 : break;
6882 :
6883 : }
6884 0 : }
6885 :
6886 17846 : _PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6887 : {
6888 17846 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6889 17846 : return NDR_ERR_SUCCESS;
6890 : }
6891 :
6892 24094 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6893 : {
6894 : uint32_t v;
6895 24094 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6896 24094 : *r = v;
6897 24094 : return NDR_ERR_SUCCESS;
6898 : }
6899 :
6900 1070 : _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6901 : {
6902 1070 : ndr_print_uint32(ndr, name, r);
6903 1070 : ndr->depth++;
6904 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6905 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6906 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6907 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6908 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6909 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6910 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6911 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6912 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6913 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6914 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6915 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6916 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6917 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6918 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6919 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6920 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6921 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6922 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6923 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6924 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6925 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6926 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6927 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
6928 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6929 1070 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6930 1070 : ndr->depth--;
6931 1070 : }
6932 :
6933 12 : static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6934 : {
6935 12 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
6936 12 : return NDR_ERR_SUCCESS;
6937 : }
6938 :
6939 12 : static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6940 : {
6941 : uint16_t v;
6942 12 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
6943 12 : *r = v;
6944 12 : return NDR_ERR_SUCCESS;
6945 : }
6946 :
6947 0 : _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6948 : {
6949 0 : const char *val = NULL;
6950 :
6951 0 : switch (r) {
6952 0 : case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6953 0 : case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6954 0 : case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6955 0 : case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6956 0 : case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6957 0 : case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6958 0 : case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6959 0 : case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6960 0 : case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6961 : }
6962 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
6963 0 : }
6964 :
6965 40 : static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6966 : {
6967 48 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6968 40 : return NDR_ERR_SUCCESS;
6969 : }
6970 :
6971 20 : static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6972 : {
6973 : uint16_t v;
6974 24 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6975 24 : *r = v;
6976 20 : return NDR_ERR_SUCCESS;
6977 : }
6978 :
6979 0 : _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6980 : {
6981 0 : ndr_print_uint16(ndr, name, r);
6982 0 : ndr->depth++;
6983 0 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6984 0 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6985 0 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6986 0 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6987 0 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6988 0 : ndr->depth--;
6989 0 : }
6990 :
6991 96 : static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6992 : {
6993 : uint32_t level;
6994 96 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6995 96 : if (ndr_flags & NDR_SCALARS) {
6996 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
6997 48 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
6998 : /* ms_union is always aligned to the largest union arm*/
6999 48 : NDR_CHECK(ndr_push_align(ndr, 4));
7000 48 : switch (level) {
7001 0 : case NETR_CHANGELOG_SID_INCLUDED: {
7002 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
7003 0 : break; }
7004 :
7005 0 : case NETR_CHANGELOG_NAME_INCLUDED: {
7006 : {
7007 0 : uint32_t _flags_save_string = ndr->flags;
7008 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7009 0 : NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
7010 0 : ndr->flags = _flags_save_string;
7011 : }
7012 0 : break; }
7013 :
7014 40 : default: {
7015 40 : break; }
7016 :
7017 : }
7018 40 : }
7019 80 : return NDR_ERR_SUCCESS;
7020 : }
7021 :
7022 48 : static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
7023 : {
7024 : uint32_t level;
7025 48 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7026 48 : if (ndr_flags & NDR_SCALARS) {
7027 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7028 24 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7029 : /* ms_union is always aligned to the largest union arm*/
7030 24 : NDR_CHECK(ndr_pull_align(ndr, 4));
7031 24 : switch (level) {
7032 0 : case NETR_CHANGELOG_SID_INCLUDED: {
7033 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
7034 0 : break; }
7035 :
7036 0 : case NETR_CHANGELOG_NAME_INCLUDED: {
7037 : {
7038 0 : uint32_t _flags_save_string = ndr->flags;
7039 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7040 0 : NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
7041 0 : ndr->flags = _flags_save_string;
7042 : }
7043 0 : break; }
7044 :
7045 20 : default: {
7046 20 : break; }
7047 :
7048 : }
7049 20 : }
7050 40 : return NDR_ERR_SUCCESS;
7051 : }
7052 :
7053 0 : _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
7054 : {
7055 : uint32_t level;
7056 0 : level = ndr_print_steal_switch_value(ndr, r);
7057 0 : ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
7058 0 : switch (level) {
7059 0 : case NETR_CHANGELOG_SID_INCLUDED:
7060 0 : ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
7061 0 : break;
7062 :
7063 0 : case NETR_CHANGELOG_NAME_INCLUDED:
7064 : {
7065 0 : uint32_t _flags_save_string = ndr->flags;
7066 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7067 0 : ndr_print_string(ndr, "object_name", r->object_name);
7068 0 : ndr->flags = _flags_save_string;
7069 : }
7070 0 : break;
7071 :
7072 0 : default:
7073 0 : break;
7074 :
7075 : }
7076 0 : }
7077 :
7078 48 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
7079 : {
7080 48 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7081 48 : if (ndr_flags & NDR_SCALARS) {
7082 48 : NDR_CHECK(ndr_push_align(ndr, 4));
7083 48 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
7084 48 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
7085 48 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
7086 56 : NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
7087 48 : NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
7088 48 : NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
7089 48 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
7090 48 : NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
7091 48 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7092 : }
7093 48 : if (ndr_flags & NDR_BUFFERS) {
7094 48 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
7095 48 : NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
7096 : }
7097 40 : return NDR_ERR_SUCCESS;
7098 : }
7099 :
7100 24 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
7101 : {
7102 24 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7103 24 : if (ndr_flags & NDR_SCALARS) {
7104 24 : NDR_CHECK(ndr_pull_align(ndr, 4));
7105 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
7106 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
7107 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
7108 28 : NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
7109 24 : NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
7110 24 : NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
7111 24 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
7112 24 : NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
7113 24 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7114 : }
7115 24 : if (ndr_flags & NDR_BUFFERS) {
7116 24 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
7117 24 : NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
7118 : }
7119 20 : return NDR_ERR_SUCCESS;
7120 : }
7121 :
7122 0 : static void ndr_print_flags_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, int unused, const struct netr_ChangeLogEntry *r)
7123 : {
7124 0 : ndr_print_netr_ChangeLogEntry(ndr, name, r);
7125 0 : }
7126 :
7127 0 : _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
7128 : {
7129 0 : ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
7130 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7131 0 : ndr->depth++;
7132 0 : ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
7133 0 : ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
7134 0 : ndr_print_uint32(ndr, "object_rid", r->object_rid);
7135 0 : ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
7136 0 : ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
7137 0 : ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
7138 0 : ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
7139 0 : ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
7140 0 : ndr->depth--;
7141 : }
7142 :
7143 24 : _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, int flags)
7144 : {
7145 24 : return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry);
7146 : }
7147 :
7148 0 : static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
7149 : {
7150 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7151 0 : if (ndr_flags & NDR_SCALARS) {
7152 0 : NDR_CHECK(ndr_push_align(ndr, 5));
7153 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7154 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
7155 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7156 : }
7157 0 : if (ndr_flags & NDR_BUFFERS) {
7158 0 : if (r->data) {
7159 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
7160 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
7161 : }
7162 : }
7163 0 : return NDR_ERR_SUCCESS;
7164 : }
7165 :
7166 0 : static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
7167 : {
7168 : uint32_t _ptr_data;
7169 0 : uint32_t size_data_1 = 0;
7170 0 : TALLOC_CTX *_mem_save_data_0 = NULL;
7171 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7172 0 : if (ndr_flags & NDR_SCALARS) {
7173 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
7174 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7175 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
7176 0 : if (_ptr_data) {
7177 0 : NDR_PULL_ALLOC(ndr, r->data);
7178 : } else {
7179 0 : r->data = NULL;
7180 : }
7181 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7182 : }
7183 0 : if (ndr_flags & NDR_BUFFERS) {
7184 0 : if (r->data) {
7185 0 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
7186 0 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
7187 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
7188 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
7189 0 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
7190 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
7191 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
7192 : }
7193 0 : if (r->data) {
7194 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
7195 : }
7196 : }
7197 0 : return NDR_ERR_SUCCESS;
7198 : }
7199 :
7200 0 : _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
7201 : {
7202 0 : ndr_print_struct(ndr, name, "netr_Blob");
7203 0 : if (r == NULL) { ndr_print_null(ndr); return; }
7204 0 : ndr->depth++;
7205 0 : ndr_print_uint32(ndr, "length", r->length);
7206 0 : ndr_print_ptr(ndr, "data", r->data);
7207 0 : ndr->depth++;
7208 0 : if (r->data) {
7209 0 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
7210 : }
7211 0 : ndr->depth--;
7212 0 : ndr->depth--;
7213 : }
7214 :
7215 321 : static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7216 : {
7217 355 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7218 321 : return NDR_ERR_SUCCESS;
7219 : }
7220 :
7221 337 : static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7222 : {
7223 : uint32_t v;
7224 371 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7225 371 : *r = v;
7226 337 : return NDR_ERR_SUCCESS;
7227 : }
7228 :
7229 0 : _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
7230 : {
7231 0 : ndr_print_uint32(ndr, name, r);
7232 0 : ndr->depth++;
7233 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
7234 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
7235 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
7236 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
7237 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
7238 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
7239 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
7240 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
7241 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
7242 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
7243 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
7244 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
7245 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
7246 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
7247 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
7248 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
7249 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
7250 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r);
7251 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
7252 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
7253 0 : ndr->depth--;
7254 0 : }
7255 :
7256 939 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
7257 : {
7258 981 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
7259 939 : return NDR_ERR_SUCCESS;
7260 : }
7261 :
7262 409 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
7263 : {
7264 : uint32_t v;
7265 447 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
7266 447 : *r = v;
7267 409 : return NDR_ERR_SUCCESS;
7268 : }
7269 :
7270 174 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
7271 : {
7272 174 : const char *val = NULL;
7273 :
7274 174 : switch (r) {
7275 174 : case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
7276 0 : case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
7277 : }
7278 174 : ndr_print_enum(ndr, name, "ENUM", val, r);
7279 174 : }
7280 :
7281 939 : static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7282 : {
7283 981 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7284 939 : return NDR_ERR_SUCCESS;
7285 : }
7286 :
7287 409 : static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7288 : {
7289 : uint32_t v;
7290 447 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7291 447 : *r = v;
7292 409 : return NDR_ERR_SUCCESS;
7293 : }
7294 :
7295 174 : _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7296 : {
7297 174 : ndr_print_uint32(ndr, name, r);
7298 174 : ndr->depth++;
7299 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
7300 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
7301 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
7302 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
7303 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
7304 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
7305 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
7306 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
7307 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
7308 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
7309 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
7310 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
7311 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WEBSERV", DS_SERVER_WEBSERV, r);
7312 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS_8", DS_SERVER_DS_8, r);
7313 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
7314 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
7315 174 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST_ROOT", DS_DNS_FOREST_ROOT, r);
7316 174 : ndr->depth--;
7317 174 : }
7318 :
7319 1521 : _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
7320 : {
7321 1521 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7322 1521 : if (ndr_flags & NDR_SCALARS) {
7323 981 : NDR_CHECK(ndr_push_align(ndr, 5));
7324 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
7325 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
7326 1023 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
7327 981 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7328 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
7329 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
7330 1023 : NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
7331 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
7332 981 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
7333 981 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7334 : }
7335 1521 : if (ndr_flags & NDR_BUFFERS) {
7336 981 : if (r->dc_unc) {
7337 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
7338 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7339 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
7340 981 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7341 : }
7342 981 : if (r->dc_address) {
7343 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
7344 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7345 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
7346 981 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7347 : }
7348 981 : if (r->domain_name) {
7349 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7350 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7351 981 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7352 981 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7353 : }
7354 981 : if (r->forest_name) {
7355 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
7356 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7357 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
7358 963 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7359 : }
7360 981 : if (r->dc_site_name) {
7361 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
7362 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7363 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
7364 963 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_site_name, ndr_charset_length(r->dc_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7365 : }
7366 981 : if (r->client_site_name) {
7367 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
7368 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7369 963 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
7370 963 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_site_name, ndr_charset_length(r->client_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7371 : }
7372 : }
7373 1479 : return NDR_ERR_SUCCESS;
7374 : }
7375 :
7376 463 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
7377 : {
7378 : uint32_t _ptr_dc_unc;
7379 463 : uint32_t size_dc_unc_1 = 0;
7380 463 : uint32_t length_dc_unc_1 = 0;
7381 463 : TALLOC_CTX *_mem_save_dc_unc_0 = NULL;
7382 : uint32_t _ptr_dc_address;
7383 463 : uint32_t size_dc_address_1 = 0;
7384 463 : uint32_t length_dc_address_1 = 0;
7385 463 : TALLOC_CTX *_mem_save_dc_address_0 = NULL;
7386 : uint32_t _ptr_domain_name;
7387 463 : uint32_t size_domain_name_1 = 0;
7388 463 : uint32_t length_domain_name_1 = 0;
7389 463 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
7390 : uint32_t _ptr_forest_name;
7391 463 : uint32_t size_forest_name_1 = 0;
7392 463 : uint32_t length_forest_name_1 = 0;
7393 463 : TALLOC_CTX *_mem_save_forest_name_0 = NULL;
7394 : uint32_t _ptr_dc_site_name;
7395 463 : uint32_t size_dc_site_name_1 = 0;
7396 463 : uint32_t length_dc_site_name_1 = 0;
7397 463 : TALLOC_CTX *_mem_save_dc_site_name_0 = NULL;
7398 : uint32_t _ptr_client_site_name;
7399 463 : uint32_t size_client_site_name_1 = 0;
7400 463 : uint32_t length_client_site_name_1 = 0;
7401 463 : TALLOC_CTX *_mem_save_client_site_name_0 = NULL;
7402 463 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7403 463 : if (ndr_flags & NDR_SCALARS) {
7404 447 : NDR_CHECK(ndr_pull_align(ndr, 5));
7405 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
7406 447 : if (_ptr_dc_unc) {
7407 447 : NDR_PULL_ALLOC(ndr, r->dc_unc);
7408 : } else {
7409 0 : r->dc_unc = NULL;
7410 : }
7411 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
7412 447 : if (_ptr_dc_address) {
7413 447 : NDR_PULL_ALLOC(ndr, r->dc_address);
7414 : } else {
7415 0 : r->dc_address = NULL;
7416 : }
7417 485 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
7418 447 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7419 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7420 447 : if (_ptr_domain_name) {
7421 447 : NDR_PULL_ALLOC(ndr, r->domain_name);
7422 : } else {
7423 0 : r->domain_name = NULL;
7424 : }
7425 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
7426 447 : if (_ptr_forest_name) {
7427 415 : NDR_PULL_ALLOC(ndr, r->forest_name);
7428 : } else {
7429 32 : r->forest_name = NULL;
7430 : }
7431 485 : NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
7432 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
7433 447 : if (_ptr_dc_site_name) {
7434 417 : NDR_PULL_ALLOC(ndr, r->dc_site_name);
7435 : } else {
7436 30 : r->dc_site_name = NULL;
7437 : }
7438 447 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
7439 447 : if (_ptr_client_site_name) {
7440 417 : NDR_PULL_ALLOC(ndr, r->client_site_name);
7441 : } else {
7442 30 : r->client_site_name = NULL;
7443 : }
7444 447 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7445 : }
7446 463 : if (ndr_flags & NDR_BUFFERS) {
7447 447 : if (r->dc_unc) {
7448 447 : _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7449 447 : NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7450 447 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7451 447 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7452 447 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_unc, &size_dc_unc_1));
7453 447 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_unc, &length_dc_unc_1));
7454 447 : if (length_dc_unc_1 > size_dc_unc_1) {
7455 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_unc_1, length_dc_unc_1);
7456 : }
7457 447 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_unc_1, sizeof(uint16_t)));
7458 447 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, length_dc_unc_1, sizeof(uint16_t), CH_UTF16));
7459 447 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7460 : }
7461 447 : if (r->dc_address) {
7462 447 : _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7463 447 : NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7464 447 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7465 447 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7466 447 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_address, &size_dc_address_1));
7467 447 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_address, &length_dc_address_1));
7468 447 : if (length_dc_address_1 > size_dc_address_1) {
7469 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_address_1, length_dc_address_1);
7470 : }
7471 447 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_address_1, sizeof(uint16_t)));
7472 447 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, length_dc_address_1, sizeof(uint16_t), CH_UTF16));
7473 447 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7474 : }
7475 447 : if (r->domain_name) {
7476 447 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7477 447 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7478 447 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7479 447 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7480 447 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
7481 447 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
7482 447 : if (length_domain_name_1 > size_domain_name_1) {
7483 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
7484 : }
7485 447 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
7486 447 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
7487 447 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7488 : }
7489 447 : if (r->forest_name) {
7490 415 : _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7491 415 : NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7492 415 : NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7493 415 : NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7494 415 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->forest_name, &size_forest_name_1));
7495 415 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->forest_name, &length_forest_name_1));
7496 415 : if (length_forest_name_1 > size_forest_name_1) {
7497 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_forest_name_1, length_forest_name_1);
7498 : }
7499 415 : NDR_CHECK(ndr_check_string_terminator(ndr, length_forest_name_1, sizeof(uint16_t)));
7500 415 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, length_forest_name_1, sizeof(uint16_t), CH_UTF16));
7501 415 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7502 : }
7503 447 : if (r->dc_site_name) {
7504 417 : _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7505 417 : NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7506 417 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7507 417 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7508 417 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_site_name, &size_dc_site_name_1));
7509 417 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_site_name, &length_dc_site_name_1));
7510 417 : if (length_dc_site_name_1 > size_dc_site_name_1) {
7511 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_site_name_1, length_dc_site_name_1);
7512 : }
7513 417 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_site_name_1, sizeof(uint16_t)));
7514 417 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, length_dc_site_name_1, sizeof(uint16_t), CH_UTF16));
7515 417 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7516 : }
7517 447 : if (r->client_site_name) {
7518 417 : _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7519 417 : NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7520 417 : NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7521 417 : NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7522 417 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->client_site_name, &size_client_site_name_1));
7523 417 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->client_site_name, &length_client_site_name_1));
7524 417 : if (length_client_site_name_1 > size_client_site_name_1) {
7525 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_site_name_1, length_client_site_name_1);
7526 : }
7527 417 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_site_name_1, sizeof(uint16_t)));
7528 417 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, length_client_site_name_1, sizeof(uint16_t), CH_UTF16));
7529 417 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7530 : }
7531 : }
7532 421 : return NDR_ERR_SUCCESS;
7533 : }
7534 :
7535 0 : static void ndr_print_flags_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, int unused, const struct netr_DsRGetDCNameInfo *r)
7536 : {
7537 0 : ndr_print_netr_DsRGetDCNameInfo(ndr, name, r);
7538 0 : }
7539 :
7540 174 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7541 : {
7542 174 : ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7543 174 : if (r == NULL) { ndr_print_null(ndr); return; }
7544 174 : ndr->depth++;
7545 174 : ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7546 174 : ndr->depth++;
7547 174 : if (r->dc_unc) {
7548 174 : ndr_print_string(ndr, "dc_unc", r->dc_unc);
7549 : }
7550 174 : ndr->depth--;
7551 174 : ndr_print_ptr(ndr, "dc_address", r->dc_address);
7552 174 : ndr->depth++;
7553 174 : if (r->dc_address) {
7554 174 : ndr_print_string(ndr, "dc_address", r->dc_address);
7555 : }
7556 174 : ndr->depth--;
7557 174 : ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7558 174 : ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7559 174 : ndr_print_ptr(ndr, "domain_name", r->domain_name);
7560 174 : ndr->depth++;
7561 174 : if (r->domain_name) {
7562 174 : ndr_print_string(ndr, "domain_name", r->domain_name);
7563 : }
7564 174 : ndr->depth--;
7565 174 : ndr_print_ptr(ndr, "forest_name", r->forest_name);
7566 174 : ndr->depth++;
7567 174 : if (r->forest_name) {
7568 158 : ndr_print_string(ndr, "forest_name", r->forest_name);
7569 : }
7570 174 : ndr->depth--;
7571 174 : ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7572 174 : ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7573 174 : ndr->depth++;
7574 174 : if (r->dc_site_name) {
7575 158 : ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7576 : }
7577 174 : ndr->depth--;
7578 174 : ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7579 174 : ndr->depth++;
7580 174 : if (r->client_site_name) {
7581 158 : ndr_print_string(ndr, "client_site_name", r->client_site_name);
7582 : }
7583 174 : ndr->depth--;
7584 174 : ndr->depth--;
7585 : }
7586 :
7587 1088 : static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7588 : {
7589 : uint32_t level;
7590 1088 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7591 1088 : if (ndr_flags & NDR_SCALARS) {
7592 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7593 1088 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7594 1088 : NDR_CHECK(ndr_push_union_align(ndr, 4));
7595 1088 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7596 : /* ms_union is always aligned to the largest union arm*/
7597 1088 : NDR_CHECK(ndr_push_align(ndr, 4));
7598 1088 : switch (level) {
7599 1088 : case 1: {
7600 1088 : NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7601 932 : break; }
7602 :
7603 0 : default:
7604 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7605 : }
7606 0 : }
7607 1088 : if (ndr_flags & NDR_BUFFERS) {
7608 0 : if (!(ndr_flags & NDR_SCALARS)) {
7609 : /* We didn't get it above, and the token is not needed after this. */
7610 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
7611 : }
7612 0 : switch (level) {
7613 0 : case 1:
7614 0 : break;
7615 :
7616 0 : default:
7617 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7618 : }
7619 863 : }
7620 932 : return NDR_ERR_SUCCESS;
7621 : }
7622 :
7623 896 : static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7624 : {
7625 : uint32_t level;
7626 : uint32_t _level;
7627 896 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7628 896 : if (ndr_flags & NDR_SCALARS) {
7629 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
7630 896 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7631 896 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
7632 896 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7633 896 : if (_level != level) {
7634 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7635 : }
7636 : /* ms_union is always aligned to the largest union arm*/
7637 896 : NDR_CHECK(ndr_pull_align(ndr, 4));
7638 896 : switch (level) {
7639 896 : case 1: {
7640 896 : NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7641 766 : break; }
7642 :
7643 0 : default:
7644 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7645 : }
7646 0 : }
7647 896 : if (ndr_flags & NDR_BUFFERS) {
7648 0 : if (!(ndr_flags & NDR_SCALARS)) {
7649 : /* We didn't get it above, and the token is not needed after this. */
7650 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
7651 : }
7652 0 : switch (level) {
7653 0 : case 1:
7654 0 : break;
7655 :
7656 0 : default:
7657 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7658 : }
7659 742 : }
7660 766 : return NDR_ERR_SUCCESS;
7661 : }
7662 :
7663 312 : _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7664 : {
7665 : uint32_t level;
7666 312 : level = ndr_print_steal_switch_value(ndr, r);
7667 312 : ndr_print_union(ndr, name, level, "netr_Capabilities");
7668 312 : switch (level) {
7669 312 : case 1:
7670 312 : ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7671 312 : break;
7672 :
7673 0 : default:
7674 0 : ndr_print_bad_level(ndr, name, level);
7675 : }
7676 312 : }
7677 :
7678 437 : _PUBLIC_ enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7679 : {
7680 437 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7681 437 : return NDR_ERR_SUCCESS;
7682 : }
7683 :
7684 3300 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7685 : {
7686 : uint32_t v;
7687 3300 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7688 3300 : *r = v;
7689 3300 : return NDR_ERR_SUCCESS;
7690 : }
7691 :
7692 192 : _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7693 : {
7694 192 : ndr_print_uint32(ndr, name, r);
7695 192 : ndr->depth++;
7696 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7697 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7698 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7699 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7700 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7701 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7702 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7703 192 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7704 192 : ndr->depth--;
7705 192 : }
7706 :
7707 326 : static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7708 : {
7709 389 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7710 326 : return NDR_ERR_SUCCESS;
7711 : }
7712 :
7713 291 : static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7714 : {
7715 : uint32_t v;
7716 361 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7717 361 : *r = v;
7718 291 : return NDR_ERR_SUCCESS;
7719 : }
7720 :
7721 98 : _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7722 : {
7723 98 : ndr_print_uint32(ndr, name, r);
7724 98 : ndr->depth++;
7725 98 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7726 98 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7727 98 : ndr->depth--;
7728 98 : }
7729 :
7730 20 : static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7731 : {
7732 24 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7733 20 : return NDR_ERR_SUCCESS;
7734 : }
7735 :
7736 20 : static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7737 : {
7738 : uint16_t v;
7739 26 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7740 26 : *r = v;
7741 20 : return NDR_ERR_SUCCESS;
7742 : }
7743 :
7744 2 : _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7745 : {
7746 2 : ndr_print_uint16(ndr, name, r);
7747 2 : ndr->depth++;
7748 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7749 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7750 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7751 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7752 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7753 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7754 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7755 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7756 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7757 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7758 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7759 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7760 2 : ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7761 2 : ndr->depth--;
7762 2 : }
7763 :
7764 20 : static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7765 : {
7766 24 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7767 20 : return NDR_ERR_SUCCESS;
7768 : }
7769 :
7770 20 : static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7771 : {
7772 : uint8_t v;
7773 26 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7774 26 : *r = v;
7775 20 : return NDR_ERR_SUCCESS;
7776 : }
7777 :
7778 2 : _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7779 : {
7780 2 : ndr_print_uint8(ndr, name, r);
7781 2 : ndr->depth++;
7782 2 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7783 2 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7784 2 : ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7785 2 : ndr->depth--;
7786 2 : }
7787 :
7788 789 : static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7789 : {
7790 789 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7791 789 : if (ndr_flags & NDR_SCALARS) {
7792 400 : NDR_CHECK(ndr_push_align(ndr, 5));
7793 400 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7794 400 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7795 400 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7796 : }
7797 789 : if (ndr_flags & NDR_BUFFERS) {
7798 400 : if (r->policy) {
7799 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->policy_size));
7800 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7801 : }
7802 : }
7803 663 : return NDR_ERR_SUCCESS;
7804 : }
7805 :
7806 733 : static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7807 : {
7808 : uint32_t _ptr_policy;
7809 733 : uint32_t size_policy_1 = 0;
7810 733 : TALLOC_CTX *_mem_save_policy_0 = NULL;
7811 733 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7812 733 : if (ndr_flags & NDR_SCALARS) {
7813 372 : NDR_CHECK(ndr_pull_align(ndr, 5));
7814 372 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7815 372 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7816 372 : if (_ptr_policy) {
7817 0 : NDR_PULL_ALLOC(ndr, r->policy);
7818 : } else {
7819 372 : r->policy = NULL;
7820 : }
7821 372 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7822 : }
7823 733 : if (ndr_flags & NDR_BUFFERS) {
7824 372 : if (r->policy) {
7825 0 : _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7826 0 : NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7827 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7828 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->policy, &size_policy_1));
7829 0 : NDR_PULL_ALLOC_N(ndr, r->policy, size_policy_1);
7830 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, size_policy_1));
7831 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7832 : }
7833 372 : if (r->policy) {
7834 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->policy, r->policy_size));
7835 : }
7836 : }
7837 593 : return NDR_ERR_SUCCESS;
7838 : }
7839 :
7840 98 : _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7841 : {
7842 98 : ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7843 98 : if (r == NULL) { ndr_print_null(ndr); return; }
7844 98 : ndr->depth++;
7845 98 : ndr_print_uint32(ndr, "policy_size", r->policy_size);
7846 98 : ndr_print_ptr(ndr, "policy", r->policy);
7847 98 : ndr->depth++;
7848 98 : if (r->policy) {
7849 0 : ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7850 : }
7851 98 : ndr->depth--;
7852 98 : ndr->depth--;
7853 : }
7854 :
7855 24 : static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7856 : {
7857 24 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7858 24 : if (ndr_flags & NDR_SCALARS) {
7859 24 : NDR_CHECK(ndr_push_align(ndr, 4));
7860 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7861 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7862 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7863 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7864 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7865 : {
7866 24 : uint32_t _flags_save_string = ndr->flags;
7867 24 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7868 : {
7869 : struct ndr_push *_ndr_CSDVersion;
7870 24 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7871 24 : NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion));
7872 24 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7873 : }
7874 24 : ndr->flags = _flags_save_string;
7875 : }
7876 24 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7877 24 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7878 28 : NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7879 28 : NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7880 24 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7881 24 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7882 : }
7883 20 : if (ndr_flags & NDR_BUFFERS) {
7884 : }
7885 24 : return NDR_ERR_SUCCESS;
7886 : }
7887 :
7888 26 : static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7889 : {
7890 26 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7891 26 : if (ndr_flags & NDR_SCALARS) {
7892 26 : NDR_CHECK(ndr_pull_align(ndr, 4));
7893 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7894 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7895 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7896 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7897 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7898 : {
7899 26 : uint32_t _flags_save_string = ndr->flags;
7900 26 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7901 : {
7902 : struct ndr_pull *_ndr_CSDVersion;
7903 26 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7904 26 : NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion));
7905 26 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7906 : }
7907 26 : ndr->flags = _flags_save_string;
7908 : }
7909 26 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7910 26 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7911 32 : NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7912 32 : NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7913 26 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7914 26 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7915 : }
7916 20 : if (ndr_flags & NDR_BUFFERS) {
7917 : }
7918 26 : return NDR_ERR_SUCCESS;
7919 : }
7920 :
7921 2 : _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7922 : {
7923 2 : ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7924 2 : if (r == NULL) { ndr_print_null(ndr); return; }
7925 2 : ndr->depth++;
7926 2 : ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7927 2 : ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7928 2 : ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7929 2 : ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7930 2 : ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7931 : {
7932 2 : uint32_t _flags_save_string = ndr->flags;
7933 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7934 2 : ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7935 2 : ndr->flags = _flags_save_string;
7936 : }
7937 2 : ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7938 2 : ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7939 2 : ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7940 2 : ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7941 2 : ndr_print_uint8(ndr, "Reserved", r->Reserved);
7942 2 : ndr->depth--;
7943 : }
7944 :
7945 24 : static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7946 : {
7947 24 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7948 24 : if (ndr_flags & NDR_SCALARS) {
7949 24 : NDR_CHECK(ndr_push_align(ndr, 5));
7950 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 142));
7951 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7952 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 142));
7953 : {
7954 : struct ndr_push *_ndr_os;
7955 24 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_os, 0, 142 * 2));
7956 24 : NDR_CHECK(ndr_push_netr_OsVersionInfoEx(_ndr_os, NDR_SCALARS, &r->os));
7957 24 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_os, 0, 142 * 2));
7958 : }
7959 24 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7960 : }
7961 20 : if (ndr_flags & NDR_BUFFERS) {
7962 : }
7963 24 : return NDR_ERR_SUCCESS;
7964 : }
7965 :
7966 26 : static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7967 : {
7968 26 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7969 26 : if (ndr_flags & NDR_SCALARS) {
7970 26 : NDR_CHECK(ndr_pull_align(ndr, 5));
7971 26 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
7972 26 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->dummy));
7973 26 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size));
7974 : {
7975 : struct ndr_pull *_ndr_os;
7976 26 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_os, 0, r->size * 2));
7977 26 : NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(_ndr_os, NDR_SCALARS, &r->os));
7978 26 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_os, 0, r->size * 2));
7979 : }
7980 26 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7981 : }
7982 20 : if (ndr_flags & NDR_BUFFERS) {
7983 : }
7984 26 : return NDR_ERR_SUCCESS;
7985 : }
7986 :
7987 2 : _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7988 : {
7989 2 : ndr_print_struct(ndr, name, "netr_OsVersion");
7990 2 : if (r == NULL) { ndr_print_null(ndr); return; }
7991 2 : ndr->depth++;
7992 2 : ndr_print_uint3264(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7993 2 : ndr_print_uint3264(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7994 2 : ndr_print_uint3264(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7995 2 : ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7996 2 : ndr->depth--;
7997 : }
7998 :
7999 358 : static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
8000 : {
8001 358 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8002 358 : if (ndr_flags & NDR_SCALARS) {
8003 179 : NDR_CHECK(ndr_push_align(ndr, 5));
8004 179 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
8005 179 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
8006 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
8007 179 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8008 : }
8009 358 : if (ndr_flags & NDR_BUFFERS) {
8010 179 : if (r->os) {
8011 24 : NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
8012 : }
8013 : }
8014 302 : return NDR_ERR_SUCCESS;
8015 : }
8016 :
8017 378 : static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
8018 : {
8019 : uint32_t _ptr_os;
8020 378 : TALLOC_CTX *_mem_save_os_0 = NULL;
8021 378 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8022 378 : if (ndr_flags & NDR_SCALARS) {
8023 189 : NDR_CHECK(ndr_pull_align(ndr, 5));
8024 189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
8025 189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
8026 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
8027 189 : if (_ptr_os) {
8028 26 : NDR_PULL_ALLOC(ndr, r->os);
8029 : } else {
8030 163 : r->os = NULL;
8031 : }
8032 189 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8033 : }
8034 378 : if (ndr_flags & NDR_BUFFERS) {
8035 189 : if (r->os) {
8036 26 : _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
8037 26 : NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
8038 26 : NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
8039 26 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
8040 : }
8041 : }
8042 302 : return NDR_ERR_SUCCESS;
8043 : }
8044 :
8045 10 : _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
8046 : {
8047 10 : ndr_print_struct(ndr, name, "netr_OsVersionContainer");
8048 10 : if (r == NULL) { ndr_print_null(ndr); return; }
8049 10 : ndr->depth++;
8050 10 : ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
8051 10 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
8052 10 : ndr_print_ptr(ndr, "os", r->os);
8053 10 : ndr->depth++;
8054 10 : if (r->os) {
8055 2 : ndr_print_netr_OsVersion(ndr, "os", r->os);
8056 : }
8057 10 : ndr->depth--;
8058 10 : ndr->depth--;
8059 : }
8060 :
8061 179 : static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
8062 : {
8063 179 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8064 179 : if (ndr_flags & NDR_SCALARS) {
8065 179 : NDR_CHECK(ndr_push_align(ndr, 5));
8066 179 : NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8067 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
8068 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8069 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
8070 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
8071 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
8072 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
8073 179 : NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
8074 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
8075 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8076 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8077 207 : NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8078 179 : NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
8079 179 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8080 179 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8081 179 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8082 : }
8083 179 : if (ndr_flags & NDR_BUFFERS) {
8084 179 : NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8085 179 : if (r->dns_hostname) {
8086 144 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
8087 144 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8088 144 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
8089 144 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8090 : }
8091 179 : if (r->sitename) {
8092 168 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
8093 168 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8094 168 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
8095 168 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8096 : }
8097 179 : if (r->dummy1) {
8098 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
8099 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8100 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
8101 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8102 : }
8103 179 : if (r->dummy2) {
8104 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
8105 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8106 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
8107 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8108 : }
8109 179 : if (r->dummy3) {
8110 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
8111 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8112 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
8113 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8114 : }
8115 179 : if (r->dummy4) {
8116 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
8117 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8118 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
8119 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8120 : }
8121 179 : NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
8122 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
8123 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8124 179 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8125 : }
8126 151 : return NDR_ERR_SUCCESS;
8127 : }
8128 :
8129 189 : static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
8130 : {
8131 : uint32_t _ptr_dns_hostname;
8132 189 : uint32_t size_dns_hostname_1 = 0;
8133 189 : uint32_t length_dns_hostname_1 = 0;
8134 189 : TALLOC_CTX *_mem_save_dns_hostname_0 = NULL;
8135 : uint32_t _ptr_sitename;
8136 189 : uint32_t size_sitename_1 = 0;
8137 189 : uint32_t length_sitename_1 = 0;
8138 189 : TALLOC_CTX *_mem_save_sitename_0 = NULL;
8139 : uint32_t _ptr_dummy1;
8140 189 : uint32_t size_dummy1_1 = 0;
8141 189 : uint32_t length_dummy1_1 = 0;
8142 189 : TALLOC_CTX *_mem_save_dummy1_0 = NULL;
8143 : uint32_t _ptr_dummy2;
8144 189 : uint32_t size_dummy2_1 = 0;
8145 189 : uint32_t length_dummy2_1 = 0;
8146 189 : TALLOC_CTX *_mem_save_dummy2_0 = NULL;
8147 : uint32_t _ptr_dummy3;
8148 189 : uint32_t size_dummy3_1 = 0;
8149 189 : uint32_t length_dummy3_1 = 0;
8150 189 : TALLOC_CTX *_mem_save_dummy3_0 = NULL;
8151 : uint32_t _ptr_dummy4;
8152 189 : uint32_t size_dummy4_1 = 0;
8153 189 : uint32_t length_dummy4_1 = 0;
8154 189 : TALLOC_CTX *_mem_save_dummy4_0 = NULL;
8155 189 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8156 189 : if (ndr_flags & NDR_SCALARS) {
8157 189 : NDR_CHECK(ndr_pull_align(ndr, 5));
8158 189 : NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8159 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
8160 189 : if (_ptr_dns_hostname) {
8161 146 : NDR_PULL_ALLOC(ndr, r->dns_hostname);
8162 : } else {
8163 43 : r->dns_hostname = NULL;
8164 : }
8165 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8166 189 : if (_ptr_sitename) {
8167 170 : NDR_PULL_ALLOC(ndr, r->sitename);
8168 : } else {
8169 19 : r->sitename = NULL;
8170 : }
8171 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
8172 189 : if (_ptr_dummy1) {
8173 0 : NDR_PULL_ALLOC(ndr, r->dummy1);
8174 : } else {
8175 189 : r->dummy1 = NULL;
8176 : }
8177 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
8178 189 : if (_ptr_dummy2) {
8179 0 : NDR_PULL_ALLOC(ndr, r->dummy2);
8180 : } else {
8181 189 : r->dummy2 = NULL;
8182 : }
8183 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
8184 189 : if (_ptr_dummy3) {
8185 0 : NDR_PULL_ALLOC(ndr, r->dummy3);
8186 : } else {
8187 189 : r->dummy3 = NULL;
8188 : }
8189 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
8190 189 : if (_ptr_dummy4) {
8191 0 : NDR_PULL_ALLOC(ndr, r->dummy4);
8192 : } else {
8193 189 : r->dummy4 = NULL;
8194 : }
8195 189 : NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
8196 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
8197 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8198 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8199 227 : NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8200 189 : NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
8201 189 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8202 189 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8203 189 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8204 : }
8205 189 : if (ndr_flags & NDR_BUFFERS) {
8206 189 : NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8207 189 : if (r->dns_hostname) {
8208 146 : _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8209 146 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
8210 146 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
8211 146 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
8212 146 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_hostname, &size_dns_hostname_1));
8213 146 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_hostname, &length_dns_hostname_1));
8214 146 : if (length_dns_hostname_1 > size_dns_hostname_1) {
8215 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_hostname_1, length_dns_hostname_1);
8216 : }
8217 146 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_hostname_1, sizeof(uint16_t)));
8218 146 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, length_dns_hostname_1, sizeof(uint16_t), CH_UTF16));
8219 146 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
8220 : }
8221 189 : if (r->sitename) {
8222 170 : _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8223 170 : NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8224 170 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8225 170 : NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
8226 170 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
8227 170 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->sitename, &length_sitename_1));
8228 170 : if (length_sitename_1 > size_sitename_1) {
8229 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sitename_1, length_sitename_1);
8230 : }
8231 170 : NDR_CHECK(ndr_check_string_terminator(ndr, length_sitename_1, sizeof(uint16_t)));
8232 170 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, length_sitename_1, sizeof(uint16_t), CH_UTF16));
8233 170 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8234 : }
8235 189 : if (r->dummy1) {
8236 0 : _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8237 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
8238 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
8239 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
8240 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy1, &size_dummy1_1));
8241 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy1, &length_dummy1_1));
8242 0 : if (length_dummy1_1 > size_dummy1_1) {
8243 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy1_1, length_dummy1_1);
8244 : }
8245 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy1_1, sizeof(uint16_t)));
8246 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, length_dummy1_1, sizeof(uint16_t), CH_UTF16));
8247 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
8248 : }
8249 189 : if (r->dummy2) {
8250 0 : _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
8251 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
8252 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
8253 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
8254 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy2, &size_dummy2_1));
8255 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy2, &length_dummy2_1));
8256 0 : if (length_dummy2_1 > size_dummy2_1) {
8257 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy2_1, length_dummy2_1);
8258 : }
8259 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy2_1, sizeof(uint16_t)));
8260 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, length_dummy2_1, sizeof(uint16_t), CH_UTF16));
8261 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
8262 : }
8263 189 : if (r->dummy3) {
8264 0 : _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
8265 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
8266 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
8267 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
8268 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy3, &size_dummy3_1));
8269 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy3, &length_dummy3_1));
8270 0 : if (length_dummy3_1 > size_dummy3_1) {
8271 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy3_1, length_dummy3_1);
8272 : }
8273 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy3_1, sizeof(uint16_t)));
8274 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, length_dummy3_1, sizeof(uint16_t), CH_UTF16));
8275 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
8276 : }
8277 189 : if (r->dummy4) {
8278 0 : _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
8279 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
8280 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
8281 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
8282 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy4, &size_dummy4_1));
8283 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy4, &length_dummy4_1));
8284 0 : if (length_dummy4_1 > size_dummy4_1) {
8285 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy4_1, length_dummy4_1);
8286 : }
8287 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy4_1, sizeof(uint16_t)));
8288 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, length_dummy4_1, sizeof(uint16_t), CH_UTF16));
8289 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
8290 : }
8291 189 : NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
8292 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
8293 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8294 189 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8295 : }
8296 151 : return NDR_ERR_SUCCESS;
8297 : }
8298 :
8299 10 : _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
8300 : {
8301 10 : ndr_print_struct(ndr, name, "netr_WorkstationInformation");
8302 10 : if (r == NULL) { ndr_print_null(ndr); return; }
8303 10 : ndr->depth++;
8304 10 : ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8305 10 : ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
8306 10 : ndr->depth++;
8307 10 : if (r->dns_hostname) {
8308 2 : ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
8309 : }
8310 10 : ndr->depth--;
8311 10 : ndr_print_ptr(ndr, "sitename", r->sitename);
8312 10 : ndr->depth++;
8313 10 : if (r->sitename) {
8314 2 : ndr_print_string(ndr, "sitename", r->sitename);
8315 : }
8316 10 : ndr->depth--;
8317 10 : ndr_print_ptr(ndr, "dummy1", r->dummy1);
8318 10 : ndr->depth++;
8319 10 : if (r->dummy1) {
8320 0 : ndr_print_string(ndr, "dummy1", r->dummy1);
8321 : }
8322 10 : ndr->depth--;
8323 10 : ndr_print_ptr(ndr, "dummy2", r->dummy2);
8324 10 : ndr->depth++;
8325 10 : if (r->dummy2) {
8326 0 : ndr_print_string(ndr, "dummy2", r->dummy2);
8327 : }
8328 10 : ndr->depth--;
8329 10 : ndr_print_ptr(ndr, "dummy3", r->dummy3);
8330 10 : ndr->depth++;
8331 10 : if (r->dummy3) {
8332 0 : ndr_print_string(ndr, "dummy3", r->dummy3);
8333 : }
8334 10 : ndr->depth--;
8335 10 : ndr_print_ptr(ndr, "dummy4", r->dummy4);
8336 10 : ndr->depth++;
8337 10 : if (r->dummy4) {
8338 0 : ndr_print_string(ndr, "dummy4", r->dummy4);
8339 : }
8340 10 : ndr->depth--;
8341 10 : ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
8342 10 : ndr_print_lsa_String(ndr, "os_name", &r->os_name);
8343 10 : ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8344 10 : ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8345 10 : ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8346 10 : ndr_print_kerb_EncTypes(ndr, "supported_enc_types", r->supported_enc_types);
8347 10 : ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8348 10 : ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8349 10 : ndr->depth--;
8350 : }
8351 :
8352 179 : static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
8353 : {
8354 : uint32_t level;
8355 179 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8356 179 : if (ndr_flags & NDR_SCALARS) {
8357 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
8358 179 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8359 179 : NDR_CHECK(ndr_push_union_align(ndr, 5));
8360 179 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8361 : /* ms_union is always aligned to the largest union arm*/
8362 179 : NDR_CHECK(ndr_push_align(ndr, 5));
8363 179 : switch (level) {
8364 168 : case 1: {
8365 168 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
8366 140 : break; }
8367 :
8368 11 : case 2: {
8369 11 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8370 11 : break; }
8371 :
8372 0 : default:
8373 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8374 : }
8375 0 : }
8376 179 : if (ndr_flags & NDR_BUFFERS) {
8377 179 : if (!(ndr_flags & NDR_SCALARS)) {
8378 : /* We didn't get it above, and the token is not needed after this. */
8379 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8380 : }
8381 179 : switch (level) {
8382 168 : case 1:
8383 168 : if (r->workstation_info) {
8384 168 : NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
8385 : }
8386 140 : break;
8387 :
8388 11 : case 2:
8389 11 : if (r->lsa_policy_info) {
8390 11 : NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8391 : }
8392 11 : break;
8393 :
8394 0 : default:
8395 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8396 : }
8397 0 : }
8398 151 : return NDR_ERR_SUCCESS;
8399 : }
8400 :
8401 189 : static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
8402 : {
8403 : uint32_t level;
8404 : uint32_t _level;
8405 189 : TALLOC_CTX *_mem_save_workstation_info_0 = NULL;
8406 : uint32_t _ptr_workstation_info;
8407 189 : TALLOC_CTX *_mem_save_lsa_policy_info_0 = NULL;
8408 : uint32_t _ptr_lsa_policy_info;
8409 189 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8410 189 : if (ndr_flags & NDR_SCALARS) {
8411 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
8412 189 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
8413 189 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
8414 189 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8415 189 : if (_level != level) {
8416 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8417 : }
8418 : /* ms_union is always aligned to the largest union arm*/
8419 189 : NDR_CHECK(ndr_pull_align(ndr, 5));
8420 189 : switch (level) {
8421 178 : case 1: {
8422 178 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
8423 178 : if (_ptr_workstation_info) {
8424 178 : NDR_PULL_ALLOC(ndr, r->workstation_info);
8425 : } else {
8426 0 : r->workstation_info = NULL;
8427 : }
8428 140 : break; }
8429 :
8430 11 : case 2: {
8431 11 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8432 11 : if (_ptr_lsa_policy_info) {
8433 11 : NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8434 : } else {
8435 0 : r->lsa_policy_info = NULL;
8436 : }
8437 11 : break; }
8438 :
8439 0 : default:
8440 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8441 : }
8442 0 : }
8443 189 : if (ndr_flags & NDR_BUFFERS) {
8444 189 : if (!(ndr_flags & NDR_SCALARS)) {
8445 : /* We didn't get it above, and the token is not needed after this. */
8446 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
8447 : }
8448 189 : switch (level) {
8449 178 : case 1:
8450 178 : if (r->workstation_info) {
8451 178 : _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8452 178 : NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
8453 178 : NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
8454 178 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
8455 : }
8456 140 : break;
8457 :
8458 11 : case 2:
8459 11 : if (r->lsa_policy_info) {
8460 11 : _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8461 11 : NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8462 11 : NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8463 11 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8464 : }
8465 11 : break;
8466 :
8467 0 : default:
8468 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8469 : }
8470 0 : }
8471 151 : return NDR_ERR_SUCCESS;
8472 : }
8473 :
8474 10 : _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
8475 : {
8476 : uint32_t level;
8477 10 : level = ndr_print_steal_switch_value(ndr, r);
8478 10 : ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
8479 10 : switch (level) {
8480 10 : case 1:
8481 10 : ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
8482 10 : ndr->depth++;
8483 10 : if (r->workstation_info) {
8484 10 : ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
8485 : }
8486 10 : ndr->depth--;
8487 10 : break;
8488 :
8489 0 : case 2:
8490 0 : ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8491 0 : ndr->depth++;
8492 0 : if (r->lsa_policy_info) {
8493 0 : ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8494 : }
8495 0 : ndr->depth--;
8496 0 : break;
8497 :
8498 0 : default:
8499 0 : ndr_print_bad_level(ndr, name, level);
8500 : }
8501 10 : }
8502 :
8503 210 : static enum ndr_err_code ndr_push_netr_trust_extension_info(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_info *r)
8504 : {
8505 210 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8506 210 : if (ndr_flags & NDR_SCALARS) {
8507 210 : NDR_CHECK(ndr_push_align(ndr, 4));
8508 210 : NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
8509 210 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8510 210 : NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
8511 210 : NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8512 210 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8513 : }
8514 175 : if (ndr_flags & NDR_BUFFERS) {
8515 : }
8516 210 : return NDR_ERR_SUCCESS;
8517 : }
8518 :
8519 176 : static enum ndr_err_code ndr_pull_netr_trust_extension_info(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_info *r)
8520 : {
8521 176 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8522 176 : if (ndr_flags & NDR_SCALARS) {
8523 176 : NDR_CHECK(ndr_pull_align(ndr, 4));
8524 176 : NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
8525 176 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8526 176 : NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8527 176 : NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8528 176 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8529 : }
8530 140 : if (ndr_flags & NDR_BUFFERS) {
8531 : }
8532 176 : return NDR_ERR_SUCCESS;
8533 : }
8534 :
8535 92 : _PUBLIC_ void ndr_print_netr_trust_extension_info(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_info *r)
8536 : {
8537 92 : ndr_print_struct(ndr, name, "netr_trust_extension_info");
8538 92 : if (r == NULL) { ndr_print_null(ndr); return; }
8539 92 : ndr->depth++;
8540 92 : ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
8541 92 : ndr_print_uint32(ndr, "parent_index", r->parent_index);
8542 92 : ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type);
8543 92 : ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8544 92 : ndr->depth--;
8545 : }
8546 :
8547 210 : static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
8548 : {
8549 210 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8550 210 : if (ndr_flags & NDR_SCALARS) {
8551 210 : NDR_CHECK(ndr_push_align(ndr, 5));
8552 210 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 8));
8553 210 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8554 210 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 8));
8555 : {
8556 : struct ndr_push *_ndr_info;
8557 210 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, 8 * 2));
8558 210 : NDR_CHECK(ndr_push_netr_trust_extension_info(_ndr_info, NDR_SCALARS, &r->info));
8559 210 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, 8 * 2));
8560 : }
8561 210 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8562 : }
8563 175 : if (ndr_flags & NDR_BUFFERS) {
8564 : }
8565 210 : return NDR_ERR_SUCCESS;
8566 : }
8567 :
8568 176 : static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
8569 : {
8570 176 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8571 176 : if (ndr_flags & NDR_SCALARS) {
8572 176 : NDR_CHECK(ndr_pull_align(ndr, 5));
8573 176 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
8574 176 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->dummy));
8575 176 : NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size));
8576 : {
8577 : struct ndr_pull *_ndr_info;
8578 176 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, r->size * 2));
8579 176 : NDR_CHECK(ndr_pull_netr_trust_extension_info(_ndr_info, NDR_SCALARS, &r->info));
8580 176 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, r->size * 2));
8581 : }
8582 176 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8583 : }
8584 140 : if (ndr_flags & NDR_BUFFERS) {
8585 : }
8586 176 : return NDR_ERR_SUCCESS;
8587 : }
8588 :
8589 92 : _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
8590 : {
8591 92 : ndr_print_struct(ndr, name, "netr_trust_extension");
8592 92 : if (r == NULL) { ndr_print_null(ndr); return; }
8593 92 : ndr->depth++;
8594 92 : ndr_print_uint3264(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
8595 92 : ndr_print_uint3264(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
8596 92 : ndr_print_uint3264(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
8597 92 : ndr_print_netr_trust_extension_info(ndr, "info", &r->info);
8598 92 : ndr->depth--;
8599 : }
8600 :
8601 840 : static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
8602 : {
8603 840 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8604 840 : if (ndr_flags & NDR_SCALARS) {
8605 420 : NDR_CHECK(ndr_push_align(ndr, 5));
8606 420 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->info == NULL?0:16));
8607 420 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->info == NULL?0:16));
8608 420 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8609 420 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8610 : }
8611 840 : if (ndr_flags & NDR_BUFFERS) {
8612 420 : if (r->info) {
8613 210 : NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8614 : }
8615 : }
8616 700 : return NDR_ERR_SUCCESS;
8617 : }
8618 :
8619 696 : static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
8620 : {
8621 : uint32_t _ptr_info;
8622 696 : TALLOC_CTX *_mem_save_info_0 = NULL;
8623 696 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8624 696 : if (ndr_flags & NDR_SCALARS) {
8625 348 : NDR_CHECK(ndr_pull_align(ndr, 5));
8626 348 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
8627 348 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
8628 348 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8629 348 : if (_ptr_info) {
8630 176 : NDR_PULL_ALLOC(ndr, r->info);
8631 : } else {
8632 172 : r->info = NULL;
8633 : }
8634 348 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8635 : }
8636 696 : if (ndr_flags & NDR_BUFFERS) {
8637 348 : if (r->info) {
8638 176 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8639 176 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8640 176 : NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8641 176 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8642 : }
8643 : }
8644 560 : return NDR_ERR_SUCCESS;
8645 : }
8646 :
8647 180 : _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8648 : {
8649 180 : ndr_print_struct(ndr, name, "netr_trust_extension_container");
8650 180 : if (r == NULL) { ndr_print_null(ndr); return; }
8651 180 : ndr->depth++;
8652 180 : ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->info == NULL?0:16:r->length);
8653 180 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->info == NULL?0:16:r->size);
8654 180 : ndr_print_ptr(ndr, "info", r->info);
8655 180 : ndr->depth++;
8656 180 : if (r->info) {
8657 92 : ndr_print_netr_trust_extension(ndr, "info", r->info);
8658 : }
8659 180 : ndr->depth--;
8660 180 : ndr->depth--;
8661 : }
8662 :
8663 840 : static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8664 : {
8665 840 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8666 840 : if (ndr_flags & NDR_SCALARS) {
8667 420 : NDR_CHECK(ndr_push_align(ndr, 5));
8668 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8669 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8670 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8671 420 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8672 420 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8673 420 : NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8674 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8675 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8676 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8677 420 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8678 420 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8679 420 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8680 420 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8681 420 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8682 : }
8683 840 : if (ndr_flags & NDR_BUFFERS) {
8684 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8685 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8686 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8687 420 : if (r->domain_sid) {
8688 420 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8689 : }
8690 420 : NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8691 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8692 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8693 420 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8694 : }
8695 700 : return NDR_ERR_SUCCESS;
8696 : }
8697 :
8698 696 : static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8699 : {
8700 : uint32_t _ptr_domain_sid;
8701 696 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
8702 696 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8703 696 : if (ndr_flags & NDR_SCALARS) {
8704 348 : NDR_CHECK(ndr_pull_align(ndr, 5));
8705 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8706 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8707 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8708 348 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8709 348 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8710 348 : if (_ptr_domain_sid) {
8711 348 : NDR_PULL_ALLOC(ndr, r->domain_sid);
8712 : } else {
8713 0 : r->domain_sid = NULL;
8714 : }
8715 348 : NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8716 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8717 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8718 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8719 348 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8720 348 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8721 348 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8722 348 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8723 348 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8724 : }
8725 696 : if (ndr_flags & NDR_BUFFERS) {
8726 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8727 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8728 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8729 348 : if (r->domain_sid) {
8730 348 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8731 348 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8732 348 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8733 348 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8734 : }
8735 348 : NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8736 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8737 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8738 348 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8739 : }
8740 560 : return NDR_ERR_SUCCESS;
8741 : }
8742 :
8743 180 : _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8744 : {
8745 180 : ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8746 180 : if (r == NULL) { ndr_print_null(ndr); return; }
8747 180 : ndr->depth++;
8748 180 : ndr_print_lsa_StringLarge(ndr, "domainname", &r->domainname);
8749 180 : ndr_print_lsa_StringLarge(ndr, "dns_domainname", &r->dns_domainname);
8750 180 : ndr_print_lsa_StringLarge(ndr, "dns_forestname", &r->dns_forestname);
8751 180 : ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8752 180 : ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8753 180 : ndr->depth++;
8754 180 : if (r->domain_sid) {
8755 180 : ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8756 : }
8757 180 : ndr->depth--;
8758 180 : ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8759 180 : ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8760 180 : ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8761 180 : ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8762 180 : ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8763 180 : ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8764 180 : ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8765 180 : ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8766 180 : ndr->depth--;
8767 : }
8768 :
8769 210 : static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8770 : {
8771 : uint32_t cntr_trusted_domains_1;
8772 210 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8773 210 : if (ndr_flags & NDR_SCALARS) {
8774 210 : NDR_CHECK(ndr_push_align(ndr, 5));
8775 210 : NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8776 210 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8777 210 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8778 210 : NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8779 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8780 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8781 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8782 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8783 245 : NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8784 210 : NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
8785 210 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8786 210 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8787 210 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8788 : }
8789 210 : if (ndr_flags & NDR_BUFFERS) {
8790 210 : NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8791 210 : if (r->trusted_domains) {
8792 210 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->trusted_domain_count));
8793 385 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
8794 210 : NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8795 : }
8796 385 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
8797 210 : NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8798 : }
8799 : }
8800 210 : NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8801 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8802 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8803 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8804 210 : NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8805 : }
8806 175 : return NDR_ERR_SUCCESS;
8807 : }
8808 :
8809 172 : static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8810 : {
8811 : uint32_t _ptr_trusted_domains;
8812 172 : uint32_t size_trusted_domains_1 = 0;
8813 : uint32_t cntr_trusted_domains_1;
8814 172 : TALLOC_CTX *_mem_save_trusted_domains_0 = NULL;
8815 172 : TALLOC_CTX *_mem_save_trusted_domains_1 = NULL;
8816 172 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8817 172 : if (ndr_flags & NDR_SCALARS) {
8818 172 : NDR_CHECK(ndr_pull_align(ndr, 5));
8819 172 : NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8820 172 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8821 172 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8822 172 : if (_ptr_trusted_domains) {
8823 172 : NDR_PULL_ALLOC(ndr, r->trusted_domains);
8824 : } else {
8825 0 : r->trusted_domains = NULL;
8826 : }
8827 172 : NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8828 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8829 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8830 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8831 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8832 204 : NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8833 172 : NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
8834 172 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8835 172 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8836 172 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8837 : }
8838 172 : if (ndr_flags & NDR_BUFFERS) {
8839 172 : NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8840 172 : if (r->trusted_domains) {
8841 172 : _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8842 172 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8843 172 : NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8844 172 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->trusted_domains, &size_trusted_domains_1));
8845 172 : NDR_PULL_ALLOC_N(ndr, r->trusted_domains, size_trusted_domains_1);
8846 172 : _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8847 172 : NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8848 348 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
8849 176 : NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8850 : }
8851 316 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
8852 176 : NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8853 : }
8854 172 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8855 172 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8856 : }
8857 172 : NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8858 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8859 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8860 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8861 172 : NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8862 172 : if (r->trusted_domains) {
8863 172 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8864 : }
8865 200 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
8866 : }
8867 : }
8868 140 : return NDR_ERR_SUCCESS;
8869 : }
8870 :
8871 88 : _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8872 : {
8873 : uint32_t cntr_trusted_domains_1;
8874 88 : ndr_print_struct(ndr, name, "netr_DomainInformation");
8875 88 : if (r == NULL) { ndr_print_null(ndr); return; }
8876 88 : ndr->depth++;
8877 88 : ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8878 88 : ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8879 88 : ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8880 88 : ndr->depth++;
8881 88 : if (r->trusted_domains) {
8882 88 : ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8883 88 : ndr->depth++;
8884 180 : for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
8885 92 : ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8886 : }
8887 88 : ndr->depth--;
8888 : }
8889 88 : ndr->depth--;
8890 88 : ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8891 88 : ndr_print_lsa_StringLarge(ndr, "dns_hostname", &r->dns_hostname);
8892 88 : ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8893 88 : ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8894 88 : ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8895 88 : ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8896 88 : ndr_print_kerb_EncTypes(ndr, "supported_enc_types", r->supported_enc_types);
8897 88 : ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8898 88 : ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8899 88 : ndr->depth--;
8900 : }
8901 :
8902 221 : static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8903 : {
8904 : uint32_t level;
8905 221 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8906 221 : if (ndr_flags & NDR_SCALARS) {
8907 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
8908 221 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8909 221 : NDR_CHECK(ndr_push_union_align(ndr, 5));
8910 221 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8911 : /* ms_union is always aligned to the largest union arm*/
8912 221 : NDR_CHECK(ndr_push_align(ndr, 5));
8913 221 : switch (level) {
8914 210 : case 1: {
8915 210 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8916 175 : break; }
8917 :
8918 11 : case 2: {
8919 11 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8920 11 : break; }
8921 :
8922 0 : default:
8923 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8924 : }
8925 0 : }
8926 221 : if (ndr_flags & NDR_BUFFERS) {
8927 221 : if (!(ndr_flags & NDR_SCALARS)) {
8928 : /* We didn't get it above, and the token is not needed after this. */
8929 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
8930 : }
8931 221 : switch (level) {
8932 210 : case 1:
8933 210 : if (r->domain_info) {
8934 210 : NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8935 : }
8936 175 : break;
8937 :
8938 11 : case 2:
8939 11 : if (r->lsa_policy_info) {
8940 11 : NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8941 : }
8942 11 : break;
8943 :
8944 0 : default:
8945 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8946 : }
8947 0 : }
8948 186 : return NDR_ERR_SUCCESS;
8949 : }
8950 :
8951 183 : static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8952 : {
8953 : uint32_t level;
8954 : uint32_t _level;
8955 183 : TALLOC_CTX *_mem_save_domain_info_0 = NULL;
8956 : uint32_t _ptr_domain_info;
8957 183 : TALLOC_CTX *_mem_save_lsa_policy_info_0 = NULL;
8958 : uint32_t _ptr_lsa_policy_info;
8959 183 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8960 183 : if (ndr_flags & NDR_SCALARS) {
8961 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
8962 183 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
8963 183 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
8964 183 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8965 183 : if (_level != level) {
8966 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8967 : }
8968 : /* ms_union is always aligned to the largest union arm*/
8969 183 : NDR_CHECK(ndr_pull_align(ndr, 5));
8970 183 : switch (level) {
8971 172 : case 1: {
8972 172 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8973 172 : if (_ptr_domain_info) {
8974 172 : NDR_PULL_ALLOC(ndr, r->domain_info);
8975 : } else {
8976 0 : r->domain_info = NULL;
8977 : }
8978 140 : break; }
8979 :
8980 11 : case 2: {
8981 11 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8982 11 : if (_ptr_lsa_policy_info) {
8983 11 : NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8984 : } else {
8985 0 : r->lsa_policy_info = NULL;
8986 : }
8987 11 : break; }
8988 :
8989 0 : default:
8990 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8991 : }
8992 0 : }
8993 183 : if (ndr_flags & NDR_BUFFERS) {
8994 183 : if (!(ndr_flags & NDR_SCALARS)) {
8995 : /* We didn't get it above, and the token is not needed after this. */
8996 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
8997 : }
8998 183 : switch (level) {
8999 172 : case 1:
9000 172 : if (r->domain_info) {
9001 172 : _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9002 172 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
9003 172 : NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
9004 172 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
9005 : }
9006 140 : break;
9007 :
9008 11 : case 2:
9009 11 : if (r->lsa_policy_info) {
9010 11 : _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9011 11 : NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
9012 11 : NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
9013 11 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
9014 : }
9015 11 : break;
9016 :
9017 0 : default:
9018 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9019 : }
9020 0 : }
9021 151 : return NDR_ERR_SUCCESS;
9022 : }
9023 :
9024 88 : _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
9025 : {
9026 : uint32_t level;
9027 88 : level = ndr_print_steal_switch_value(ndr, r);
9028 88 : ndr_print_union(ndr, name, level, "netr_DomainInfo");
9029 88 : switch (level) {
9030 88 : case 1:
9031 88 : ndr_print_ptr(ndr, "domain_info", r->domain_info);
9032 88 : ndr->depth++;
9033 88 : if (r->domain_info) {
9034 88 : ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
9035 : }
9036 88 : ndr->depth--;
9037 88 : break;
9038 :
9039 0 : case 2:
9040 0 : ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
9041 0 : ndr->depth++;
9042 0 : if (r->lsa_policy_info) {
9043 0 : ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
9044 : }
9045 0 : ndr->depth--;
9046 0 : break;
9047 :
9048 0 : default:
9049 0 : ndr_print_bad_level(ndr, name, level);
9050 : }
9051 88 : }
9052 :
9053 453 : static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
9054 : {
9055 : {
9056 453 : uint32_t _flags_save_STRUCT = ndr->flags;
9057 453 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
9058 453 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9059 453 : if (ndr_flags & NDR_SCALARS) {
9060 453 : NDR_CHECK(ndr_push_align(ndr, 4));
9061 453 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
9062 453 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
9063 453 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9064 : }
9065 406 : if (ndr_flags & NDR_BUFFERS) {
9066 : }
9067 453 : ndr->flags = _flags_save_STRUCT;
9068 : }
9069 453 : return NDR_ERR_SUCCESS;
9070 : }
9071 :
9072 451 : static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
9073 : {
9074 451 : uint32_t size_data_0 = 0;
9075 : {
9076 451 : uint32_t _flags_save_STRUCT = ndr->flags;
9077 451 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
9078 451 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9079 451 : if (ndr_flags & NDR_SCALARS) {
9080 451 : NDR_CHECK(ndr_pull_align(ndr, 4));
9081 451 : size_data_0 = 512;
9082 451 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
9083 451 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
9084 451 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9085 : }
9086 404 : if (ndr_flags & NDR_BUFFERS) {
9087 : }
9088 451 : ndr->flags = _flags_save_STRUCT;
9089 : }
9090 451 : return NDR_ERR_SUCCESS;
9091 : }
9092 :
9093 0 : _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
9094 : {
9095 0 : ndr_print_struct(ndr, name, "netr_CryptPassword");
9096 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9097 : {
9098 0 : uint32_t _flags_save_STRUCT = ndr->flags;
9099 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
9100 0 : ndr->depth++;
9101 0 : ndr_print_array_uint8(ndr, "data", r->data, 512);
9102 0 : ndr_print_uint32(ndr, "length", r->length);
9103 0 : ndr->depth--;
9104 0 : ndr->flags = _flags_save_STRUCT;
9105 : }
9106 : }
9107 :
9108 34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamType(struct ndr_push *ndr, int ndr_flags, enum netr_SendToSamType r)
9109 : {
9110 34 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
9111 34 : return NDR_ERR_SUCCESS;
9112 : }
9113 :
9114 34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamType(struct ndr_pull *ndr, int ndr_flags, enum netr_SendToSamType *r)
9115 : {
9116 : uint16_t v;
9117 34 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
9118 34 : *r = v;
9119 34 : return NDR_ERR_SUCCESS;
9120 : }
9121 :
9122 0 : _PUBLIC_ void ndr_print_netr_SendToSamType(struct ndr_print *ndr, const char *name, enum netr_SendToSamType r)
9123 : {
9124 0 : const char *val = NULL;
9125 :
9126 0 : switch (r) {
9127 0 : case SendToSamUpdatePassword: val = "SendToSamUpdatePassword"; break;
9128 0 : case SendToSamResetBadPasswordCount: val = "SendToSamResetBadPasswordCount"; break;
9129 0 : case SendToSamUpdatePasswordForward: val = "SendToSamUpdatePasswordForward"; break;
9130 0 : case SendToSamUpdateLastLogonTimestamp: val = "SendToSamUpdateLastLogonTimestamp"; break;
9131 0 : case SendToSamResetSmartCardPassword: val = "SendToSamResetSmartCardPassword"; break;
9132 : }
9133 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
9134 0 : }
9135 :
9136 34 : static enum ndr_err_code ndr_push_netr_SendToSamResetBadPasswordCount(struct ndr_push *ndr, int ndr_flags, const struct netr_SendToSamResetBadPasswordCount *r)
9137 : {
9138 34 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9139 34 : if (ndr_flags & NDR_SCALARS) {
9140 34 : NDR_CHECK(ndr_push_align(ndr, 4));
9141 34 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9142 34 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9143 : }
9144 34 : if (ndr_flags & NDR_BUFFERS) {
9145 : }
9146 34 : return NDR_ERR_SUCCESS;
9147 : }
9148 :
9149 34 : static enum ndr_err_code ndr_pull_netr_SendToSamResetBadPasswordCount(struct ndr_pull *ndr, int ndr_flags, struct netr_SendToSamResetBadPasswordCount *r)
9150 : {
9151 34 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9152 34 : if (ndr_flags & NDR_SCALARS) {
9153 34 : NDR_CHECK(ndr_pull_align(ndr, 4));
9154 34 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9155 34 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9156 : }
9157 34 : if (ndr_flags & NDR_BUFFERS) {
9158 : }
9159 34 : return NDR_ERR_SUCCESS;
9160 : }
9161 :
9162 0 : _PUBLIC_ void ndr_print_netr_SendToSamResetBadPasswordCount(struct ndr_print *ndr, const char *name, const struct netr_SendToSamResetBadPasswordCount *r)
9163 : {
9164 0 : ndr_print_struct(ndr, name, "netr_SendToSamResetBadPasswordCount");
9165 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9166 0 : ndr->depth++;
9167 0 : ndr_print_GUID(ndr, "guid", &r->guid);
9168 0 : ndr->depth--;
9169 : }
9170 :
9171 34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamMessage(struct ndr_push *ndr, int ndr_flags, const union netr_SendToSamMessage *r)
9172 : {
9173 : uint32_t level;
9174 34 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9175 34 : if (ndr_flags & NDR_SCALARS) {
9176 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
9177 34 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
9178 : /* ms_union is always aligned to the largest union arm*/
9179 34 : NDR_CHECK(ndr_push_align(ndr, 4));
9180 34 : switch (level) {
9181 34 : case SendToSamResetBadPasswordCount: {
9182 34 : NDR_CHECK(ndr_push_netr_SendToSamResetBadPasswordCount(ndr, NDR_SCALARS, &r->reset_bad_password));
9183 34 : break; }
9184 :
9185 0 : default: {
9186 0 : break; }
9187 :
9188 : }
9189 0 : }
9190 34 : return NDR_ERR_SUCCESS;
9191 : }
9192 :
9193 34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamMessage(struct ndr_pull *ndr, int ndr_flags, union netr_SendToSamMessage *r)
9194 : {
9195 : uint32_t level;
9196 34 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9197 34 : if (ndr_flags & NDR_SCALARS) {
9198 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
9199 34 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
9200 : /* ms_union is always aligned to the largest union arm*/
9201 34 : NDR_CHECK(ndr_pull_align(ndr, 4));
9202 34 : switch (level) {
9203 34 : case SendToSamResetBadPasswordCount: {
9204 34 : NDR_CHECK(ndr_pull_netr_SendToSamResetBadPasswordCount(ndr, NDR_SCALARS, &r->reset_bad_password));
9205 34 : break; }
9206 :
9207 0 : default: {
9208 0 : break; }
9209 :
9210 : }
9211 0 : }
9212 34 : return NDR_ERR_SUCCESS;
9213 : }
9214 :
9215 0 : _PUBLIC_ void ndr_print_netr_SendToSamMessage(struct ndr_print *ndr, const char *name, const union netr_SendToSamMessage *r)
9216 : {
9217 : uint32_t level;
9218 0 : level = ndr_print_steal_switch_value(ndr, r);
9219 0 : ndr_print_union(ndr, name, level, "netr_SendToSamMessage");
9220 0 : switch (level) {
9221 0 : case SendToSamResetBadPasswordCount:
9222 0 : ndr_print_netr_SendToSamResetBadPasswordCount(ndr, "reset_bad_password", &r->reset_bad_password);
9223 0 : break;
9224 :
9225 0 : default:
9226 0 : break;
9227 :
9228 : }
9229 0 : }
9230 :
9231 34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamBase(struct ndr_push *ndr, int ndr_flags, const struct netr_SendToSamBase *r)
9232 : {
9233 34 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9234 34 : if (ndr_flags & NDR_SCALARS) {
9235 34 : NDR_CHECK(ndr_push_align(ndr, 4));
9236 34 : NDR_CHECK(ndr_push_netr_SendToSamType(ndr, NDR_SCALARS, r->message_type));
9237 34 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_size));
9238 : {
9239 : struct ndr_push *_ndr_message;
9240 34 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_message, 0, r->message_size));
9241 34 : NDR_CHECK(ndr_push_set_switch_value(_ndr_message, &r->message, r->message_type));
9242 34 : NDR_CHECK(ndr_push_netr_SendToSamMessage(_ndr_message, NDR_SCALARS|NDR_BUFFERS, &r->message));
9243 34 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_message, 0, r->message_size));
9244 : }
9245 34 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9246 : }
9247 34 : if (ndr_flags & NDR_BUFFERS) {
9248 : }
9249 34 : return NDR_ERR_SUCCESS;
9250 : }
9251 :
9252 34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamBase(struct ndr_pull *ndr, int ndr_flags, struct netr_SendToSamBase *r)
9253 : {
9254 34 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9255 34 : if (ndr_flags & NDR_SCALARS) {
9256 34 : NDR_CHECK(ndr_pull_align(ndr, 4));
9257 34 : NDR_CHECK(ndr_pull_netr_SendToSamType(ndr, NDR_SCALARS, &r->message_type));
9258 34 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_size));
9259 : {
9260 : struct ndr_pull *_ndr_message;
9261 34 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_message, 0, r->message_size));
9262 34 : NDR_CHECK(ndr_pull_set_switch_value(_ndr_message, &r->message, r->message_type));
9263 34 : NDR_CHECK(ndr_pull_netr_SendToSamMessage(_ndr_message, NDR_SCALARS|NDR_BUFFERS, &r->message));
9264 34 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_message, 0, r->message_size));
9265 : }
9266 34 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9267 : }
9268 34 : if (ndr_flags & NDR_BUFFERS) {
9269 : }
9270 34 : return NDR_ERR_SUCCESS;
9271 : }
9272 :
9273 0 : static void ndr_print_flags_netr_SendToSamBase(struct ndr_print *ndr, const char *name, int unused, const struct netr_SendToSamBase *r)
9274 : {
9275 0 : ndr_print_netr_SendToSamBase(ndr, name, r);
9276 0 : }
9277 :
9278 0 : _PUBLIC_ void ndr_print_netr_SendToSamBase(struct ndr_print *ndr, const char *name, const struct netr_SendToSamBase *r)
9279 : {
9280 0 : ndr_print_struct(ndr, name, "netr_SendToSamBase");
9281 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9282 0 : ndr->depth++;
9283 0 : ndr_print_netr_SendToSamType(ndr, "message_type", r->message_type);
9284 0 : ndr_print_uint32(ndr, "message_size", r->message_size);
9285 0 : ndr_print_set_switch_value(ndr, &r->message, r->message_type);
9286 0 : ndr_print_netr_SendToSamMessage(ndr, "message", &r->message);
9287 0 : ndr->depth--;
9288 : }
9289 :
9290 90 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
9291 : {
9292 : uint32_t cntr_sitename_1;
9293 90 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9294 90 : if (ndr_flags & NDR_SCALARS) {
9295 90 : NDR_CHECK(ndr_push_align(ndr, 5));
9296 90 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9297 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
9298 90 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9299 : }
9300 90 : if (ndr_flags & NDR_BUFFERS) {
9301 90 : if (r->sitename) {
9302 90 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9303 615 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9304 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9305 : }
9306 615 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9307 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9308 : }
9309 : }
9310 : }
9311 75 : return NDR_ERR_SUCCESS;
9312 : }
9313 :
9314 72 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
9315 : {
9316 : uint32_t _ptr_sitename;
9317 72 : uint32_t size_sitename_1 = 0;
9318 : uint32_t cntr_sitename_1;
9319 72 : TALLOC_CTX *_mem_save_sitename_0 = NULL;
9320 72 : TALLOC_CTX *_mem_save_sitename_1 = NULL;
9321 72 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9322 72 : if (ndr_flags & NDR_SCALARS) {
9323 72 : NDR_CHECK(ndr_pull_align(ndr, 5));
9324 72 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9325 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
9326 72 : if (_ptr_sitename) {
9327 72 : NDR_PULL_ALLOC(ndr, r->sitename);
9328 : } else {
9329 0 : r->sitename = NULL;
9330 : }
9331 72 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9332 : }
9333 72 : if (ndr_flags & NDR_BUFFERS) {
9334 72 : if (r->sitename) {
9335 72 : _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
9336 72 : NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9337 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
9338 72 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
9339 72 : NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
9340 72 : _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
9341 72 : NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9342 504 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9343 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9344 : }
9345 492 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9346 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9347 : }
9348 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
9349 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
9350 : }
9351 72 : if (r->sitename) {
9352 72 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
9353 : }
9354 144 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9355 : }
9356 : }
9357 60 : return NDR_ERR_SUCCESS;
9358 : }
9359 :
9360 36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
9361 : {
9362 : uint32_t cntr_sitename_1;
9363 36 : ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
9364 36 : if (r == NULL) { ndr_print_null(ndr); return; }
9365 36 : ndr->depth++;
9366 36 : ndr_print_uint32(ndr, "count", r->count);
9367 36 : ndr_print_ptr(ndr, "sitename", r->sitename);
9368 36 : ndr->depth++;
9369 36 : if (r->sitename) {
9370 36 : ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
9371 36 : ndr->depth++;
9372 252 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9373 216 : ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
9374 : }
9375 36 : ndr->depth--;
9376 : }
9377 36 : ndr->depth--;
9378 36 : ndr->depth--;
9379 : }
9380 :
9381 1728 : static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
9382 : {
9383 1728 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9384 1728 : if (ndr_flags & NDR_SCALARS) {
9385 864 : NDR_CHECK(ndr_push_align(ndr, 5));
9386 864 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
9387 864 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
9388 864 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9389 : }
9390 1728 : if (ndr_flags & NDR_BUFFERS) {
9391 864 : if (r->buffer) {
9392 864 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
9393 864 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
9394 : }
9395 : }
9396 1440 : return NDR_ERR_SUCCESS;
9397 : }
9398 :
9399 1728 : static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
9400 : {
9401 : uint32_t _ptr_buffer;
9402 1728 : uint32_t size_buffer_1 = 0;
9403 1728 : TALLOC_CTX *_mem_save_buffer_0 = NULL;
9404 1728 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9405 1728 : if (ndr_flags & NDR_SCALARS) {
9406 864 : NDR_CHECK(ndr_pull_align(ndr, 5));
9407 864 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
9408 864 : if (_ptr_buffer) {
9409 864 : NDR_PULL_ALLOC(ndr, r->buffer);
9410 : } else {
9411 0 : r->buffer = NULL;
9412 : }
9413 864 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
9414 864 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9415 : }
9416 1728 : if (ndr_flags & NDR_BUFFERS) {
9417 864 : if (r->buffer) {
9418 864 : _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9419 864 : NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
9420 864 : NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
9421 864 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
9422 864 : NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
9423 864 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
9424 864 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
9425 : }
9426 864 : if (r->buffer) {
9427 864 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->size));
9428 : }
9429 : }
9430 1440 : return NDR_ERR_SUCCESS;
9431 : }
9432 :
9433 0 : _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
9434 : {
9435 0 : ndr_print_struct(ndr, name, "netr_DsRAddress");
9436 0 : if (r == NULL) { ndr_print_null(ndr); return; }
9437 0 : ndr->depth++;
9438 0 : ndr_print_ptr(ndr, "buffer", r->buffer);
9439 0 : ndr->depth++;
9440 0 : if (r->buffer) {
9441 0 : ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
9442 : }
9443 0 : ndr->depth--;
9444 0 : ndr_print_uint32(ndr, "size", r->size);
9445 0 : ndr->depth--;
9446 : }
9447 :
9448 192 : static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
9449 : {
9450 192 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9451 192 : if (ndr_flags & NDR_SCALARS) {
9452 96 : NDR_CHECK(ndr_push_align(ndr, 5));
9453 96 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
9454 96 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
9455 96 : NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
9456 96 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
9457 96 : NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
9458 96 : NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
9459 96 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
9460 96 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9461 96 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9462 : }
9463 192 : if (ndr_flags & NDR_BUFFERS) {
9464 96 : if (r->netbios_name) {
9465 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
9466 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9467 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
9468 96 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9469 : }
9470 96 : if (r->dns_name) {
9471 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
9472 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9473 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
9474 96 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9475 : }
9476 96 : if (r->sid) {
9477 96 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
9478 : }
9479 : }
9480 182 : return NDR_ERR_SUCCESS;
9481 : }
9482 :
9483 156 : static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
9484 : {
9485 : uint32_t _ptr_netbios_name;
9486 156 : uint32_t size_netbios_name_1 = 0;
9487 156 : uint32_t length_netbios_name_1 = 0;
9488 156 : TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
9489 : uint32_t _ptr_dns_name;
9490 156 : uint32_t size_dns_name_1 = 0;
9491 156 : uint32_t length_dns_name_1 = 0;
9492 156 : TALLOC_CTX *_mem_save_dns_name_0 = NULL;
9493 : uint32_t _ptr_sid;
9494 156 : TALLOC_CTX *_mem_save_sid_0 = NULL;
9495 156 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9496 156 : if (ndr_flags & NDR_SCALARS) {
9497 78 : NDR_CHECK(ndr_pull_align(ndr, 5));
9498 78 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
9499 78 : if (_ptr_netbios_name) {
9500 78 : NDR_PULL_ALLOC(ndr, r->netbios_name);
9501 : } else {
9502 0 : r->netbios_name = NULL;
9503 : }
9504 78 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
9505 78 : if (_ptr_dns_name) {
9506 78 : NDR_PULL_ALLOC(ndr, r->dns_name);
9507 : } else {
9508 0 : r->dns_name = NULL;
9509 : }
9510 78 : NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
9511 78 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
9512 78 : NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
9513 78 : NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
9514 78 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
9515 78 : if (_ptr_sid) {
9516 78 : NDR_PULL_ALLOC(ndr, r->sid);
9517 : } else {
9518 0 : r->sid = NULL;
9519 : }
9520 78 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9521 78 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9522 : }
9523 156 : if (ndr_flags & NDR_BUFFERS) {
9524 78 : if (r->netbios_name) {
9525 78 : _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9526 78 : NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
9527 78 : NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
9528 78 : NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
9529 78 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
9530 78 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
9531 78 : if (length_netbios_name_1 > size_netbios_name_1) {
9532 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
9533 : }
9534 78 : NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
9535 78 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
9536 78 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
9537 : }
9538 78 : if (r->dns_name) {
9539 78 : _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9540 78 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
9541 78 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
9542 78 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
9543 78 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
9544 78 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
9545 78 : if (length_dns_name_1 > size_dns_name_1) {
9546 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
9547 : }
9548 78 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
9549 78 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
9550 78 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
9551 : }
9552 78 : if (r->sid) {
9553 78 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9554 78 : NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
9555 78 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
9556 78 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
9557 : }
9558 : }
9559 148 : return NDR_ERR_SUCCESS;
9560 : }
9561 :
9562 12 : _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
9563 : {
9564 12 : ndr_print_struct(ndr, name, "netr_DomainTrust");
9565 12 : if (r == NULL) { ndr_print_null(ndr); return; }
9566 12 : ndr->depth++;
9567 12 : ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
9568 12 : ndr->depth++;
9569 12 : if (r->netbios_name) {
9570 12 : ndr_print_string(ndr, "netbios_name", r->netbios_name);
9571 : }
9572 12 : ndr->depth--;
9573 12 : ndr_print_ptr(ndr, "dns_name", r->dns_name);
9574 12 : ndr->depth++;
9575 12 : if (r->dns_name) {
9576 12 : ndr_print_string(ndr, "dns_name", r->dns_name);
9577 : }
9578 12 : ndr->depth--;
9579 12 : ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
9580 12 : ndr_print_uint32(ndr, "parent_index", r->parent_index);
9581 12 : ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type);
9582 12 : ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
9583 12 : ndr_print_ptr(ndr, "sid", r->sid);
9584 12 : ndr->depth++;
9585 12 : if (r->sid) {
9586 12 : ndr_print_dom_sid2(ndr, "sid", r->sid);
9587 : }
9588 12 : ndr->depth--;
9589 12 : ndr_print_GUID(ndr, "guid", &r->guid);
9590 12 : ndr->depth--;
9591 : }
9592 :
9593 60 : static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
9594 : {
9595 : uint32_t cntr_array_1;
9596 60 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9597 60 : if (ndr_flags & NDR_SCALARS) {
9598 60 : NDR_CHECK(ndr_push_align(ndr, 5));
9599 60 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9600 60 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
9601 60 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9602 : }
9603 60 : if (ndr_flags & NDR_BUFFERS) {
9604 60 : if (r->array) {
9605 60 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9606 151 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
9607 96 : NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
9608 : }
9609 151 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
9610 96 : NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
9611 : }
9612 : }
9613 : }
9614 55 : return NDR_ERR_SUCCESS;
9615 : }
9616 :
9617 50 : static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
9618 : {
9619 : uint32_t _ptr_array;
9620 50 : uint32_t size_array_1 = 0;
9621 : uint32_t cntr_array_1;
9622 50 : TALLOC_CTX *_mem_save_array_0 = NULL;
9623 50 : TALLOC_CTX *_mem_save_array_1 = NULL;
9624 50 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9625 50 : if (ndr_flags & NDR_SCALARS) {
9626 50 : NDR_CHECK(ndr_pull_align(ndr, 5));
9627 50 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9628 50 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
9629 50 : if (_ptr_array) {
9630 50 : NDR_PULL_ALLOC(ndr, r->array);
9631 : } else {
9632 0 : r->array = NULL;
9633 : }
9634 50 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9635 : }
9636 50 : if (ndr_flags & NDR_BUFFERS) {
9637 50 : if (r->array) {
9638 50 : _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9639 50 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9640 50 : NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9641 50 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
9642 50 : NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
9643 50 : _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9644 50 : NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9645 128 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
9646 78 : NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
9647 : }
9648 124 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
9649 78 : NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
9650 : }
9651 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
9652 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9653 : }
9654 50 : if (r->array) {
9655 50 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9656 : }
9657 79 : for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
9658 : }
9659 : }
9660 46 : return NDR_ERR_SUCCESS;
9661 : }
9662 :
9663 12 : _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
9664 : {
9665 : uint32_t cntr_array_1;
9666 12 : ndr_print_struct(ndr, name, "netr_DomainTrustList");
9667 12 : if (r == NULL) { ndr_print_null(ndr); return; }
9668 12 : ndr->depth++;
9669 12 : ndr_print_uint32(ndr, "count", r->count);
9670 12 : ndr_print_ptr(ndr, "array", r->array);
9671 12 : ndr->depth++;
9672 12 : if (r->array) {
9673 12 : ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9674 12 : ndr->depth++;
9675 24 : for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
9676 12 : ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
9677 : }
9678 12 : ndr->depth--;
9679 : }
9680 12 : ndr->depth--;
9681 12 : ndr->depth--;
9682 : }
9683 :
9684 90 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
9685 : {
9686 : uint32_t cntr_sitename_1;
9687 : uint32_t cntr_subnetname_1;
9688 90 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9689 90 : if (ndr_flags & NDR_SCALARS) {
9690 90 : NDR_CHECK(ndr_push_align(ndr, 5));
9691 90 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9692 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
9693 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
9694 90 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9695 : }
9696 90 : if (ndr_flags & NDR_BUFFERS) {
9697 90 : if (r->sitename) {
9698 90 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9699 615 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9700 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9701 : }
9702 615 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9703 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9704 : }
9705 : }
9706 90 : if (r->subnetname) {
9707 90 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9708 615 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
9709 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
9710 : }
9711 615 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
9712 540 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
9713 : }
9714 : }
9715 : }
9716 75 : return NDR_ERR_SUCCESS;
9717 : }
9718 :
9719 72 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
9720 : {
9721 : uint32_t _ptr_sitename;
9722 72 : uint32_t size_sitename_1 = 0;
9723 : uint32_t cntr_sitename_1;
9724 72 : TALLOC_CTX *_mem_save_sitename_0 = NULL;
9725 72 : TALLOC_CTX *_mem_save_sitename_1 = NULL;
9726 : uint32_t _ptr_subnetname;
9727 72 : uint32_t size_subnetname_1 = 0;
9728 : uint32_t cntr_subnetname_1;
9729 72 : TALLOC_CTX *_mem_save_subnetname_0 = NULL;
9730 72 : TALLOC_CTX *_mem_save_subnetname_1 = NULL;
9731 72 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9732 72 : if (ndr_flags & NDR_SCALARS) {
9733 72 : NDR_CHECK(ndr_pull_align(ndr, 5));
9734 72 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9735 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
9736 72 : if (_ptr_sitename) {
9737 72 : NDR_PULL_ALLOC(ndr, r->sitename);
9738 : } else {
9739 0 : r->sitename = NULL;
9740 : }
9741 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
9742 72 : if (_ptr_subnetname) {
9743 72 : NDR_PULL_ALLOC(ndr, r->subnetname);
9744 : } else {
9745 0 : r->subnetname = NULL;
9746 : }
9747 72 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9748 : }
9749 72 : if (ndr_flags & NDR_BUFFERS) {
9750 72 : if (r->sitename) {
9751 72 : _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
9752 72 : NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9753 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
9754 72 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
9755 72 : NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
9756 72 : _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
9757 72 : NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9758 504 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9759 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9760 : }
9761 492 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9762 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9763 : }
9764 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
9765 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
9766 : }
9767 72 : if (r->subnetname) {
9768 72 : _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9769 72 : NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9770 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
9771 72 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->subnetname, &size_subnetname_1));
9772 72 : NDR_PULL_ALLOC_N(ndr, r->subnetname, size_subnetname_1);
9773 72 : _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9774 72 : NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9775 504 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
9776 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
9777 : }
9778 492 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
9779 432 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
9780 : }
9781 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
9782 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
9783 : }
9784 72 : if (r->sitename) {
9785 72 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
9786 : }
9787 144 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
9788 : }
9789 72 : if (r->subnetname) {
9790 72 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
9791 : }
9792 144 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
9793 : }
9794 : }
9795 60 : return NDR_ERR_SUCCESS;
9796 : }
9797 :
9798 36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
9799 : {
9800 : uint32_t cntr_sitename_1;
9801 : uint32_t cntr_subnetname_1;
9802 36 : ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
9803 36 : if (r == NULL) { ndr_print_null(ndr); return; }
9804 36 : ndr->depth++;
9805 36 : ndr_print_uint32(ndr, "count", r->count);
9806 36 : ndr_print_ptr(ndr, "sitename", r->sitename);
9807 36 : ndr->depth++;
9808 36 : if (r->sitename) {
9809 36 : ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
9810 36 : ndr->depth++;
9811 252 : for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
9812 216 : ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
9813 : }
9814 36 : ndr->depth--;
9815 : }
9816 36 : ndr->depth--;
9817 36 : ndr_print_ptr(ndr, "subnetname", r->subnetname);
9818 36 : ndr->depth++;
9819 36 : if (r->subnetname) {
9820 36 : ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
9821 36 : ndr->depth++;
9822 252 : for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
9823 216 : ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
9824 : }
9825 36 : ndr->depth--;
9826 : }
9827 36 : ndr->depth--;
9828 36 : ndr->depth--;
9829 : }
9830 :
9831 35 : static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
9832 : {
9833 : uint32_t cntr_sites_1;
9834 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9835 35 : if (ndr_flags & NDR_SCALARS) {
9836 35 : NDR_CHECK(ndr_push_align(ndr, 5));
9837 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9838 35 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
9839 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9840 : }
9841 35 : if (ndr_flags & NDR_BUFFERS) {
9842 35 : if (r->sites) {
9843 35 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sites));
9844 65 : for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
9845 35 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9846 : }
9847 65 : for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
9848 35 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9849 : }
9850 : }
9851 : }
9852 30 : return NDR_ERR_SUCCESS;
9853 : }
9854 :
9855 29 : static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9856 : {
9857 : uint32_t _ptr_sites;
9858 29 : uint32_t size_sites_1 = 0;
9859 : uint32_t cntr_sites_1;
9860 29 : TALLOC_CTX *_mem_save_sites_0 = NULL;
9861 29 : TALLOC_CTX *_mem_save_sites_1 = NULL;
9862 29 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9863 29 : if (ndr_flags & NDR_SCALARS) {
9864 29 : NDR_CHECK(ndr_pull_align(ndr, 5));
9865 29 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9866 29 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9867 29 : if (_ptr_sites) {
9868 29 : NDR_PULL_ALLOC(ndr, r->sites);
9869 : } else {
9870 0 : r->sites = NULL;
9871 : }
9872 29 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9873 : }
9874 29 : if (ndr_flags & NDR_BUFFERS) {
9875 29 : if (r->sites) {
9876 29 : _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9877 29 : NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9878 29 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9879 29 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sites, &size_sites_1));
9880 29 : NDR_PULL_ALLOC_N(ndr, r->sites, size_sites_1);
9881 29 : _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9882 29 : NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9883 58 : for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
9884 29 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9885 : }
9886 54 : for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
9887 29 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9888 : }
9889 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9890 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9891 : }
9892 29 : if (r->sites) {
9893 29 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9894 : }
9895 34 : for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
9896 : }
9897 : }
9898 25 : return NDR_ERR_SUCCESS;
9899 : }
9900 :
9901 12 : _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9902 : {
9903 : uint32_t cntr_sites_1;
9904 12 : ndr_print_struct(ndr, name, "DcSitesCtr");
9905 12 : if (r == NULL) { ndr_print_null(ndr); return; }
9906 12 : ndr->depth++;
9907 12 : ndr_print_uint32(ndr, "num_sites", r->num_sites);
9908 12 : ndr_print_ptr(ndr, "sites", r->sites);
9909 12 : ndr->depth++;
9910 12 : if (r->sites) {
9911 12 : ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9912 12 : ndr->depth++;
9913 24 : for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
9914 12 : ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9915 : }
9916 12 : ndr->depth--;
9917 : }
9918 12 : ndr->depth--;
9919 12 : ndr->depth--;
9920 : }
9921 :
9922 17190 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonSamLogon_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9923 : {
9924 17190 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9925 17190 : return NDR_ERR_SUCCESS;
9926 : }
9927 :
9928 16710 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonSamLogon_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9929 : {
9930 : uint32_t v;
9931 16710 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9932 16710 : *r = v;
9933 16710 : return NDR_ERR_SUCCESS;
9934 : }
9935 :
9936 960 : _PUBLIC_ void ndr_print_netr_LogonSamLogon_flags(struct ndr_print *ndr, const char *name, uint32_t r)
9937 : {
9938 960 : ndr_print_uint32(ndr, name, r);
9939 960 : ndr->depth++;
9940 960 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_PASS_TO_FOREST_ROOT", NETLOGON_SAMLOGON_FLAG_PASS_TO_FOREST_ROOT, r);
9941 960 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_PASS_CROSS_FOREST_HOP", NETLOGON_SAMLOGON_FLAG_PASS_CROSS_FOREST_HOP, r);
9942 960 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_RODC_TO_OTHER_DOMAIN", NETLOGON_SAMLOGON_FLAG_RODC_TO_OTHER_DOMAIN, r);
9943 960 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_RODC_NTLM_REQUEST", NETLOGON_SAMLOGON_FLAG_RODC_NTLM_REQUEST, r);
9944 960 : ndr->depth--;
9945 960 : }
9946 :
9947 52 : static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9948 : {
9949 : uint32_t cntr_data_1;
9950 : uint32_t cntr_entries_1;
9951 52 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9952 52 : if (ndr_flags & NDR_SCALARS) {
9953 52 : NDR_CHECK(ndr_push_align(ndr, 5));
9954 52 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9955 52 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9956 52 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9957 52 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9958 52 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9959 : }
9960 52 : if (ndr_flags & NDR_BUFFERS) {
9961 52 : if (r->data) {
9962 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9963 104 : for (cntr_data_1 = 0; cntr_data_1 < (r->count); cntr_data_1++) {
9964 52 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9965 : }
9966 : }
9967 52 : if (r->entries) {
9968 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9969 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
9970 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9971 : }
9972 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
9973 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9974 : }
9975 : }
9976 : }
9977 52 : return NDR_ERR_SUCCESS;
9978 : }
9979 :
9980 4 : static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9981 : {
9982 : uint32_t _ptr_data;
9983 4 : uint32_t size_data_1 = 0;
9984 : uint32_t cntr_data_1;
9985 4 : TALLOC_CTX *_mem_save_data_0 = NULL;
9986 4 : TALLOC_CTX *_mem_save_data_1 = NULL;
9987 : uint32_t _ptr_entries;
9988 4 : uint32_t size_entries_1 = 0;
9989 : uint32_t cntr_entries_1;
9990 4 : TALLOC_CTX *_mem_save_entries_0 = NULL;
9991 4 : TALLOC_CTX *_mem_save_entries_1 = NULL;
9992 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9993 4 : if (ndr_flags & NDR_SCALARS) {
9994 4 : NDR_CHECK(ndr_pull_align(ndr, 5));
9995 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9996 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9997 4 : if (_ptr_data) {
9998 4 : NDR_PULL_ALLOC(ndr, r->data);
9999 : } else {
10000 0 : r->data = NULL;
10001 : }
10002 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
10003 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
10004 4 : if (_ptr_entries) {
10005 0 : NDR_PULL_ALLOC(ndr, r->entries);
10006 : } else {
10007 4 : r->entries = NULL;
10008 : }
10009 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10010 : }
10011 4 : if (ndr_flags & NDR_BUFFERS) {
10012 4 : if (r->data) {
10013 4 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10014 4 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
10015 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
10016 4 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
10017 4 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
10018 4 : _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
10019 4 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
10020 8 : for (cntr_data_1 = 0; cntr_data_1 < (size_data_1); cntr_data_1++) {
10021 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
10022 : }
10023 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
10024 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
10025 : }
10026 4 : if (r->entries) {
10027 0 : _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10028 0 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
10029 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
10030 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
10031 0 : NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
10032 0 : _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
10033 0 : NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
10034 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
10035 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
10036 : }
10037 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
10038 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
10039 : }
10040 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
10041 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
10042 : }
10043 4 : if (r->data) {
10044 4 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->count));
10045 : }
10046 4 : if (r->entries) {
10047 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
10048 : }
10049 4 : for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
10050 : }
10051 : }
10052 4 : return NDR_ERR_SUCCESS;
10053 : }
10054 :
10055 2 : _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
10056 : {
10057 : uint32_t cntr_data_1;
10058 : uint32_t cntr_entries_1;
10059 2 : ndr_print_struct(ndr, name, "netr_TrustInfo");
10060 2 : if (r == NULL) { ndr_print_null(ndr); return; }
10061 2 : ndr->depth++;
10062 2 : ndr_print_uint32(ndr, "count", r->count);
10063 2 : ndr_print_ptr(ndr, "data", r->data);
10064 2 : ndr->depth++;
10065 2 : if (r->data) {
10066 2 : ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
10067 2 : ndr->depth++;
10068 4 : for (cntr_data_1 = 0; cntr_data_1 < (r->count); cntr_data_1++) {
10069 2 : ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
10070 : }
10071 2 : ndr->depth--;
10072 : }
10073 2 : ndr->depth--;
10074 2 : ndr_print_uint32(ndr, "entry_count", r->entry_count);
10075 2 : ndr_print_ptr(ndr, "entries", r->entries);
10076 2 : ndr->depth++;
10077 2 : if (r->entries) {
10078 0 : ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
10079 0 : ndr->depth++;
10080 0 : for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
10081 0 : ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
10082 : }
10083 0 : ndr->depth--;
10084 : }
10085 2 : ndr->depth--;
10086 2 : ndr->depth--;
10087 : }
10088 :
10089 24 : static enum ndr_err_code ndr_push_netr_DnsType(struct ndr_push *ndr, int ndr_flags, enum netr_DnsType r)
10090 : {
10091 24 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10092 24 : return NDR_ERR_SUCCESS;
10093 : }
10094 :
10095 24 : static enum ndr_err_code ndr_pull_netr_DnsType(struct ndr_pull *ndr, int ndr_flags, enum netr_DnsType *r)
10096 : {
10097 : uint16_t v;
10098 24 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10099 24 : *r = v;
10100 24 : return NDR_ERR_SUCCESS;
10101 : }
10102 :
10103 0 : _PUBLIC_ void ndr_print_netr_DnsType(struct ndr_print *ndr, const char *name, enum netr_DnsType r)
10104 : {
10105 0 : const char *val = NULL;
10106 :
10107 0 : switch (r) {
10108 0 : case NlDnsLdapAtSite: val = "NlDnsLdapAtSite"; break;
10109 0 : case NlDnsGcAtSite: val = "NlDnsGcAtSite"; break;
10110 0 : case NlDnsDsaCname: val = "NlDnsDsaCname"; break;
10111 0 : case NlDnsKdcAtSite: val = "NlDnsKdcAtSite"; break;
10112 0 : case NlDnsDcAtSite: val = "NlDnsDcAtSite"; break;
10113 0 : case NlDnsRfc1510KdcAtSite: val = "NlDnsRfc1510KdcAtSite"; break;
10114 0 : case NlDnsGenericGcAtSite: val = "NlDnsGenericGcAtSite"; break;
10115 : }
10116 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
10117 0 : }
10118 :
10119 24 : static enum ndr_err_code ndr_push_netr_DnsDomainInfoType(struct ndr_push *ndr, int ndr_flags, enum netr_DnsDomainInfoType r)
10120 : {
10121 24 : NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10122 24 : return NDR_ERR_SUCCESS;
10123 : }
10124 :
10125 24 : static enum ndr_err_code ndr_pull_netr_DnsDomainInfoType(struct ndr_pull *ndr, int ndr_flags, enum netr_DnsDomainInfoType *r)
10126 : {
10127 : uint16_t v;
10128 24 : NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10129 24 : *r = v;
10130 24 : return NDR_ERR_SUCCESS;
10131 : }
10132 :
10133 0 : _PUBLIC_ void ndr_print_netr_DnsDomainInfoType(struct ndr_print *ndr, const char *name, enum netr_DnsDomainInfoType r)
10134 : {
10135 0 : const char *val = NULL;
10136 :
10137 0 : switch (r) {
10138 0 : case NlDnsInfoTypeNone: val = "NlDnsInfoTypeNone"; break;
10139 0 : case NlDnsDomainName: val = "NlDnsDomainName"; break;
10140 0 : case NlDnsDomainNameAlias: val = "NlDnsDomainNameAlias"; break;
10141 0 : case NlDnsForestName: val = "NlDnsForestName"; break;
10142 0 : case NlDnsForestNameAlias: val = "NlDnsForestNameAlias"; break;
10143 0 : case NlDnsNdncDomainName: val = "NlDnsNdncDomainName"; break;
10144 0 : case NlDnsRecordName: val = "NlDnsRecordName"; break;
10145 : }
10146 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
10147 0 : }
10148 :
10149 48 : static enum ndr_err_code ndr_push_NL_DNS_NAME_INFO(struct ndr_push *ndr, int ndr_flags, const struct NL_DNS_NAME_INFO *r)
10150 : {
10151 48 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10152 48 : if (ndr_flags & NDR_SCALARS) {
10153 24 : NDR_CHECK(ndr_push_align(ndr, 5));
10154 24 : NDR_CHECK(ndr_push_netr_DnsType(ndr, NDR_SCALARS, r->type));
10155 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_info));
10156 24 : NDR_CHECK(ndr_push_netr_DnsDomainInfoType(ndr, NDR_SCALARS, r->dns_domain_info_type));
10157 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10158 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->weight));
10159 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port));
10160 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dns_register));
10161 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
10162 24 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10163 : }
10164 48 : if (ndr_flags & NDR_BUFFERS) {
10165 24 : if (r->dns_domain_info) {
10166 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_info, CH_UTF16)));
10167 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10168 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_info, CH_UTF16)));
10169 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_info, ndr_charset_length(r->dns_domain_info, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10170 : }
10171 : }
10172 48 : return NDR_ERR_SUCCESS;
10173 : }
10174 :
10175 48 : static enum ndr_err_code ndr_pull_NL_DNS_NAME_INFO(struct ndr_pull *ndr, int ndr_flags, struct NL_DNS_NAME_INFO *r)
10176 : {
10177 : uint32_t _ptr_dns_domain_info;
10178 48 : uint32_t size_dns_domain_info_1 = 0;
10179 48 : uint32_t length_dns_domain_info_1 = 0;
10180 48 : TALLOC_CTX *_mem_save_dns_domain_info_0 = NULL;
10181 48 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10182 48 : if (ndr_flags & NDR_SCALARS) {
10183 24 : NDR_CHECK(ndr_pull_align(ndr, 5));
10184 24 : NDR_CHECK(ndr_pull_netr_DnsType(ndr, NDR_SCALARS, &r->type));
10185 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_info));
10186 24 : if (_ptr_dns_domain_info) {
10187 0 : NDR_PULL_ALLOC(ndr, r->dns_domain_info);
10188 : } else {
10189 24 : r->dns_domain_info = NULL;
10190 : }
10191 24 : NDR_CHECK(ndr_pull_netr_DnsDomainInfoType(ndr, NDR_SCALARS, &r->dns_domain_info_type));
10192 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10193 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->weight));
10194 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port));
10195 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dns_register));
10196 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
10197 24 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10198 : }
10199 48 : if (ndr_flags & NDR_BUFFERS) {
10200 24 : if (r->dns_domain_info) {
10201 0 : _mem_save_dns_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10202 0 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_info, 0);
10203 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_info));
10204 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_info));
10205 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_domain_info, &size_dns_domain_info_1));
10206 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_domain_info, &length_dns_domain_info_1));
10207 0 : if (length_dns_domain_info_1 > size_dns_domain_info_1) {
10208 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_info_1, length_dns_domain_info_1);
10209 : }
10210 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_info_1, sizeof(uint16_t)));
10211 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_info, length_dns_domain_info_1, sizeof(uint16_t), CH_UTF16));
10212 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_info_0, 0);
10213 : }
10214 : }
10215 48 : return NDR_ERR_SUCCESS;
10216 : }
10217 :
10218 0 : _PUBLIC_ void ndr_print_NL_DNS_NAME_INFO(struct ndr_print *ndr, const char *name, const struct NL_DNS_NAME_INFO *r)
10219 : {
10220 0 : ndr_print_struct(ndr, name, "NL_DNS_NAME_INFO");
10221 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10222 0 : ndr->depth++;
10223 0 : ndr_print_netr_DnsType(ndr, "type", r->type);
10224 0 : ndr_print_ptr(ndr, "dns_domain_info", r->dns_domain_info);
10225 0 : ndr->depth++;
10226 0 : if (r->dns_domain_info) {
10227 0 : ndr_print_string(ndr, "dns_domain_info", r->dns_domain_info);
10228 : }
10229 0 : ndr->depth--;
10230 0 : ndr_print_netr_DnsDomainInfoType(ndr, "dns_domain_info_type", r->dns_domain_info_type);
10231 0 : ndr_print_uint32(ndr, "priority", r->priority);
10232 0 : ndr_print_uint32(ndr, "weight", r->weight);
10233 0 : ndr_print_uint32(ndr, "port", r->port);
10234 0 : ndr_print_uint32(ndr, "dns_register", r->dns_register);
10235 0 : ndr_print_uint32(ndr, "status", r->status);
10236 0 : ndr->depth--;
10237 : }
10238 :
10239 24 : _PUBLIC_ enum ndr_err_code ndr_push_NL_DNS_NAME_INFO_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct NL_DNS_NAME_INFO_ARRAY *r)
10240 : {
10241 : uint32_t cntr_names_1;
10242 24 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10243 24 : if (ndr_flags & NDR_SCALARS) {
10244 24 : NDR_CHECK(ndr_push_align(ndr, 5));
10245 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10246 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
10247 24 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10248 : }
10249 24 : if (ndr_flags & NDR_BUFFERS) {
10250 24 : if (r->names) {
10251 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10252 48 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
10253 24 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
10254 : }
10255 48 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
10256 24 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
10257 : }
10258 : }
10259 : }
10260 24 : return NDR_ERR_SUCCESS;
10261 : }
10262 :
10263 24 : _PUBLIC_ enum ndr_err_code ndr_pull_NL_DNS_NAME_INFO_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct NL_DNS_NAME_INFO_ARRAY *r)
10264 : {
10265 : uint32_t _ptr_names;
10266 24 : uint32_t size_names_1 = 0;
10267 : uint32_t cntr_names_1;
10268 24 : TALLOC_CTX *_mem_save_names_0 = NULL;
10269 24 : TALLOC_CTX *_mem_save_names_1 = NULL;
10270 24 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10271 24 : if (ndr_flags & NDR_SCALARS) {
10272 24 : NDR_CHECK(ndr_pull_align(ndr, 5));
10273 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10274 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
10275 24 : if (_ptr_names) {
10276 24 : NDR_PULL_ALLOC(ndr, r->names);
10277 : } else {
10278 0 : r->names = NULL;
10279 : }
10280 24 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10281 : }
10282 24 : if (ndr_flags & NDR_BUFFERS) {
10283 24 : if (r->names) {
10284 24 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
10285 24 : NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
10286 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
10287 24 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->names, &size_names_1));
10288 24 : NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
10289 24 : _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
10290 24 : NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
10291 48 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
10292 24 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
10293 : }
10294 48 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
10295 24 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
10296 : }
10297 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
10298 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
10299 : }
10300 24 : if (r->names) {
10301 24 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
10302 : }
10303 24 : for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
10304 : }
10305 : }
10306 24 : return NDR_ERR_SUCCESS;
10307 : }
10308 :
10309 0 : static void ndr_print_flags_NL_DNS_NAME_INFO_ARRAY(struct ndr_print *ndr, const char *name, int unused, const struct NL_DNS_NAME_INFO_ARRAY *r)
10310 : {
10311 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, name, r);
10312 0 : }
10313 :
10314 0 : _PUBLIC_ void ndr_print_NL_DNS_NAME_INFO_ARRAY(struct ndr_print *ndr, const char *name, const struct NL_DNS_NAME_INFO_ARRAY *r)
10315 : {
10316 : uint32_t cntr_names_1;
10317 0 : ndr_print_struct(ndr, name, "NL_DNS_NAME_INFO_ARRAY");
10318 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10319 0 : ndr->depth++;
10320 0 : ndr_print_uint32(ndr, "count", r->count);
10321 0 : ndr_print_ptr(ndr, "names", r->names);
10322 0 : ndr->depth++;
10323 0 : if (r->names) {
10324 0 : ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
10325 0 : ndr->depth++;
10326 0 : for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
10327 0 : ndr_print_NL_DNS_NAME_INFO(ndr, "names", &r->names[cntr_names_1]);
10328 : }
10329 0 : ndr->depth--;
10330 : }
10331 0 : ndr->depth--;
10332 0 : ndr->depth--;
10333 : }
10334 :
10335 24 : static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
10336 : {
10337 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10338 24 : if (flags & NDR_IN) {
10339 24 : if (r->in.account_name == NULL) {
10340 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10341 : }
10342 24 : if (r->in.workstation == NULL) {
10343 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10344 : }
10345 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10346 24 : if (r->in.server_name) {
10347 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10348 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10349 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10350 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10351 : }
10352 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10353 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10354 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10355 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10356 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
10357 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10358 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
10359 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10360 : }
10361 24 : if (flags & NDR_OUT) {
10362 0 : if (r->out.info == NULL) {
10363 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10364 : }
10365 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10366 0 : if (*r->out.info) {
10367 0 : NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10368 : }
10369 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10370 : }
10371 20 : return NDR_ERR_SUCCESS;
10372 : }
10373 :
10374 24 : static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
10375 : {
10376 : uint32_t _ptr_server_name;
10377 24 : uint32_t size_server_name_1 = 0;
10378 24 : uint32_t length_server_name_1 = 0;
10379 24 : uint32_t size_account_name_1 = 0;
10380 24 : uint32_t length_account_name_1 = 0;
10381 24 : uint32_t size_workstation_1 = 0;
10382 24 : uint32_t length_workstation_1 = 0;
10383 : uint32_t _ptr_info;
10384 24 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
10385 24 : TALLOC_CTX *_mem_save_info_0 = NULL;
10386 24 : TALLOC_CTX *_mem_save_info_1 = NULL;
10387 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10388 24 : if (flags & NDR_IN) {
10389 24 : NDR_ZERO_STRUCT(r->out);
10390 :
10391 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10392 24 : if (_ptr_server_name) {
10393 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
10394 : } else {
10395 24 : r->in.server_name = NULL;
10396 : }
10397 24 : if (r->in.server_name) {
10398 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10399 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10400 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10401 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10402 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
10403 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
10404 0 : if (length_server_name_1 > size_server_name_1) {
10405 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10406 : }
10407 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10408 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10409 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10410 : }
10411 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10412 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10413 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
10414 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
10415 24 : if (length_account_name_1 > size_account_name_1) {
10416 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
10417 : }
10418 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
10419 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
10420 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
10421 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
10422 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
10423 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
10424 24 : if (length_workstation_1 > size_workstation_1) {
10425 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_1, length_workstation_1);
10426 : }
10427 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint16_t)));
10428 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint16_t), CH_UTF16));
10429 24 : NDR_PULL_ALLOC(ndr, r->out.info);
10430 24 : NDR_ZERO_STRUCTP(r->out.info);
10431 : }
10432 24 : if (flags & NDR_OUT) {
10433 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10434 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10435 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10436 0 : NDR_PULL_ALLOC(ndr, r->out.info);
10437 : }
10438 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10439 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10440 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10441 0 : if (_ptr_info) {
10442 0 : NDR_PULL_ALLOC(ndr, *r->out.info);
10443 : } else {
10444 0 : *r->out.info = NULL;
10445 : }
10446 0 : if (*r->out.info) {
10447 0 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10448 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10449 0 : NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10450 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10451 : }
10452 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10453 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10454 : }
10455 20 : return NDR_ERR_SUCCESS;
10456 : }
10457 :
10458 0 : _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
10459 : {
10460 0 : ndr_print_struct(ndr, name, "netr_LogonUasLogon");
10461 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10462 0 : ndr->depth++;
10463 0 : if (flags & NDR_SET_VALUES) {
10464 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10465 : }
10466 0 : if (flags & NDR_IN) {
10467 0 : ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
10468 0 : ndr->depth++;
10469 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
10470 0 : ndr->depth++;
10471 0 : if (r->in.server_name) {
10472 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
10473 : }
10474 0 : ndr->depth--;
10475 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
10476 0 : ndr->depth++;
10477 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
10478 0 : ndr->depth--;
10479 0 : ndr_print_ptr(ndr, "workstation", r->in.workstation);
10480 0 : ndr->depth++;
10481 0 : ndr_print_string(ndr, "workstation", r->in.workstation);
10482 0 : ndr->depth--;
10483 0 : ndr->depth--;
10484 : }
10485 0 : if (flags & NDR_OUT) {
10486 0 : ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
10487 0 : ndr->depth++;
10488 0 : ndr_print_ptr(ndr, "info", r->out.info);
10489 0 : ndr->depth++;
10490 0 : ndr_print_ptr(ndr, "info", *r->out.info);
10491 0 : ndr->depth++;
10492 0 : if (*r->out.info) {
10493 0 : ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
10494 : }
10495 0 : ndr->depth--;
10496 0 : ndr->depth--;
10497 0 : ndr_print_WERROR(ndr, "result", r->out.result);
10498 0 : ndr->depth--;
10499 : }
10500 0 : ndr->depth--;
10501 : }
10502 :
10503 24 : static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
10504 : {
10505 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10506 24 : if (flags & NDR_IN) {
10507 24 : if (r->in.account_name == NULL) {
10508 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10509 : }
10510 24 : if (r->in.workstation == NULL) {
10511 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10512 : }
10513 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10514 24 : if (r->in.server_name) {
10515 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10516 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10517 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10518 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10519 : }
10520 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10521 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10522 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10523 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10524 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
10525 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10526 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
10527 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10528 : }
10529 24 : if (flags & NDR_OUT) {
10530 0 : if (r->out.info == NULL) {
10531 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10532 : }
10533 0 : NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
10534 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10535 : }
10536 20 : return NDR_ERR_SUCCESS;
10537 : }
10538 :
10539 24 : static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
10540 : {
10541 : uint32_t _ptr_server_name;
10542 24 : uint32_t size_server_name_1 = 0;
10543 24 : uint32_t length_server_name_1 = 0;
10544 24 : uint32_t size_account_name_1 = 0;
10545 24 : uint32_t length_account_name_1 = 0;
10546 24 : uint32_t size_workstation_1 = 0;
10547 24 : uint32_t length_workstation_1 = 0;
10548 24 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
10549 24 : TALLOC_CTX *_mem_save_info_0 = NULL;
10550 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10551 24 : if (flags & NDR_IN) {
10552 24 : NDR_ZERO_STRUCT(r->out);
10553 :
10554 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10555 24 : if (_ptr_server_name) {
10556 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
10557 : } else {
10558 24 : r->in.server_name = NULL;
10559 : }
10560 24 : if (r->in.server_name) {
10561 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10562 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10563 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10564 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10565 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
10566 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
10567 0 : if (length_server_name_1 > size_server_name_1) {
10568 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10569 : }
10570 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10571 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10572 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10573 : }
10574 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10575 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10576 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
10577 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
10578 24 : if (length_account_name_1 > size_account_name_1) {
10579 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
10580 : }
10581 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
10582 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
10583 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
10584 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
10585 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
10586 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
10587 24 : if (length_workstation_1 > size_workstation_1) {
10588 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_1, length_workstation_1);
10589 : }
10590 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint16_t)));
10591 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint16_t), CH_UTF16));
10592 24 : NDR_PULL_ALLOC(ndr, r->out.info);
10593 24 : NDR_ZERO_STRUCTP(r->out.info);
10594 : }
10595 24 : if (flags & NDR_OUT) {
10596 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10597 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10598 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10599 0 : NDR_PULL_ALLOC(ndr, r->out.info);
10600 : }
10601 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10602 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10603 0 : NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
10604 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10605 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10606 : }
10607 20 : return NDR_ERR_SUCCESS;
10608 : }
10609 :
10610 0 : _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
10611 : {
10612 0 : ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
10613 0 : if (r == NULL) { ndr_print_null(ndr); return; }
10614 0 : ndr->depth++;
10615 0 : if (flags & NDR_SET_VALUES) {
10616 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10617 : }
10618 0 : if (flags & NDR_IN) {
10619 0 : ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
10620 0 : ndr->depth++;
10621 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
10622 0 : ndr->depth++;
10623 0 : if (r->in.server_name) {
10624 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
10625 : }
10626 0 : ndr->depth--;
10627 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
10628 0 : ndr->depth++;
10629 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
10630 0 : ndr->depth--;
10631 0 : ndr_print_ptr(ndr, "workstation", r->in.workstation);
10632 0 : ndr->depth++;
10633 0 : ndr_print_string(ndr, "workstation", r->in.workstation);
10634 0 : ndr->depth--;
10635 0 : ndr->depth--;
10636 : }
10637 0 : if (flags & NDR_OUT) {
10638 0 : ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
10639 0 : ndr->depth++;
10640 0 : ndr_print_ptr(ndr, "info", r->out.info);
10641 0 : ndr->depth++;
10642 0 : ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
10643 0 : ndr->depth--;
10644 0 : ndr_print_WERROR(ndr, "result", r->out.result);
10645 0 : ndr->depth--;
10646 : }
10647 0 : ndr->depth--;
10648 : }
10649 :
10650 30472 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
10651 : {
10652 30472 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10653 30472 : if (flags & NDR_IN) {
10654 14224 : if (r->in.logon == NULL) {
10655 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10656 : }
10657 14224 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10658 14224 : if (r->in.server_name) {
10659 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10660 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10661 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10662 14224 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10663 : }
10664 14224 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
10665 14224 : if (r->in.computer_name) {
10666 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10667 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10668 14224 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10669 14224 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10670 : }
10671 14224 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
10672 14224 : if (r->in.credential) {
10673 12072 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10674 : }
10675 14224 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
10676 14224 : if (r->in.return_authenticator) {
10677 14224 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10678 : }
10679 14224 : NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
10680 14224 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
10681 14224 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
10682 14224 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
10683 : }
10684 30472 : if (flags & NDR_OUT) {
10685 16248 : if (r->out.validation == NULL) {
10686 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10687 : }
10688 16248 : if (r->out.authoritative == NULL) {
10689 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10690 : }
10691 16248 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
10692 16248 : if (r->out.return_authenticator) {
10693 10108 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10694 : }
10695 16248 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
10696 16248 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
10697 16248 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
10698 16248 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10699 : }
10700 26017 : return NDR_ERR_SUCCESS;
10701 : }
10702 :
10703 28010 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
10704 : {
10705 : uint32_t _ptr_server_name;
10706 28010 : uint32_t size_server_name_1 = 0;
10707 28010 : uint32_t length_server_name_1 = 0;
10708 : uint32_t _ptr_computer_name;
10709 28010 : uint32_t size_computer_name_1 = 0;
10710 28010 : uint32_t length_computer_name_1 = 0;
10711 : uint32_t _ptr_credential;
10712 : uint32_t _ptr_return_authenticator;
10713 28010 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
10714 28010 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
10715 28010 : TALLOC_CTX *_mem_save_credential_0 = NULL;
10716 28010 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
10717 28010 : TALLOC_CTX *_mem_save_logon_0 = NULL;
10718 28010 : TALLOC_CTX *_mem_save_validation_0 = NULL;
10719 28010 : TALLOC_CTX *_mem_save_authoritative_0 = NULL;
10720 28010 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10721 28010 : if (flags & NDR_IN) {
10722 13786 : NDR_ZERO_STRUCT(r->out);
10723 :
10724 13786 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10725 13786 : if (_ptr_server_name) {
10726 13786 : NDR_PULL_ALLOC(ndr, r->in.server_name);
10727 : } else {
10728 0 : r->in.server_name = NULL;
10729 : }
10730 13786 : if (r->in.server_name) {
10731 13786 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10732 13786 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10733 13786 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10734 13786 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10735 13786 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
10736 13786 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
10737 13786 : if (length_server_name_1 > size_server_name_1) {
10738 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10739 : }
10740 13786 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10741 13786 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10742 13786 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10743 : }
10744 13786 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
10745 13786 : if (_ptr_computer_name) {
10746 13786 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
10747 : } else {
10748 0 : r->in.computer_name = NULL;
10749 : }
10750 13786 : if (r->in.computer_name) {
10751 13786 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10752 13786 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
10753 13786 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10754 13786 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10755 13786 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
10756 13786 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
10757 13786 : if (length_computer_name_1 > size_computer_name_1) {
10758 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
10759 : }
10760 13786 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
10761 13786 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
10762 13786 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
10763 : }
10764 13786 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
10765 13786 : if (_ptr_credential) {
10766 11714 : NDR_PULL_ALLOC(ndr, r->in.credential);
10767 : } else {
10768 2072 : r->in.credential = NULL;
10769 : }
10770 13786 : if (r->in.credential) {
10771 11714 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10772 11714 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
10773 11714 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10774 11714 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
10775 : }
10776 13786 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
10777 13786 : if (_ptr_return_authenticator) {
10778 13786 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10779 : } else {
10780 0 : r->in.return_authenticator = NULL;
10781 : }
10782 13786 : if (r->in.return_authenticator) {
10783 13786 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10784 13786 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
10785 13786 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10786 13786 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
10787 : }
10788 13786 : NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
10789 13786 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10790 13786 : NDR_PULL_ALLOC(ndr, r->in.logon);
10791 : }
10792 13786 : _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
10793 13786 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
10794 13786 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
10795 13786 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
10796 13786 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
10797 13786 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
10798 13786 : NDR_PULL_ALLOC(ndr, r->out.validation);
10799 13786 : NDR_ZERO_STRUCTP(r->out.validation);
10800 13786 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
10801 13786 : NDR_ZERO_STRUCTP(r->out.authoritative);
10802 : }
10803 28010 : if (flags & NDR_OUT) {
10804 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
10805 : if (r->in.logon == NULL) {
10806 : NDR_PULL_ALLOC(ndr, r->in.logon);
10807 : NDR_ZERO_STRUCTP(r->in.logon);
10808 : }
10809 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
10810 14224 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
10811 14224 : if (_ptr_return_authenticator) {
10812 9204 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10813 : } else {
10814 5020 : r->out.return_authenticator = NULL;
10815 : }
10816 14224 : if (r->out.return_authenticator) {
10817 9204 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10818 9204 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
10819 9204 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10820 9204 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
10821 : }
10822 14224 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10823 2464 : NDR_PULL_ALLOC(ndr, r->out.validation);
10824 : }
10825 14224 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
10826 14224 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
10827 14224 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
10828 14224 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
10829 14224 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
10830 14224 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10831 2464 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
10832 : }
10833 14224 : _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
10834 14224 : NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
10835 14224 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
10836 14224 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
10837 14224 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10838 : }
10839 23960 : return NDR_ERR_SUCCESS;
10840 : }
10841 :
10842 4930 : _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
10843 : {
10844 4930 : ndr_print_struct(ndr, name, "netr_LogonSamLogon");
10845 4930 : if (r == NULL) { ndr_print_null(ndr); return; }
10846 4930 : ndr->depth++;
10847 4930 : if (flags & NDR_SET_VALUES) {
10848 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10849 : }
10850 4930 : if (flags & NDR_IN) {
10851 2 : ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
10852 2 : ndr->depth++;
10853 2 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
10854 2 : ndr->depth++;
10855 2 : if (r->in.server_name) {
10856 2 : ndr_print_string(ndr, "server_name", r->in.server_name);
10857 : }
10858 2 : ndr->depth--;
10859 2 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10860 2 : ndr->depth++;
10861 2 : if (r->in.computer_name) {
10862 2 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
10863 : }
10864 2 : ndr->depth--;
10865 2 : ndr_print_ptr(ndr, "credential", r->in.credential);
10866 2 : ndr->depth++;
10867 2 : if (r->in.credential) {
10868 2 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10869 : }
10870 2 : ndr->depth--;
10871 2 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10872 2 : ndr->depth++;
10873 2 : if (r->in.return_authenticator) {
10874 2 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10875 : }
10876 2 : ndr->depth--;
10877 2 : ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
10878 2 : ndr_print_ptr(ndr, "logon", r->in.logon);
10879 2 : ndr->depth++;
10880 2 : ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
10881 2 : ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
10882 2 : ndr->depth--;
10883 2 : ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
10884 2 : ndr->depth--;
10885 : }
10886 4930 : if (flags & NDR_OUT) {
10887 4928 : ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
10888 4928 : ndr->depth++;
10889 4928 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10890 4928 : ndr->depth++;
10891 4928 : if (r->out.return_authenticator) {
10892 2688 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10893 : }
10894 4928 : ndr->depth--;
10895 4928 : ndr_print_ptr(ndr, "validation", r->out.validation);
10896 4928 : ndr->depth++;
10897 4928 : ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
10898 4928 : ndr_print_netr_Validation(ndr, "validation", r->out.validation);
10899 4928 : ndr->depth--;
10900 4928 : ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
10901 4928 : ndr->depth++;
10902 4928 : ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
10903 4928 : ndr->depth--;
10904 4928 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
10905 4928 : ndr->depth--;
10906 : }
10907 4930 : ndr->depth--;
10908 : }
10909 :
10910 0 : static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
10911 : {
10912 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10913 0 : if (flags & NDR_IN) {
10914 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10915 0 : if (r->in.server_name) {
10916 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10917 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10918 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10919 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10920 : }
10921 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
10922 0 : if (r->in.computer_name) {
10923 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10924 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10925 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10926 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10927 : }
10928 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
10929 0 : if (r->in.credential) {
10930 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10931 : }
10932 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
10933 0 : if (r->in.return_authenticator) {
10934 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10935 : }
10936 0 : NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
10937 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
10938 0 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
10939 : }
10940 0 : if (flags & NDR_OUT) {
10941 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
10942 0 : if (r->out.return_authenticator) {
10943 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10944 : }
10945 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10946 : }
10947 0 : return NDR_ERR_SUCCESS;
10948 : }
10949 :
10950 0 : static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
10951 : {
10952 : uint32_t _ptr_server_name;
10953 0 : uint32_t size_server_name_1 = 0;
10954 0 : uint32_t length_server_name_1 = 0;
10955 : uint32_t _ptr_computer_name;
10956 0 : uint32_t size_computer_name_1 = 0;
10957 0 : uint32_t length_computer_name_1 = 0;
10958 : uint32_t _ptr_credential;
10959 : uint32_t _ptr_return_authenticator;
10960 0 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
10961 0 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
10962 0 : TALLOC_CTX *_mem_save_credential_0 = NULL;
10963 0 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
10964 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10965 0 : if (flags & NDR_IN) {
10966 0 : NDR_ZERO_STRUCT(r->out);
10967 :
10968 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10969 0 : if (_ptr_server_name) {
10970 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
10971 : } else {
10972 0 : r->in.server_name = NULL;
10973 : }
10974 0 : if (r->in.server_name) {
10975 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10976 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10977 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10978 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10979 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
10980 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
10981 0 : if (length_server_name_1 > size_server_name_1) {
10982 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10983 : }
10984 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10985 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10986 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10987 : }
10988 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
10989 0 : if (_ptr_computer_name) {
10990 0 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
10991 : } else {
10992 0 : r->in.computer_name = NULL;
10993 : }
10994 0 : if (r->in.computer_name) {
10995 0 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10996 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
10997 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10998 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10999 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
11000 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
11001 0 : if (length_computer_name_1 > size_computer_name_1) {
11002 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
11003 : }
11004 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
11005 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
11006 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
11007 : }
11008 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
11009 0 : if (_ptr_credential) {
11010 0 : NDR_PULL_ALLOC(ndr, r->in.credential);
11011 : } else {
11012 0 : r->in.credential = NULL;
11013 : }
11014 0 : if (r->in.credential) {
11015 0 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11016 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
11017 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11018 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
11019 : }
11020 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
11021 0 : if (_ptr_return_authenticator) {
11022 0 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11023 : } else {
11024 0 : r->in.return_authenticator = NULL;
11025 : }
11026 0 : if (r->in.return_authenticator) {
11027 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11028 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
11029 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11030 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
11031 : }
11032 0 : NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
11033 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
11034 0 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
11035 : }
11036 0 : if (flags & NDR_OUT) {
11037 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11038 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11039 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
11040 0 : if (_ptr_return_authenticator) {
11041 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11042 : } else {
11043 0 : r->out.return_authenticator = NULL;
11044 : }
11045 0 : if (r->out.return_authenticator) {
11046 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11047 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
11048 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11049 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
11050 : }
11051 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11052 : }
11053 0 : return NDR_ERR_SUCCESS;
11054 : }
11055 :
11056 0 : _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
11057 : {
11058 0 : ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
11059 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11060 0 : ndr->depth++;
11061 0 : if (flags & NDR_SET_VALUES) {
11062 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11063 : }
11064 0 : if (flags & NDR_IN) {
11065 0 : ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
11066 0 : ndr->depth++;
11067 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
11068 0 : ndr->depth++;
11069 0 : if (r->in.server_name) {
11070 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
11071 : }
11072 0 : ndr->depth--;
11073 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11074 0 : ndr->depth++;
11075 0 : if (r->in.computer_name) {
11076 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
11077 : }
11078 0 : ndr->depth--;
11079 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
11080 0 : ndr->depth++;
11081 0 : if (r->in.credential) {
11082 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11083 : }
11084 0 : ndr->depth--;
11085 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11086 0 : ndr->depth++;
11087 0 : if (r->in.return_authenticator) {
11088 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11089 : }
11090 0 : ndr->depth--;
11091 0 : ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
11092 0 : ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
11093 0 : ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
11094 0 : ndr->depth--;
11095 : }
11096 0 : if (flags & NDR_OUT) {
11097 0 : ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
11098 0 : ndr->depth++;
11099 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11100 0 : ndr->depth++;
11101 0 : if (r->out.return_authenticator) {
11102 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11103 : }
11104 0 : ndr->depth--;
11105 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11106 0 : ndr->depth--;
11107 : }
11108 0 : ndr->depth--;
11109 : }
11110 :
11111 25149 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
11112 : {
11113 25149 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11114 25149 : if (flags & NDR_IN) {
11115 11449 : if (r->in.computer_name == NULL) {
11116 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11117 : }
11118 11449 : if (r->in.credentials == NULL) {
11119 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11120 : }
11121 11449 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11122 11449 : if (r->in.server_name) {
11123 1049 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11124 1049 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11125 1049 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11126 1049 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11127 : }
11128 11449 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11129 11449 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11130 11449 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11131 11449 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11132 11449 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11133 : }
11134 25149 : if (flags & NDR_OUT) {
11135 13700 : if (r->out.return_credentials == NULL) {
11136 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11137 : }
11138 13700 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11139 13700 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11140 : }
11141 23439 : return NDR_ERR_SUCCESS;
11142 : }
11143 :
11144 22958 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
11145 : {
11146 : uint32_t _ptr_server_name;
11147 22958 : uint32_t size_server_name_1 = 0;
11148 22958 : uint32_t length_server_name_1 = 0;
11149 22958 : uint32_t size_computer_name_1 = 0;
11150 22958 : uint32_t length_computer_name_1 = 0;
11151 22958 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
11152 22958 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
11153 22958 : TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
11154 22958 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11155 22958 : if (flags & NDR_IN) {
11156 11507 : NDR_ZERO_STRUCT(r->out);
11157 :
11158 11507 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11159 11507 : if (_ptr_server_name) {
11160 1107 : NDR_PULL_ALLOC(ndr, r->in.server_name);
11161 : } else {
11162 10400 : r->in.server_name = NULL;
11163 : }
11164 11507 : if (r->in.server_name) {
11165 1107 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11166 1107 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11167 1107 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11168 1107 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11169 1107 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
11170 1107 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
11171 1107 : if (length_server_name_1 > size_server_name_1) {
11172 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
11173 : }
11174 1107 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
11175 1107 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
11176 1107 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11177 : }
11178 11507 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11179 11507 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11180 11507 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
11181 11507 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
11182 11507 : if (length_computer_name_1 > size_computer_name_1) {
11183 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
11184 : }
11185 11507 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
11186 11507 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
11187 11507 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11188 11507 : NDR_PULL_ALLOC(ndr, r->in.credentials);
11189 : }
11190 11507 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11191 11507 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11192 11507 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11193 11507 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11194 11507 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11195 11507 : NDR_ZERO_STRUCTP(r->out.return_credentials);
11196 : }
11197 22958 : if (flags & NDR_OUT) {
11198 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11199 : if (r->in.credentials == NULL) {
11200 : NDR_PULL_ALLOC(ndr, r->in.credentials);
11201 : NDR_ZERO_STRUCTP(r->in.credentials);
11202 : }
11203 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11204 11451 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11205 2309 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11206 : }
11207 11451 : _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11208 11451 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11209 11451 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11210 11451 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11211 11451 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11212 : }
11213 21310 : return NDR_ERR_SUCCESS;
11214 : }
11215 :
11216 4394 : _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
11217 : {
11218 4394 : ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
11219 4394 : if (r == NULL) { ndr_print_null(ndr); return; }
11220 4394 : ndr->depth++;
11221 4394 : if (flags & NDR_SET_VALUES) {
11222 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11223 : }
11224 4394 : if (flags & NDR_IN) {
11225 2 : ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
11226 2 : ndr->depth++;
11227 2 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
11228 2 : ndr->depth++;
11229 2 : if (r->in.server_name) {
11230 2 : ndr_print_string(ndr, "server_name", r->in.server_name);
11231 : }
11232 2 : ndr->depth--;
11233 2 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11234 2 : ndr->depth++;
11235 2 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
11236 2 : ndr->depth--;
11237 2 : ndr_print_ptr(ndr, "credentials", r->in.credentials);
11238 2 : ndr->depth++;
11239 2 : ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11240 2 : ndr->depth--;
11241 2 : ndr->depth--;
11242 : }
11243 4394 : if (flags & NDR_OUT) {
11244 4392 : ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
11245 4392 : ndr->depth++;
11246 4392 : ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11247 4392 : ndr->depth++;
11248 4392 : ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11249 4392 : ndr->depth--;
11250 4392 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11251 4392 : ndr->depth--;
11252 : }
11253 4394 : ndr->depth--;
11254 : }
11255 :
11256 828 : static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
11257 : {
11258 828 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11259 828 : if (flags & NDR_IN) {
11260 368 : if (r->in.account_name == NULL) {
11261 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11262 : }
11263 368 : if (r->in.computer_name == NULL) {
11264 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11265 : }
11266 368 : if (r->in.credentials == NULL) {
11267 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11268 : }
11269 368 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11270 368 : if (r->in.server_name) {
11271 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11272 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11273 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11274 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11275 : }
11276 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11277 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11278 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11279 368 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11280 368 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11281 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11282 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11283 368 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11284 368 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11285 368 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11286 : }
11287 828 : if (flags & NDR_OUT) {
11288 460 : if (r->out.return_credentials == NULL) {
11289 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11290 : }
11291 460 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11292 460 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11293 : }
11294 702 : return NDR_ERR_SUCCESS;
11295 : }
11296 :
11297 736 : static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
11298 : {
11299 : uint32_t _ptr_server_name;
11300 736 : uint32_t size_server_name_1 = 0;
11301 736 : uint32_t length_server_name_1 = 0;
11302 736 : uint32_t size_account_name_1 = 0;
11303 736 : uint32_t length_account_name_1 = 0;
11304 736 : uint32_t size_computer_name_1 = 0;
11305 736 : uint32_t length_computer_name_1 = 0;
11306 736 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
11307 736 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
11308 736 : TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
11309 736 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11310 736 : if (flags & NDR_IN) {
11311 368 : NDR_ZERO_STRUCT(r->out);
11312 :
11313 368 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11314 368 : if (_ptr_server_name) {
11315 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
11316 : } else {
11317 368 : r->in.server_name = NULL;
11318 : }
11319 368 : if (r->in.server_name) {
11320 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11321 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11322 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11323 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11324 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
11325 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
11326 0 : if (length_server_name_1 > size_server_name_1) {
11327 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
11328 : }
11329 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
11330 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
11331 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11332 : }
11333 368 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11334 368 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11335 368 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
11336 368 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
11337 368 : if (length_account_name_1 > size_account_name_1) {
11338 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
11339 : }
11340 368 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
11341 368 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
11342 368 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11343 368 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11344 368 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11345 368 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
11346 368 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
11347 368 : if (length_computer_name_1 > size_computer_name_1) {
11348 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
11349 : }
11350 368 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
11351 368 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
11352 368 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11353 368 : NDR_PULL_ALLOC(ndr, r->in.credentials);
11354 : }
11355 368 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11356 368 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11357 368 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11358 368 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11359 368 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11360 368 : NDR_ZERO_STRUCTP(r->out.return_credentials);
11361 : }
11362 736 : if (flags & NDR_OUT) {
11363 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11364 : if (r->in.credentials == NULL) {
11365 : NDR_PULL_ALLOC(ndr, r->in.credentials);
11366 : NDR_ZERO_STRUCTP(r->in.credentials);
11367 : }
11368 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11369 368 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11370 92 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11371 : }
11372 368 : _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11373 368 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11374 368 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11375 368 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11376 368 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11377 : }
11378 624 : return NDR_ERR_SUCCESS;
11379 : }
11380 :
11381 184 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
11382 : {
11383 184 : ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
11384 184 : if (r == NULL) { ndr_print_null(ndr); return; }
11385 184 : ndr->depth++;
11386 184 : if (flags & NDR_SET_VALUES) {
11387 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11388 : }
11389 184 : if (flags & NDR_IN) {
11390 0 : ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
11391 0 : ndr->depth++;
11392 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
11393 0 : ndr->depth++;
11394 0 : if (r->in.server_name) {
11395 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
11396 : }
11397 0 : ndr->depth--;
11398 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
11399 0 : ndr->depth++;
11400 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
11401 0 : ndr->depth--;
11402 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11403 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11404 0 : ndr->depth++;
11405 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
11406 0 : ndr->depth--;
11407 0 : ndr_print_ptr(ndr, "credentials", r->in.credentials);
11408 0 : ndr->depth++;
11409 0 : ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11410 0 : ndr->depth--;
11411 0 : ndr->depth--;
11412 : }
11413 184 : if (flags & NDR_OUT) {
11414 184 : ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
11415 184 : ndr->depth++;
11416 184 : ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11417 184 : ndr->depth++;
11418 184 : ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11419 184 : ndr->depth--;
11420 184 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11421 184 : ndr->depth--;
11422 : }
11423 184 : ndr->depth--;
11424 : }
11425 :
11426 177 : static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
11427 : {
11428 177 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11429 177 : if (flags & NDR_IN) {
11430 83 : if (r->in.account_name == NULL) {
11431 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11432 : }
11433 83 : if (r->in.computer_name == NULL) {
11434 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11435 : }
11436 83 : if (r->in.credential == NULL) {
11437 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11438 : }
11439 83 : if (r->in.new_password == NULL) {
11440 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11441 : }
11442 83 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11443 83 : if (r->in.server_name) {
11444 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11445 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11446 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11447 83 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11448 : }
11449 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11450 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11451 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11452 83 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11453 83 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11454 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11455 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11456 83 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11457 83 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11458 83 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11459 83 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
11460 : }
11461 177 : if (flags & NDR_OUT) {
11462 94 : if (r->out.return_authenticator == NULL) {
11463 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11464 : }
11465 94 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11466 94 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11467 : }
11468 157 : return NDR_ERR_SUCCESS;
11469 : }
11470 :
11471 162 : static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
11472 : {
11473 : uint32_t _ptr_server_name;
11474 162 : uint32_t size_server_name_1 = 0;
11475 162 : uint32_t length_server_name_1 = 0;
11476 162 : uint32_t size_account_name_1 = 0;
11477 162 : uint32_t length_account_name_1 = 0;
11478 162 : uint32_t size_computer_name_1 = 0;
11479 162 : uint32_t length_computer_name_1 = 0;
11480 162 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
11481 162 : TALLOC_CTX *_mem_save_credential_0 = NULL;
11482 162 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
11483 162 : TALLOC_CTX *_mem_save_new_password_0 = NULL;
11484 162 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11485 162 : if (flags & NDR_IN) {
11486 79 : NDR_ZERO_STRUCT(r->out);
11487 :
11488 79 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11489 79 : if (_ptr_server_name) {
11490 79 : NDR_PULL_ALLOC(ndr, r->in.server_name);
11491 : } else {
11492 0 : r->in.server_name = NULL;
11493 : }
11494 79 : if (r->in.server_name) {
11495 79 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11496 79 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11497 79 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11498 79 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11499 79 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
11500 79 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
11501 79 : if (length_server_name_1 > size_server_name_1) {
11502 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
11503 : }
11504 79 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
11505 79 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
11506 79 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11507 : }
11508 79 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11509 79 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11510 79 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
11511 79 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
11512 79 : if (length_account_name_1 > size_account_name_1) {
11513 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
11514 : }
11515 79 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
11516 79 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
11517 79 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11518 79 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11519 79 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11520 79 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
11521 79 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
11522 79 : if (length_computer_name_1 > size_computer_name_1) {
11523 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
11524 : }
11525 79 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
11526 79 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
11527 79 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11528 79 : NDR_PULL_ALLOC(ndr, r->in.credential);
11529 : }
11530 79 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11531 79 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11532 79 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11533 79 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11534 79 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11535 79 : NDR_PULL_ALLOC(ndr, r->in.new_password);
11536 : }
11537 79 : _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11538 79 : NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
11539 79 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
11540 79 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
11541 79 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11542 79 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
11543 : }
11544 162 : if (flags & NDR_OUT) {
11545 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11546 : if (r->in.credential == NULL) {
11547 : NDR_PULL_ALLOC(ndr, r->in.credential);
11548 : NDR_ZERO_STRUCTP(r->in.credential);
11549 : }
11550 : if (r->in.new_password == NULL) {
11551 : NDR_PULL_ALLOC(ndr, r->in.new_password);
11552 : NDR_ZERO_STRUCTP(r->in.new_password);
11553 : }
11554 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11555 83 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11556 15 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11557 : }
11558 83 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11559 83 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11560 83 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11561 83 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11562 83 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11563 : }
11564 144 : return NDR_ERR_SUCCESS;
11565 : }
11566 :
11567 30 : _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
11568 : {
11569 30 : ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
11570 30 : if (r == NULL) { ndr_print_null(ndr); return; }
11571 30 : ndr->depth++;
11572 30 : if (flags & NDR_SET_VALUES) {
11573 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11574 : }
11575 30 : if (flags & NDR_IN) {
11576 0 : ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
11577 0 : ndr->depth++;
11578 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
11579 0 : ndr->depth++;
11580 0 : if (r->in.server_name) {
11581 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
11582 : }
11583 0 : ndr->depth--;
11584 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
11585 0 : ndr->depth++;
11586 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
11587 0 : ndr->depth--;
11588 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11589 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11590 0 : ndr->depth++;
11591 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
11592 0 : ndr->depth--;
11593 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
11594 0 : ndr->depth++;
11595 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11596 0 : ndr->depth--;
11597 0 : ndr_print_ptr(ndr, "new_password", r->in.new_password);
11598 0 : ndr->depth++;
11599 0 : ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
11600 0 : ndr->depth--;
11601 0 : ndr->depth--;
11602 : }
11603 30 : if (flags & NDR_OUT) {
11604 30 : ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
11605 30 : ndr->depth++;
11606 30 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11607 30 : ndr->depth++;
11608 30 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11609 30 : ndr->depth--;
11610 30 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11611 30 : ndr->depth--;
11612 : }
11613 30 : ndr->depth--;
11614 : }
11615 :
11616 0 : static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
11617 : {
11618 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11619 0 : if (flags & NDR_IN) {
11620 0 : if (r->in.logon_server == NULL) {
11621 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11622 : }
11623 0 : if (r->in.computername == NULL) {
11624 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11625 : }
11626 0 : if (r->in.credential == NULL) {
11627 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11628 : }
11629 0 : if (r->in.return_authenticator == NULL) {
11630 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11631 : }
11632 0 : if (r->in.sequence_num == NULL) {
11633 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11634 : }
11635 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11636 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11637 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11638 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11639 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11640 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11641 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11642 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11643 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11644 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11645 0 : NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
11646 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
11647 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
11648 : }
11649 0 : if (flags & NDR_OUT) {
11650 0 : if (r->out.return_authenticator == NULL) {
11651 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11652 : }
11653 0 : if (r->out.sequence_num == NULL) {
11654 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11655 : }
11656 0 : if (r->out.delta_enum_array == NULL) {
11657 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11658 : }
11659 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11660 0 : NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
11661 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
11662 0 : if (*r->out.delta_enum_array) {
11663 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11664 : }
11665 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11666 : }
11667 0 : return NDR_ERR_SUCCESS;
11668 : }
11669 :
11670 0 : static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
11671 : {
11672 0 : uint32_t size_logon_server_1 = 0;
11673 0 : uint32_t length_logon_server_1 = 0;
11674 0 : uint32_t size_computername_1 = 0;
11675 0 : uint32_t length_computername_1 = 0;
11676 : uint32_t _ptr_delta_enum_array;
11677 0 : TALLOC_CTX *_mem_save_credential_0 = NULL;
11678 0 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
11679 0 : TALLOC_CTX *_mem_save_sequence_num_0 = NULL;
11680 0 : TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
11681 0 : TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
11682 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11683 0 : if (flags & NDR_IN) {
11684 0 : NDR_ZERO_STRUCT(r->out);
11685 :
11686 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11687 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11688 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
11689 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
11690 0 : if (length_logon_server_1 > size_logon_server_1) {
11691 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11692 : }
11693 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11694 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11695 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11696 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11697 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
11698 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
11699 0 : if (length_computername_1 > size_computername_1) {
11700 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
11701 : }
11702 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
11703 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
11704 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11705 0 : NDR_PULL_ALLOC(ndr, r->in.credential);
11706 : }
11707 0 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11708 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11709 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11710 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11711 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11712 0 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11713 : }
11714 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11715 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11716 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11717 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11718 0 : NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
11719 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11720 0 : NDR_PULL_ALLOC(ndr, r->in.sequence_num);
11721 : }
11722 0 : _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
11723 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
11724 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
11725 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
11726 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
11727 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11728 0 : *r->out.return_authenticator = *r->in.return_authenticator;
11729 0 : NDR_PULL_ALLOC(ndr, r->out.sequence_num);
11730 0 : *r->out.sequence_num = *r->in.sequence_num;
11731 0 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11732 0 : NDR_ZERO_STRUCTP(r->out.delta_enum_array);
11733 : }
11734 0 : if (flags & NDR_OUT) {
11735 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11736 : if (r->in.credential == NULL) {
11737 : NDR_PULL_ALLOC(ndr, r->in.credential);
11738 : NDR_ZERO_STRUCTP(r->in.credential);
11739 : }
11740 : if (r->in.return_authenticator == NULL) {
11741 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11742 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
11743 : }
11744 : if (r->in.sequence_num == NULL) {
11745 : NDR_PULL_ALLOC(ndr, r->in.sequence_num);
11746 : NDR_ZERO_STRUCTP(r->in.sequence_num);
11747 : }
11748 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11749 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11750 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11751 : }
11752 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11753 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11754 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11755 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11756 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11757 0 : NDR_PULL_ALLOC(ndr, r->out.sequence_num);
11758 : }
11759 0 : _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
11760 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
11761 0 : NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
11762 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
11763 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11764 0 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11765 : }
11766 0 : _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11767 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
11768 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
11769 0 : if (_ptr_delta_enum_array) {
11770 0 : NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
11771 : } else {
11772 0 : *r->out.delta_enum_array = NULL;
11773 : }
11774 0 : if (*r->out.delta_enum_array) {
11775 0 : _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11776 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
11777 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11778 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
11779 : }
11780 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
11781 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11782 : }
11783 0 : return NDR_ERR_SUCCESS;
11784 : }
11785 :
11786 0 : _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
11787 : {
11788 0 : ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
11789 0 : if (r == NULL) { ndr_print_null(ndr); return; }
11790 0 : ndr->depth++;
11791 0 : if (flags & NDR_SET_VALUES) {
11792 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11793 : }
11794 0 : if (flags & NDR_IN) {
11795 0 : ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
11796 0 : ndr->depth++;
11797 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11798 0 : ndr->depth++;
11799 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
11800 0 : ndr->depth--;
11801 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
11802 0 : ndr->depth++;
11803 0 : ndr_print_string(ndr, "computername", r->in.computername);
11804 0 : ndr->depth--;
11805 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
11806 0 : ndr->depth++;
11807 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
11808 0 : ndr->depth--;
11809 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11810 0 : ndr->depth++;
11811 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11812 0 : ndr->depth--;
11813 0 : ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
11814 0 : ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
11815 0 : ndr->depth++;
11816 0 : ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
11817 0 : ndr->depth--;
11818 0 : ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
11819 0 : ndr->depth--;
11820 : }
11821 0 : if (flags & NDR_OUT) {
11822 0 : ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
11823 0 : ndr->depth++;
11824 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11825 0 : ndr->depth++;
11826 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11827 0 : ndr->depth--;
11828 0 : ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
11829 0 : ndr->depth++;
11830 0 : ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
11831 0 : ndr->depth--;
11832 0 : ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
11833 0 : ndr->depth++;
11834 0 : ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
11835 0 : ndr->depth++;
11836 0 : if (*r->out.delta_enum_array) {
11837 0 : ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
11838 : }
11839 0 : ndr->depth--;
11840 0 : ndr->depth--;
11841 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
11842 0 : ndr->depth--;
11843 : }
11844 0 : ndr->depth--;
11845 : }
11846 :
11847 54 : static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
11848 : {
11849 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11850 54 : if (flags & NDR_IN) {
11851 24 : if (r->in.logon_server == NULL) {
11852 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11853 : }
11854 24 : if (r->in.computername == NULL) {
11855 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11856 : }
11857 24 : if (r->in.credential == NULL) {
11858 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11859 : }
11860 24 : if (r->in.return_authenticator == NULL) {
11861 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11862 : }
11863 24 : if (r->in.sync_context == NULL) {
11864 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11865 : }
11866 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11867 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11868 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11869 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11870 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11871 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11872 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11873 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11874 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11875 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11876 24 : NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
11877 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
11878 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
11879 : }
11880 54 : if (flags & NDR_OUT) {
11881 30 : if (r->out.return_authenticator == NULL) {
11882 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11883 : }
11884 30 : if (r->out.sync_context == NULL) {
11885 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11886 : }
11887 30 : if (r->out.delta_enum_array == NULL) {
11888 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11889 : }
11890 30 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11891 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
11892 30 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
11893 30 : if (*r->out.delta_enum_array) {
11894 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
11895 : }
11896 30 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11897 : }
11898 45 : return NDR_ERR_SUCCESS;
11899 : }
11900 :
11901 48 : static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
11902 : {
11903 48 : uint32_t size_logon_server_1 = 0;
11904 48 : uint32_t length_logon_server_1 = 0;
11905 48 : uint32_t size_computername_1 = 0;
11906 48 : uint32_t length_computername_1 = 0;
11907 : uint32_t _ptr_delta_enum_array;
11908 48 : TALLOC_CTX *_mem_save_credential_0 = NULL;
11909 48 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
11910 48 : TALLOC_CTX *_mem_save_sync_context_0 = NULL;
11911 48 : TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
11912 48 : TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
11913 48 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11914 48 : if (flags & NDR_IN) {
11915 24 : NDR_ZERO_STRUCT(r->out);
11916 :
11917 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11918 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11919 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
11920 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
11921 24 : if (length_logon_server_1 > size_logon_server_1) {
11922 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11923 : }
11924 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11925 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11926 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11927 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11928 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
11929 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
11930 24 : if (length_computername_1 > size_computername_1) {
11931 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
11932 : }
11933 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
11934 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
11935 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11936 24 : NDR_PULL_ALLOC(ndr, r->in.credential);
11937 : }
11938 24 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
11939 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
11940 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11941 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
11942 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11943 24 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11944 : }
11945 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11946 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11947 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11948 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11949 24 : NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
11950 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11951 24 : NDR_PULL_ALLOC(ndr, r->in.sync_context);
11952 : }
11953 24 : _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
11954 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
11955 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
11956 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
11957 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
11958 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11959 24 : *r->out.return_authenticator = *r->in.return_authenticator;
11960 24 : NDR_PULL_ALLOC(ndr, r->out.sync_context);
11961 24 : *r->out.sync_context = *r->in.sync_context;
11962 24 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11963 24 : NDR_ZERO_STRUCTP(r->out.delta_enum_array);
11964 : }
11965 48 : if (flags & NDR_OUT) {
11966 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
11967 : if (r->in.credential == NULL) {
11968 : NDR_PULL_ALLOC(ndr, r->in.credential);
11969 : NDR_ZERO_STRUCTP(r->in.credential);
11970 : }
11971 : if (r->in.return_authenticator == NULL) {
11972 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11973 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
11974 : }
11975 : if (r->in.sync_context == NULL) {
11976 : NDR_PULL_ALLOC(ndr, r->in.sync_context);
11977 : NDR_ZERO_STRUCTP(r->in.sync_context);
11978 : }
11979 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
11980 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11981 6 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11982 : }
11983 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11984 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11985 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11986 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11987 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11988 6 : NDR_PULL_ALLOC(ndr, r->out.sync_context);
11989 : }
11990 24 : _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
11991 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
11992 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
11993 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
11994 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11995 6 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
11996 : }
11997 24 : _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11998 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
11999 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12000 24 : if (_ptr_delta_enum_array) {
12001 0 : NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12002 : } else {
12003 24 : *r->out.delta_enum_array = NULL;
12004 : }
12005 24 : if (*r->out.delta_enum_array) {
12006 0 : _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12007 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12008 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12009 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12010 : }
12011 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12012 24 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12013 : }
12014 40 : return NDR_ERR_SUCCESS;
12015 : }
12016 :
12017 12 : _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
12018 : {
12019 12 : ndr_print_struct(ndr, name, "netr_DatabaseSync");
12020 12 : if (r == NULL) { ndr_print_null(ndr); return; }
12021 12 : ndr->depth++;
12022 12 : if (flags & NDR_SET_VALUES) {
12023 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12024 : }
12025 12 : if (flags & NDR_IN) {
12026 0 : ndr_print_struct(ndr, "in", "netr_DatabaseSync");
12027 0 : ndr->depth++;
12028 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12029 0 : ndr->depth++;
12030 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
12031 0 : ndr->depth--;
12032 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
12033 0 : ndr->depth++;
12034 0 : ndr_print_string(ndr, "computername", r->in.computername);
12035 0 : ndr->depth--;
12036 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
12037 0 : ndr->depth++;
12038 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12039 0 : ndr->depth--;
12040 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12041 0 : ndr->depth++;
12042 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12043 0 : ndr->depth--;
12044 0 : ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12045 0 : ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12046 0 : ndr->depth++;
12047 0 : ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12048 0 : ndr->depth--;
12049 0 : ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12050 0 : ndr->depth--;
12051 : }
12052 12 : if (flags & NDR_OUT) {
12053 12 : ndr_print_struct(ndr, "out", "netr_DatabaseSync");
12054 12 : ndr->depth++;
12055 12 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12056 12 : ndr->depth++;
12057 12 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12058 12 : ndr->depth--;
12059 12 : ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12060 12 : ndr->depth++;
12061 12 : ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12062 12 : ndr->depth--;
12063 12 : ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12064 12 : ndr->depth++;
12065 12 : ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12066 12 : ndr->depth++;
12067 12 : if (*r->out.delta_enum_array) {
12068 0 : ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12069 : }
12070 12 : ndr->depth--;
12071 12 : ndr->depth--;
12072 12 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12073 12 : ndr->depth--;
12074 : }
12075 12 : ndr->depth--;
12076 : }
12077 :
12078 54 : static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
12079 : {
12080 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12081 54 : if (flags & NDR_IN) {
12082 24 : if (r->in.computername == NULL) {
12083 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12084 : }
12085 24 : if (r->in.return_authenticator == NULL) {
12086 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12087 : }
12088 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12089 24 : if (r->in.logon_server) {
12090 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12091 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12092 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12093 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12094 : }
12095 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12096 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12097 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12098 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12099 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12100 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12101 24 : NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
12102 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12103 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12104 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
12105 : }
12106 54 : if (flags & NDR_OUT) {
12107 30 : if (r->out.return_authenticator == NULL) {
12108 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12109 : }
12110 30 : if (r->out.buffer == NULL) {
12111 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12112 : }
12113 30 : if (r->out.count_returned == NULL) {
12114 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12115 : }
12116 30 : if (r->out.total_entries == NULL) {
12117 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12118 : }
12119 30 : if (r->out.recordid == NULL) {
12120 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12121 : }
12122 30 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12123 : {
12124 : struct ndr_push *_ndr_buffer;
12125 30 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
12126 30 : NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
12127 30 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
12128 : }
12129 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
12130 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
12131 30 : NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
12132 30 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12133 : }
12134 45 : return NDR_ERR_SUCCESS;
12135 : }
12136 :
12137 48 : static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
12138 : {
12139 : uint32_t _ptr_logon_server;
12140 48 : uint32_t size_logon_server_1 = 0;
12141 48 : uint32_t length_logon_server_1 = 0;
12142 48 : uint32_t size_computername_1 = 0;
12143 48 : uint32_t length_computername_1 = 0;
12144 48 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
12145 48 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
12146 48 : TALLOC_CTX *_mem_save_buffer_0 = NULL;
12147 48 : TALLOC_CTX *_mem_save_count_returned_0 = NULL;
12148 48 : TALLOC_CTX *_mem_save_total_entries_0 = NULL;
12149 48 : TALLOC_CTX *_mem_save_recordid_0 = NULL;
12150 48 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12151 48 : if (flags & NDR_IN) {
12152 24 : NDR_ZERO_STRUCT(r->out);
12153 :
12154 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12155 24 : if (_ptr_logon_server) {
12156 24 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
12157 : } else {
12158 0 : r->in.logon_server = NULL;
12159 : }
12160 24 : if (r->in.logon_server) {
12161 24 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12162 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12163 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12164 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12165 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
12166 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
12167 24 : if (length_logon_server_1 > size_logon_server_1) {
12168 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12169 : }
12170 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12171 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12172 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12173 : }
12174 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12175 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12176 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
12177 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
12178 24 : if (length_computername_1 > size_computername_1) {
12179 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
12180 : }
12181 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
12182 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
12183 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12184 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12185 24 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12186 : }
12187 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12188 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12189 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12190 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12191 24 : NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
12192 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12193 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12194 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
12195 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12196 24 : *r->out.return_authenticator = *r->in.return_authenticator;
12197 24 : NDR_PULL_ALLOC(ndr, r->out.buffer);
12198 24 : NDR_ZERO_STRUCTP(r->out.buffer);
12199 24 : NDR_PULL_ALLOC(ndr, r->out.count_returned);
12200 24 : NDR_ZERO_STRUCTP(r->out.count_returned);
12201 24 : NDR_PULL_ALLOC(ndr, r->out.total_entries);
12202 24 : NDR_ZERO_STRUCTP(r->out.total_entries);
12203 24 : NDR_PULL_ALLOC(ndr, r->out.recordid);
12204 24 : NDR_ZERO_STRUCTP(r->out.recordid);
12205 : }
12206 48 : if (flags & NDR_OUT) {
12207 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12208 : if (r->in.return_authenticator == NULL) {
12209 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12210 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
12211 : }
12212 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12213 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12214 6 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12215 : }
12216 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12217 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12218 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12219 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12220 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12221 6 : NDR_PULL_ALLOC(ndr, r->out.buffer);
12222 : }
12223 24 : _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
12224 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
12225 : {
12226 : struct ndr_pull *_ndr_buffer;
12227 24 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
12228 24 : NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
12229 24 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
12230 : }
12231 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
12232 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12233 6 : NDR_PULL_ALLOC(ndr, r->out.count_returned);
12234 : }
12235 24 : _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
12236 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
12237 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
12238 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
12239 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12240 6 : NDR_PULL_ALLOC(ndr, r->out.total_entries);
12241 : }
12242 24 : _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
12243 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
12244 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
12245 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
12246 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12247 6 : NDR_PULL_ALLOC(ndr, r->out.recordid);
12248 : }
12249 24 : _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12250 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
12251 24 : NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
12252 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
12253 24 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12254 : }
12255 40 : return NDR_ERR_SUCCESS;
12256 : }
12257 :
12258 12 : _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
12259 : {
12260 12 : ndr_print_struct(ndr, name, "netr_AccountDeltas");
12261 12 : if (r == NULL) { ndr_print_null(ndr); return; }
12262 12 : ndr->depth++;
12263 12 : if (flags & NDR_SET_VALUES) {
12264 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12265 : }
12266 12 : if (flags & NDR_IN) {
12267 0 : ndr_print_struct(ndr, "in", "netr_AccountDeltas");
12268 0 : ndr->depth++;
12269 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12270 0 : ndr->depth++;
12271 0 : if (r->in.logon_server) {
12272 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
12273 : }
12274 0 : ndr->depth--;
12275 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
12276 0 : ndr->depth++;
12277 0 : ndr_print_string(ndr, "computername", r->in.computername);
12278 0 : ndr->depth--;
12279 0 : ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12280 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12281 0 : ndr->depth++;
12282 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12283 0 : ndr->depth--;
12284 0 : ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
12285 0 : ndr_print_uint32(ndr, "count", r->in.count);
12286 0 : ndr_print_uint32(ndr, "level", r->in.level);
12287 0 : ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
12288 0 : ndr->depth--;
12289 : }
12290 12 : if (flags & NDR_OUT) {
12291 12 : ndr_print_struct(ndr, "out", "netr_AccountDeltas");
12292 12 : ndr->depth++;
12293 12 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12294 12 : ndr->depth++;
12295 12 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12296 12 : ndr->depth--;
12297 12 : ndr_print_ptr(ndr, "buffer", r->out.buffer);
12298 12 : ndr->depth++;
12299 12 : ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
12300 12 : ndr->depth--;
12301 12 : ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
12302 12 : ndr->depth++;
12303 12 : ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
12304 12 : ndr->depth--;
12305 12 : ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
12306 12 : ndr->depth++;
12307 12 : ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
12308 12 : ndr->depth--;
12309 12 : ndr_print_ptr(ndr, "recordid", r->out.recordid);
12310 12 : ndr->depth++;
12311 12 : ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
12312 12 : ndr->depth--;
12313 12 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12314 12 : ndr->depth--;
12315 : }
12316 12 : ndr->depth--;
12317 : }
12318 :
12319 54 : static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
12320 : {
12321 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12322 54 : if (flags & NDR_IN) {
12323 24 : if (r->in.computername == NULL) {
12324 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12325 : }
12326 24 : if (r->in.return_authenticator == NULL) {
12327 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12328 : }
12329 24 : if (r->in.recordid == NULL) {
12330 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12331 : }
12332 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12333 24 : if (r->in.logon_server) {
12334 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12335 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12336 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12337 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12338 : }
12339 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12340 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12341 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12342 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12343 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12344 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12345 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
12346 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12347 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
12348 24 : NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
12349 : }
12350 54 : if (flags & NDR_OUT) {
12351 30 : if (r->out.return_authenticator == NULL) {
12352 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12353 : }
12354 30 : if (r->out.buffer == NULL) {
12355 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12356 : }
12357 30 : if (r->out.count_returned == NULL) {
12358 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12359 : }
12360 30 : if (r->out.total_entries == NULL) {
12361 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12362 : }
12363 30 : if (r->out.next_reference == NULL) {
12364 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12365 : }
12366 30 : if (r->out.recordid == NULL) {
12367 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12368 : }
12369 30 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12370 : {
12371 : struct ndr_push *_ndr_buffer;
12372 30 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
12373 30 : NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
12374 30 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
12375 : }
12376 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
12377 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
12378 30 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
12379 30 : NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
12380 30 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12381 : }
12382 45 : return NDR_ERR_SUCCESS;
12383 : }
12384 :
12385 48 : static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
12386 : {
12387 : uint32_t _ptr_logon_server;
12388 48 : uint32_t size_logon_server_1 = 0;
12389 48 : uint32_t length_logon_server_1 = 0;
12390 48 : uint32_t size_computername_1 = 0;
12391 48 : uint32_t length_computername_1 = 0;
12392 48 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
12393 48 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
12394 48 : TALLOC_CTX *_mem_save_buffer_0 = NULL;
12395 48 : TALLOC_CTX *_mem_save_count_returned_0 = NULL;
12396 48 : TALLOC_CTX *_mem_save_total_entries_0 = NULL;
12397 48 : TALLOC_CTX *_mem_save_next_reference_0 = NULL;
12398 48 : TALLOC_CTX *_mem_save_recordid_0 = NULL;
12399 48 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12400 48 : if (flags & NDR_IN) {
12401 24 : NDR_ZERO_STRUCT(r->out);
12402 :
12403 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12404 24 : if (_ptr_logon_server) {
12405 24 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
12406 : } else {
12407 0 : r->in.logon_server = NULL;
12408 : }
12409 24 : if (r->in.logon_server) {
12410 24 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12411 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12412 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12413 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12414 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
12415 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
12416 24 : if (length_logon_server_1 > size_logon_server_1) {
12417 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12418 : }
12419 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12420 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12421 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12422 : }
12423 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12424 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12425 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
12426 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
12427 24 : if (length_computername_1 > size_computername_1) {
12428 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
12429 : }
12430 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
12431 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
12432 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12433 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12434 24 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12435 : }
12436 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12437 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12438 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12439 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12440 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
12441 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12442 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
12443 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12444 24 : NDR_PULL_ALLOC(ndr, r->in.recordid);
12445 : }
12446 24 : _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12447 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
12448 24 : NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
12449 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
12450 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12451 24 : *r->out.return_authenticator = *r->in.return_authenticator;
12452 24 : NDR_PULL_ALLOC(ndr, r->out.buffer);
12453 24 : NDR_ZERO_STRUCTP(r->out.buffer);
12454 24 : NDR_PULL_ALLOC(ndr, r->out.count_returned);
12455 24 : NDR_ZERO_STRUCTP(r->out.count_returned);
12456 24 : NDR_PULL_ALLOC(ndr, r->out.total_entries);
12457 24 : NDR_ZERO_STRUCTP(r->out.total_entries);
12458 24 : NDR_PULL_ALLOC(ndr, r->out.next_reference);
12459 24 : NDR_ZERO_STRUCTP(r->out.next_reference);
12460 24 : NDR_PULL_ALLOC(ndr, r->out.recordid);
12461 24 : *r->out.recordid = *r->in.recordid;
12462 : }
12463 48 : if (flags & NDR_OUT) {
12464 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12465 : if (r->in.return_authenticator == NULL) {
12466 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12467 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
12468 : }
12469 : if (r->in.recordid == NULL) {
12470 : NDR_PULL_ALLOC(ndr, r->in.recordid);
12471 : NDR_ZERO_STRUCTP(r->in.recordid);
12472 : }
12473 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12474 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12475 6 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12476 : }
12477 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12478 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12479 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12480 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12481 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12482 6 : NDR_PULL_ALLOC(ndr, r->out.buffer);
12483 : }
12484 24 : _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
12485 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
12486 : {
12487 : struct ndr_pull *_ndr_buffer;
12488 24 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
12489 24 : NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
12490 24 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
12491 : }
12492 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
12493 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12494 6 : NDR_PULL_ALLOC(ndr, r->out.count_returned);
12495 : }
12496 24 : _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
12497 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
12498 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
12499 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
12500 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12501 6 : NDR_PULL_ALLOC(ndr, r->out.total_entries);
12502 : }
12503 24 : _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
12504 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
12505 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
12506 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
12507 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12508 6 : NDR_PULL_ALLOC(ndr, r->out.next_reference);
12509 : }
12510 24 : _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
12511 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
12512 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
12513 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
12514 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12515 6 : NDR_PULL_ALLOC(ndr, r->out.recordid);
12516 : }
12517 24 : _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12518 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
12519 24 : NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
12520 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
12521 24 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12522 : }
12523 40 : return NDR_ERR_SUCCESS;
12524 : }
12525 :
12526 12 : _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
12527 : {
12528 12 : ndr_print_struct(ndr, name, "netr_AccountSync");
12529 12 : if (r == NULL) { ndr_print_null(ndr); return; }
12530 12 : ndr->depth++;
12531 12 : if (flags & NDR_SET_VALUES) {
12532 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12533 : }
12534 12 : if (flags & NDR_IN) {
12535 0 : ndr_print_struct(ndr, "in", "netr_AccountSync");
12536 0 : ndr->depth++;
12537 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12538 0 : ndr->depth++;
12539 0 : if (r->in.logon_server) {
12540 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
12541 : }
12542 0 : ndr->depth--;
12543 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
12544 0 : ndr->depth++;
12545 0 : ndr_print_string(ndr, "computername", r->in.computername);
12546 0 : ndr->depth--;
12547 0 : ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12548 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12549 0 : ndr->depth++;
12550 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12551 0 : ndr->depth--;
12552 0 : ndr_print_uint32(ndr, "reference", r->in.reference);
12553 0 : ndr_print_uint32(ndr, "level", r->in.level);
12554 0 : ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
12555 0 : ndr_print_ptr(ndr, "recordid", r->in.recordid);
12556 0 : ndr->depth++;
12557 0 : ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
12558 0 : ndr->depth--;
12559 0 : ndr->depth--;
12560 : }
12561 12 : if (flags & NDR_OUT) {
12562 12 : ndr_print_struct(ndr, "out", "netr_AccountSync");
12563 12 : ndr->depth++;
12564 12 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12565 12 : ndr->depth++;
12566 12 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12567 12 : ndr->depth--;
12568 12 : ndr_print_ptr(ndr, "buffer", r->out.buffer);
12569 12 : ndr->depth++;
12570 12 : ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
12571 12 : ndr->depth--;
12572 12 : ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
12573 12 : ndr->depth++;
12574 12 : ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
12575 12 : ndr->depth--;
12576 12 : ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
12577 12 : ndr->depth++;
12578 12 : ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
12579 12 : ndr->depth--;
12580 12 : ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
12581 12 : ndr->depth++;
12582 12 : ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
12583 12 : ndr->depth--;
12584 12 : ndr_print_ptr(ndr, "recordid", r->out.recordid);
12585 12 : ndr->depth++;
12586 12 : ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
12587 12 : ndr->depth--;
12588 12 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
12589 12 : ndr->depth--;
12590 : }
12591 12 : ndr->depth--;
12592 : }
12593 :
12594 54 : static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
12595 : {
12596 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12597 54 : if (flags & NDR_IN) {
12598 24 : if (r->in.logon_server == NULL) {
12599 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12600 : }
12601 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12602 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12603 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12604 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12605 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
12606 24 : if (r->in.domainname) {
12607 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
12608 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12609 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
12610 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12611 : }
12612 : }
12613 54 : if (flags & NDR_OUT) {
12614 30 : if (r->out.dcname == NULL) {
12615 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12616 : }
12617 30 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
12618 30 : if (*r->out.dcname) {
12619 30 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
12620 30 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12621 30 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
12622 30 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12623 : }
12624 30 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12625 : }
12626 45 : return NDR_ERR_SUCCESS;
12627 : }
12628 :
12629 48 : static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
12630 : {
12631 48 : uint32_t size_logon_server_1 = 0;
12632 48 : uint32_t length_logon_server_1 = 0;
12633 : uint32_t _ptr_domainname;
12634 48 : uint32_t size_domainname_1 = 0;
12635 48 : uint32_t length_domainname_1 = 0;
12636 : uint32_t _ptr_dcname;
12637 48 : uint32_t size_dcname_2 = 0;
12638 48 : uint32_t length_dcname_2 = 0;
12639 48 : TALLOC_CTX *_mem_save_domainname_0 = NULL;
12640 48 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
12641 48 : TALLOC_CTX *_mem_save_dcname_1 = NULL;
12642 48 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12643 48 : if (flags & NDR_IN) {
12644 24 : NDR_ZERO_STRUCT(r->out);
12645 :
12646 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12647 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12648 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
12649 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
12650 24 : if (length_logon_server_1 > size_logon_server_1) {
12651 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12652 : }
12653 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12654 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12655 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
12656 24 : if (_ptr_domainname) {
12657 24 : NDR_PULL_ALLOC(ndr, r->in.domainname);
12658 : } else {
12659 0 : r->in.domainname = NULL;
12660 : }
12661 24 : if (r->in.domainname) {
12662 24 : _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
12663 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
12664 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
12665 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
12666 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domainname, &size_domainname_1));
12667 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domainname, &length_domainname_1));
12668 24 : if (length_domainname_1 > size_domainname_1) {
12669 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
12670 : }
12671 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
12672 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
12673 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
12674 : }
12675 24 : NDR_PULL_ALLOC(ndr, r->out.dcname);
12676 24 : NDR_ZERO_STRUCTP(r->out.dcname);
12677 : }
12678 48 : if (flags & NDR_OUT) {
12679 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12680 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12681 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12682 6 : NDR_PULL_ALLOC(ndr, r->out.dcname);
12683 : }
12684 24 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
12685 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
12686 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
12687 24 : if (_ptr_dcname) {
12688 24 : NDR_PULL_ALLOC(ndr, *r->out.dcname);
12689 : } else {
12690 0 : *r->out.dcname = NULL;
12691 : }
12692 24 : if (*r->out.dcname) {
12693 24 : _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
12694 24 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
12695 24 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
12696 24 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
12697 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
12698 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
12699 24 : if (length_dcname_2 > size_dcname_2) {
12700 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
12701 : }
12702 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
12703 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
12704 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
12705 : }
12706 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
12707 24 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12708 : }
12709 40 : return NDR_ERR_SUCCESS;
12710 : }
12711 :
12712 12 : _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
12713 : {
12714 12 : ndr_print_struct(ndr, name, "netr_GetDcName");
12715 12 : if (r == NULL) { ndr_print_null(ndr); return; }
12716 12 : ndr->depth++;
12717 12 : if (flags & NDR_SET_VALUES) {
12718 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12719 : }
12720 12 : if (flags & NDR_IN) {
12721 0 : ndr_print_struct(ndr, "in", "netr_GetDcName");
12722 0 : ndr->depth++;
12723 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12724 0 : ndr->depth++;
12725 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
12726 0 : ndr->depth--;
12727 0 : ndr_print_ptr(ndr, "domainname", r->in.domainname);
12728 0 : ndr->depth++;
12729 0 : if (r->in.domainname) {
12730 0 : ndr_print_string(ndr, "domainname", r->in.domainname);
12731 : }
12732 0 : ndr->depth--;
12733 0 : ndr->depth--;
12734 : }
12735 12 : if (flags & NDR_OUT) {
12736 12 : ndr_print_struct(ndr, "out", "netr_GetDcName");
12737 12 : ndr->depth++;
12738 12 : ndr_print_ptr(ndr, "dcname", r->out.dcname);
12739 12 : ndr->depth++;
12740 12 : ndr_print_ptr(ndr, "dcname", *r->out.dcname);
12741 12 : ndr->depth++;
12742 12 : if (*r->out.dcname) {
12743 12 : ndr_print_string(ndr, "dcname", *r->out.dcname);
12744 : }
12745 12 : ndr->depth--;
12746 12 : ndr->depth--;
12747 12 : ndr_print_WERROR(ndr, "result", r->out.result);
12748 12 : ndr->depth--;
12749 : }
12750 12 : ndr->depth--;
12751 : }
12752 :
12753 12396 : static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
12754 : {
12755 12396 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12756 12396 : if (flags & NDR_IN) {
12757 5655 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12758 5655 : if (r->in.logon_server) {
12759 5655 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12760 5655 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12761 5655 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12762 5655 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12763 : }
12764 5655 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12765 5655 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12766 : }
12767 12396 : if (flags & NDR_OUT) {
12768 6741 : if (r->out.query == NULL) {
12769 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12770 : }
12771 6741 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12772 6741 : NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12773 6741 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12774 : }
12775 10251 : return NDR_ERR_SUCCESS;
12776 : }
12777 :
12778 11226 : static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
12779 : {
12780 : uint32_t _ptr_logon_server;
12781 11226 : uint32_t size_logon_server_1 = 0;
12782 11226 : uint32_t length_logon_server_1 = 0;
12783 11226 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
12784 11226 : TALLOC_CTX *_mem_save_query_0 = NULL;
12785 11226 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12786 11226 : if (flags & NDR_IN) {
12787 5571 : NDR_ZERO_STRUCT(r->out);
12788 :
12789 5571 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12790 5571 : if (_ptr_logon_server) {
12791 5571 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
12792 : } else {
12793 0 : r->in.logon_server = NULL;
12794 : }
12795 5571 : if (r->in.logon_server) {
12796 5571 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12797 5571 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12798 5571 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12799 5571 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12800 5571 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
12801 5571 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
12802 5571 : if (length_logon_server_1 > size_logon_server_1) {
12803 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12804 : }
12805 5571 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12806 5571 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12807 5571 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12808 : }
12809 5571 : NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12810 5571 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12811 5571 : NDR_PULL_ALLOC(ndr, r->out.query);
12812 5571 : NDR_ZERO_STRUCTP(r->out.query);
12813 : }
12814 11226 : if (flags & NDR_OUT) {
12815 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12816 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12817 5655 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12818 1170 : NDR_PULL_ALLOC(ndr, r->out.query);
12819 : }
12820 5655 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12821 5655 : NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12822 5655 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12823 5655 : NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12824 5655 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12825 5655 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12826 : }
12827 9276 : return NDR_ERR_SUCCESS;
12828 : }
12829 :
12830 2340 : _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
12831 : {
12832 2340 : ndr_print_struct(ndr, name, "netr_LogonControl");
12833 2340 : if (r == NULL) { ndr_print_null(ndr); return; }
12834 2340 : ndr->depth++;
12835 2340 : if (flags & NDR_SET_VALUES) {
12836 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12837 : }
12838 2340 : if (flags & NDR_IN) {
12839 0 : ndr_print_struct(ndr, "in", "netr_LogonControl");
12840 0 : ndr->depth++;
12841 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12842 0 : ndr->depth++;
12843 0 : if (r->in.logon_server) {
12844 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
12845 : }
12846 0 : ndr->depth--;
12847 0 : ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12848 0 : ndr_print_uint32(ndr, "level", r->in.level);
12849 0 : ndr->depth--;
12850 : }
12851 2340 : if (flags & NDR_OUT) {
12852 2340 : ndr_print_struct(ndr, "out", "netr_LogonControl");
12853 2340 : ndr->depth++;
12854 2340 : ndr_print_ptr(ndr, "query", r->out.query);
12855 2340 : ndr->depth++;
12856 2340 : ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12857 2340 : ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12858 2340 : ndr->depth--;
12859 2340 : ndr_print_WERROR(ndr, "result", r->out.result);
12860 2340 : ndr->depth--;
12861 : }
12862 2340 : ndr->depth--;
12863 : }
12864 :
12865 162 : static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
12866 : {
12867 162 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12868 162 : if (flags & NDR_IN) {
12869 72 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12870 72 : if (r->in.logon_server) {
12871 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12872 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12873 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12874 72 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12875 : }
12876 72 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
12877 72 : if (r->in.domainname) {
12878 48 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
12879 48 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12880 48 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
12881 48 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12882 : }
12883 : }
12884 162 : if (flags & NDR_OUT) {
12885 90 : if (r->out.dcname == NULL) {
12886 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12887 : }
12888 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
12889 90 : if (*r->out.dcname) {
12890 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
12891 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12892 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
12893 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12894 : }
12895 90 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12896 : }
12897 135 : return NDR_ERR_SUCCESS;
12898 : }
12899 :
12900 144 : static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
12901 : {
12902 : uint32_t _ptr_logon_server;
12903 144 : uint32_t size_logon_server_1 = 0;
12904 144 : uint32_t length_logon_server_1 = 0;
12905 : uint32_t _ptr_domainname;
12906 144 : uint32_t size_domainname_1 = 0;
12907 144 : uint32_t length_domainname_1 = 0;
12908 : uint32_t _ptr_dcname;
12909 144 : uint32_t size_dcname_2 = 0;
12910 144 : uint32_t length_dcname_2 = 0;
12911 144 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
12912 144 : TALLOC_CTX *_mem_save_domainname_0 = NULL;
12913 144 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
12914 144 : TALLOC_CTX *_mem_save_dcname_1 = NULL;
12915 144 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12916 144 : if (flags & NDR_IN) {
12917 72 : NDR_ZERO_STRUCT(r->out);
12918 :
12919 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12920 72 : if (_ptr_logon_server) {
12921 72 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
12922 : } else {
12923 0 : r->in.logon_server = NULL;
12924 : }
12925 72 : if (r->in.logon_server) {
12926 72 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12927 72 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12928 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12929 72 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12930 72 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
12931 72 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
12932 72 : if (length_logon_server_1 > size_logon_server_1) {
12933 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12934 : }
12935 72 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12936 72 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12937 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12938 : }
12939 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
12940 72 : if (_ptr_domainname) {
12941 48 : NDR_PULL_ALLOC(ndr, r->in.domainname);
12942 : } else {
12943 24 : r->in.domainname = NULL;
12944 : }
12945 72 : if (r->in.domainname) {
12946 48 : _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
12947 48 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
12948 48 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
12949 48 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
12950 48 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domainname, &size_domainname_1));
12951 48 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domainname, &length_domainname_1));
12952 48 : if (length_domainname_1 > size_domainname_1) {
12953 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
12954 : }
12955 48 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
12956 48 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
12957 48 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
12958 : }
12959 72 : NDR_PULL_ALLOC(ndr, r->out.dcname);
12960 72 : NDR_ZERO_STRUCTP(r->out.dcname);
12961 : }
12962 144 : if (flags & NDR_OUT) {
12963 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
12964 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
12965 72 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12966 18 : NDR_PULL_ALLOC(ndr, r->out.dcname);
12967 : }
12968 72 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
12969 72 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
12970 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
12971 72 : if (_ptr_dcname) {
12972 0 : NDR_PULL_ALLOC(ndr, *r->out.dcname);
12973 : } else {
12974 72 : *r->out.dcname = NULL;
12975 : }
12976 72 : if (*r->out.dcname) {
12977 0 : _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
12978 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
12979 0 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
12980 0 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
12981 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
12982 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
12983 0 : if (length_dcname_2 > size_dcname_2) {
12984 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
12985 : }
12986 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
12987 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
12988 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
12989 : }
12990 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
12991 72 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12992 : }
12993 120 : return NDR_ERR_SUCCESS;
12994 : }
12995 :
12996 36 : _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
12997 : {
12998 36 : ndr_print_struct(ndr, name, "netr_GetAnyDCName");
12999 36 : if (r == NULL) { ndr_print_null(ndr); return; }
13000 36 : ndr->depth++;
13001 36 : if (flags & NDR_SET_VALUES) {
13002 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13003 : }
13004 36 : if (flags & NDR_IN) {
13005 0 : ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
13006 0 : ndr->depth++;
13007 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
13008 0 : ndr->depth++;
13009 0 : if (r->in.logon_server) {
13010 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
13011 : }
13012 0 : ndr->depth--;
13013 0 : ndr_print_ptr(ndr, "domainname", r->in.domainname);
13014 0 : ndr->depth++;
13015 0 : if (r->in.domainname) {
13016 0 : ndr_print_string(ndr, "domainname", r->in.domainname);
13017 : }
13018 0 : ndr->depth--;
13019 0 : ndr->depth--;
13020 : }
13021 36 : if (flags & NDR_OUT) {
13022 36 : ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
13023 36 : ndr->depth++;
13024 36 : ndr_print_ptr(ndr, "dcname", r->out.dcname);
13025 36 : ndr->depth++;
13026 36 : ndr_print_ptr(ndr, "dcname", *r->out.dcname);
13027 36 : ndr->depth++;
13028 36 : if (*r->out.dcname) {
13029 0 : ndr_print_string(ndr, "dcname", *r->out.dcname);
13030 : }
13031 36 : ndr->depth--;
13032 36 : ndr->depth--;
13033 36 : ndr_print_WERROR(ndr, "result", r->out.result);
13034 36 : ndr->depth--;
13035 : }
13036 36 : ndr->depth--;
13037 : }
13038 :
13039 2660 : static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
13040 : {
13041 2660 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13042 2660 : if (flags & NDR_IN) {
13043 1218 : if (r->in.data == NULL) {
13044 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13045 : }
13046 1218 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
13047 1218 : if (r->in.logon_server) {
13048 1218 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13049 1218 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13050 1218 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13051 1218 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13052 : }
13053 1218 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
13054 1218 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13055 1218 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
13056 1218 : NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
13057 : }
13058 2660 : if (flags & NDR_OUT) {
13059 1442 : if (r->out.query == NULL) {
13060 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13061 : }
13062 1442 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
13063 1442 : NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
13064 1442 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13065 : }
13066 2198 : return NDR_ERR_SUCCESS;
13067 : }
13068 :
13069 2408 : static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
13070 : {
13071 : uint32_t _ptr_logon_server;
13072 2408 : uint32_t size_logon_server_1 = 0;
13073 2408 : uint32_t length_logon_server_1 = 0;
13074 2408 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
13075 2408 : TALLOC_CTX *_mem_save_data_0 = NULL;
13076 2408 : TALLOC_CTX *_mem_save_query_0 = NULL;
13077 2408 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13078 2408 : if (flags & NDR_IN) {
13079 1190 : NDR_ZERO_STRUCT(r->out);
13080 :
13081 1190 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
13082 1190 : if (_ptr_logon_server) {
13083 1190 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
13084 : } else {
13085 0 : r->in.logon_server = NULL;
13086 : }
13087 1190 : if (r->in.logon_server) {
13088 1190 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
13089 1190 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
13090 1190 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
13091 1190 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
13092 1190 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
13093 1190 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
13094 1190 : if (length_logon_server_1 > size_logon_server_1) {
13095 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
13096 : }
13097 1190 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
13098 1190 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
13099 1190 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
13100 : }
13101 1190 : NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
13102 1190 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13103 1190 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13104 1190 : NDR_PULL_ALLOC(ndr, r->in.data);
13105 : }
13106 1190 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
13107 1190 : NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
13108 1190 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
13109 1190 : NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
13110 1190 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
13111 1190 : NDR_PULL_ALLOC(ndr, r->out.query);
13112 1190 : NDR_ZERO_STRUCTP(r->out.query);
13113 : }
13114 2408 : if (flags & NDR_OUT) {
13115 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13116 : if (r->in.data == NULL) {
13117 : NDR_PULL_ALLOC(ndr, r->in.data);
13118 : NDR_ZERO_STRUCTP(r->in.data);
13119 : }
13120 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13121 1218 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13122 252 : NDR_PULL_ALLOC(ndr, r->out.query);
13123 : }
13124 1218 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13125 1218 : NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
13126 1218 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
13127 1218 : NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
13128 1218 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13129 1218 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13130 : }
13131 1988 : return NDR_ERR_SUCCESS;
13132 : }
13133 :
13134 504 : _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
13135 : {
13136 504 : ndr_print_struct(ndr, name, "netr_LogonControl2");
13137 504 : if (r == NULL) { ndr_print_null(ndr); return; }
13138 504 : ndr->depth++;
13139 504 : if (flags & NDR_SET_VALUES) {
13140 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13141 : }
13142 504 : if (flags & NDR_IN) {
13143 0 : ndr_print_struct(ndr, "in", "netr_LogonControl2");
13144 0 : ndr->depth++;
13145 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
13146 0 : ndr->depth++;
13147 0 : if (r->in.logon_server) {
13148 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
13149 : }
13150 0 : ndr->depth--;
13151 0 : ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
13152 0 : ndr_print_uint32(ndr, "level", r->in.level);
13153 0 : ndr_print_ptr(ndr, "data", r->in.data);
13154 0 : ndr->depth++;
13155 0 : ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
13156 0 : ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
13157 0 : ndr->depth--;
13158 0 : ndr->depth--;
13159 : }
13160 504 : if (flags & NDR_OUT) {
13161 504 : ndr_print_struct(ndr, "out", "netr_LogonControl2");
13162 504 : ndr->depth++;
13163 504 : ndr_print_ptr(ndr, "query", r->out.query);
13164 504 : ndr->depth++;
13165 504 : ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
13166 504 : ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
13167 504 : ndr->depth--;
13168 504 : ndr_print_WERROR(ndr, "result", r->out.result);
13169 504 : ndr->depth--;
13170 : }
13171 504 : ndr->depth--;
13172 : }
13173 :
13174 2263 : static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
13175 : {
13176 2263 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13177 2263 : if (flags & NDR_IN) {
13178 1043 : if (r->in.account_name == NULL) {
13179 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13180 : }
13181 1043 : if (r->in.computer_name == NULL) {
13182 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13183 : }
13184 1043 : if (r->in.credentials == NULL) {
13185 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13186 : }
13187 1043 : if (r->in.negotiate_flags == NULL) {
13188 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13189 : }
13190 1043 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13191 1043 : if (r->in.server_name) {
13192 481 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13193 481 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13194 481 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13195 481 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13196 : }
13197 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13198 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13199 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13200 1043 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13201 1043 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13202 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13203 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13204 1043 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13205 1043 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13206 1043 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13207 1043 : NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13208 : }
13209 2263 : if (flags & NDR_OUT) {
13210 1220 : if (r->out.return_credentials == NULL) {
13211 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13212 : }
13213 1220 : if (r->out.negotiate_flags == NULL) {
13214 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13215 : }
13216 1220 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13217 1220 : NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13218 1220 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13219 : }
13220 1909 : return NDR_ERR_SUCCESS;
13221 : }
13222 :
13223 2070 : static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
13224 : {
13225 : uint32_t _ptr_server_name;
13226 2070 : uint32_t size_server_name_1 = 0;
13227 2070 : uint32_t length_server_name_1 = 0;
13228 2070 : uint32_t size_account_name_1 = 0;
13229 2070 : uint32_t length_account_name_1 = 0;
13230 2070 : uint32_t size_computer_name_1 = 0;
13231 2070 : uint32_t length_computer_name_1 = 0;
13232 2070 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
13233 2070 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
13234 2070 : TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
13235 2070 : TALLOC_CTX *_mem_save_negotiate_flags_0 = NULL;
13236 2070 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13237 2070 : if (flags & NDR_IN) {
13238 1027 : NDR_ZERO_STRUCT(r->out);
13239 :
13240 1027 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13241 1027 : if (_ptr_server_name) {
13242 465 : NDR_PULL_ALLOC(ndr, r->in.server_name);
13243 : } else {
13244 562 : r->in.server_name = NULL;
13245 : }
13246 1027 : if (r->in.server_name) {
13247 465 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13248 465 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13249 465 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13250 465 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13251 465 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
13252 465 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
13253 465 : if (length_server_name_1 > size_server_name_1) {
13254 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
13255 : }
13256 465 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
13257 465 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
13258 465 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13259 : }
13260 1027 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13261 1027 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13262 1027 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
13263 1027 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
13264 1027 : if (length_account_name_1 > size_account_name_1) {
13265 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
13266 : }
13267 1027 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
13268 1027 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
13269 1027 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13270 1027 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13271 1027 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13272 1027 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
13273 1027 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
13274 1027 : if (length_computer_name_1 > size_computer_name_1) {
13275 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
13276 : }
13277 1027 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
13278 1027 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
13279 1027 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13280 1027 : NDR_PULL_ALLOC(ndr, r->in.credentials);
13281 : }
13282 1027 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13283 1027 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13284 1027 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13285 1027 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13286 1027 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13287 1027 : NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13288 : }
13289 1027 : _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13290 1027 : NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13291 1027 : NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13292 1027 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13293 1027 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13294 1027 : NDR_ZERO_STRUCTP(r->out.return_credentials);
13295 1027 : NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13296 1027 : *r->out.negotiate_flags = *r->in.negotiate_flags;
13297 : }
13298 2070 : if (flags & NDR_OUT) {
13299 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13300 : if (r->in.credentials == NULL) {
13301 : NDR_PULL_ALLOC(ndr, r->in.credentials);
13302 : NDR_ZERO_STRUCTP(r->in.credentials);
13303 : }
13304 : if (r->in.negotiate_flags == NULL) {
13305 : NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13306 : NDR_ZERO_STRUCTP(r->in.negotiate_flags);
13307 : }
13308 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13309 1043 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13310 193 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13311 : }
13312 1043 : _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13313 1043 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13314 1043 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13315 1043 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13316 1043 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13317 193 : NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13318 : }
13319 1043 : _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13320 1043 : NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13321 1043 : NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13322 1043 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13323 1043 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13324 : }
13325 1750 : return NDR_ERR_SUCCESS;
13326 : }
13327 :
13328 386 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
13329 : {
13330 386 : ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
13331 386 : if (r == NULL) { ndr_print_null(ndr); return; }
13332 386 : ndr->depth++;
13333 386 : if (flags & NDR_SET_VALUES) {
13334 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13335 : }
13336 386 : if (flags & NDR_IN) {
13337 0 : ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
13338 0 : ndr->depth++;
13339 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
13340 0 : ndr->depth++;
13341 0 : if (r->in.server_name) {
13342 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
13343 : }
13344 0 : ndr->depth--;
13345 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
13346 0 : ndr->depth++;
13347 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
13348 0 : ndr->depth--;
13349 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13350 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13351 0 : ndr->depth++;
13352 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
13353 0 : ndr->depth--;
13354 0 : ndr_print_ptr(ndr, "credentials", r->in.credentials);
13355 0 : ndr->depth++;
13356 0 : ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13357 0 : ndr->depth--;
13358 0 : ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13359 0 : ndr->depth++;
13360 0 : ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13361 0 : ndr->depth--;
13362 0 : ndr->depth--;
13363 : }
13364 386 : if (flags & NDR_OUT) {
13365 386 : ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
13366 386 : ndr->depth++;
13367 386 : ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13368 386 : ndr->depth++;
13369 386 : ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13370 386 : ndr->depth--;
13371 386 : ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13372 386 : ndr->depth++;
13373 386 : ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13374 386 : ndr->depth--;
13375 386 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13376 386 : ndr->depth--;
13377 : }
13378 386 : ndr->depth--;
13379 : }
13380 :
13381 27 : static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
13382 : {
13383 27 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13384 27 : if (flags & NDR_IN) {
13385 12 : if (r->in.logon_server == NULL) {
13386 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13387 : }
13388 12 : if (r->in.computername == NULL) {
13389 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13390 : }
13391 12 : if (r->in.credential == NULL) {
13392 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13393 : }
13394 12 : if (r->in.return_authenticator == NULL) {
13395 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13396 : }
13397 12 : if (r->in.sync_context == NULL) {
13398 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13399 : }
13400 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13401 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13402 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13403 12 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13404 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
13405 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13406 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
13407 12 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13408 12 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13409 12 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13410 12 : NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
13411 12 : NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
13412 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
13413 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
13414 : }
13415 27 : if (flags & NDR_OUT) {
13416 15 : if (r->out.return_authenticator == NULL) {
13417 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13418 : }
13419 15 : if (r->out.sync_context == NULL) {
13420 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13421 : }
13422 15 : if (r->out.delta_enum_array == NULL) {
13423 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13424 : }
13425 15 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13426 15 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
13427 15 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
13428 15 : if (*r->out.delta_enum_array) {
13429 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
13430 : }
13431 15 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13432 : }
13433 27 : return NDR_ERR_SUCCESS;
13434 : }
13435 :
13436 24 : static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
13437 : {
13438 24 : uint32_t size_logon_server_1 = 0;
13439 24 : uint32_t length_logon_server_1 = 0;
13440 24 : uint32_t size_computername_1 = 0;
13441 24 : uint32_t length_computername_1 = 0;
13442 : uint32_t _ptr_delta_enum_array;
13443 24 : TALLOC_CTX *_mem_save_credential_0 = NULL;
13444 24 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
13445 24 : TALLOC_CTX *_mem_save_sync_context_0 = NULL;
13446 24 : TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
13447 24 : TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
13448 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13449 24 : if (flags & NDR_IN) {
13450 12 : NDR_ZERO_STRUCT(r->out);
13451 :
13452 12 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
13453 12 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
13454 12 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
13455 12 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
13456 12 : if (length_logon_server_1 > size_logon_server_1) {
13457 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
13458 : }
13459 12 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
13460 12 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
13461 12 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
13462 12 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
13463 12 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
13464 12 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
13465 12 : if (length_computername_1 > size_computername_1) {
13466 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
13467 : }
13468 12 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
13469 12 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
13470 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13471 12 : NDR_PULL_ALLOC(ndr, r->in.credential);
13472 : }
13473 12 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13474 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13475 12 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13476 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13477 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13478 12 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13479 : }
13480 12 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13481 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13482 12 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13483 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13484 12 : NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
13485 12 : NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
13486 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13487 12 : NDR_PULL_ALLOC(ndr, r->in.sync_context);
13488 : }
13489 12 : _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
13490 12 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
13491 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
13492 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
13493 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
13494 12 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13495 12 : *r->out.return_authenticator = *r->in.return_authenticator;
13496 12 : NDR_PULL_ALLOC(ndr, r->out.sync_context);
13497 12 : *r->out.sync_context = *r->in.sync_context;
13498 12 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
13499 12 : NDR_ZERO_STRUCTP(r->out.delta_enum_array);
13500 : }
13501 24 : if (flags & NDR_OUT) {
13502 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13503 : if (r->in.credential == NULL) {
13504 : NDR_PULL_ALLOC(ndr, r->in.credential);
13505 : NDR_ZERO_STRUCTP(r->in.credential);
13506 : }
13507 : if (r->in.return_authenticator == NULL) {
13508 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13509 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
13510 : }
13511 : if (r->in.sync_context == NULL) {
13512 : NDR_PULL_ALLOC(ndr, r->in.sync_context);
13513 : NDR_ZERO_STRUCTP(r->in.sync_context);
13514 : }
13515 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13516 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13517 3 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13518 : }
13519 12 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13520 12 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13521 12 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13522 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13523 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13524 3 : NDR_PULL_ALLOC(ndr, r->out.sync_context);
13525 : }
13526 12 : _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
13527 12 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
13528 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
13529 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
13530 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13531 3 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
13532 : }
13533 12 : _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13534 12 : NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
13535 12 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
13536 12 : if (_ptr_delta_enum_array) {
13537 0 : NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
13538 : } else {
13539 12 : *r->out.delta_enum_array = NULL;
13540 : }
13541 12 : if (*r->out.delta_enum_array) {
13542 0 : _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
13543 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
13544 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
13545 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
13546 : }
13547 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
13548 12 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13549 : }
13550 24 : return NDR_ERR_SUCCESS;
13551 : }
13552 :
13553 6 : _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
13554 : {
13555 6 : ndr_print_struct(ndr, name, "netr_DatabaseSync2");
13556 6 : if (r == NULL) { ndr_print_null(ndr); return; }
13557 6 : ndr->depth++;
13558 6 : if (flags & NDR_SET_VALUES) {
13559 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13560 : }
13561 6 : if (flags & NDR_IN) {
13562 0 : ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
13563 0 : ndr->depth++;
13564 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
13565 0 : ndr->depth++;
13566 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
13567 0 : ndr->depth--;
13568 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
13569 0 : ndr->depth++;
13570 0 : ndr_print_string(ndr, "computername", r->in.computername);
13571 0 : ndr->depth--;
13572 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
13573 0 : ndr->depth++;
13574 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13575 0 : ndr->depth--;
13576 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13577 0 : ndr->depth++;
13578 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13579 0 : ndr->depth--;
13580 0 : ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
13581 0 : ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
13582 0 : ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
13583 0 : ndr->depth++;
13584 0 : ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
13585 0 : ndr->depth--;
13586 0 : ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
13587 0 : ndr->depth--;
13588 : }
13589 6 : if (flags & NDR_OUT) {
13590 6 : ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
13591 6 : ndr->depth++;
13592 6 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13593 6 : ndr->depth++;
13594 6 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13595 6 : ndr->depth--;
13596 6 : ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
13597 6 : ndr->depth++;
13598 6 : ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
13599 6 : ndr->depth--;
13600 6 : ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
13601 6 : ndr->depth++;
13602 6 : ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
13603 6 : ndr->depth++;
13604 6 : if (*r->out.delta_enum_array) {
13605 0 : ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
13606 : }
13607 6 : ndr->depth--;
13608 6 : ndr->depth--;
13609 6 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13610 6 : ndr->depth--;
13611 : }
13612 6 : ndr->depth--;
13613 : }
13614 :
13615 24 : static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
13616 : {
13617 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13618 24 : if (flags & NDR_IN) {
13619 24 : if (r->in.logon_server == NULL) {
13620 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13621 : }
13622 24 : if (r->in.computername == NULL) {
13623 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13624 : }
13625 24 : if (r->in.credential == NULL) {
13626 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13627 : }
13628 24 : if (r->in.return_authenticator == NULL) {
13629 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13630 : }
13631 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13632 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13633 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13634 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13635 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
13636 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13637 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
13638 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13639 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13640 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13641 : {
13642 : struct ndr_push *_ndr_change_log_entry;
13643 24 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
13644 24 : NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
13645 24 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
13646 : }
13647 24 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
13648 : }
13649 24 : if (flags & NDR_OUT) {
13650 0 : if (r->out.return_authenticator == NULL) {
13651 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13652 : }
13653 0 : if (r->out.delta_enum_array == NULL) {
13654 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13655 : }
13656 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13657 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
13658 0 : if (*r->out.delta_enum_array) {
13659 0 : NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
13660 : }
13661 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13662 : }
13663 20 : return NDR_ERR_SUCCESS;
13664 : }
13665 :
13666 24 : static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
13667 : {
13668 24 : uint32_t size_logon_server_1 = 0;
13669 24 : uint32_t length_logon_server_1 = 0;
13670 24 : uint32_t size_computername_1 = 0;
13671 24 : uint32_t length_computername_1 = 0;
13672 : uint32_t _ptr_delta_enum_array;
13673 24 : TALLOC_CTX *_mem_save_credential_0 = NULL;
13674 24 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
13675 24 : TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
13676 24 : TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
13677 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13678 24 : if (flags & NDR_IN) {
13679 24 : NDR_ZERO_STRUCT(r->out);
13680 :
13681 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
13682 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
13683 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
13684 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
13685 24 : if (length_logon_server_1 > size_logon_server_1) {
13686 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
13687 : }
13688 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
13689 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
13690 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
13691 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
13692 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
13693 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
13694 24 : if (length_computername_1 > size_computername_1) {
13695 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
13696 : }
13697 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
13698 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
13699 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13700 24 : NDR_PULL_ALLOC(ndr, r->in.credential);
13701 : }
13702 24 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13703 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13704 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13705 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13706 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13707 24 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13708 : }
13709 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13710 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13711 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13712 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13713 : {
13714 : struct ndr_pull *_ndr_change_log_entry;
13715 24 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
13716 24 : NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
13717 24 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
13718 : }
13719 24 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
13720 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13721 24 : *r->out.return_authenticator = *r->in.return_authenticator;
13722 24 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
13723 24 : NDR_ZERO_STRUCTP(r->out.delta_enum_array);
13724 : }
13725 24 : if (flags & NDR_OUT) {
13726 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13727 : if (r->in.credential == NULL) {
13728 : NDR_PULL_ALLOC(ndr, r->in.credential);
13729 : NDR_ZERO_STRUCTP(r->in.credential);
13730 : }
13731 : if (r->in.return_authenticator == NULL) {
13732 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13733 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
13734 : }
13735 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13736 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13737 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13738 : }
13739 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13740 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13741 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13742 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13743 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13744 0 : NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
13745 : }
13746 0 : _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13747 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
13748 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
13749 0 : if (_ptr_delta_enum_array) {
13750 0 : NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
13751 : } else {
13752 0 : *r->out.delta_enum_array = NULL;
13753 : }
13754 0 : if (*r->out.delta_enum_array) {
13755 0 : _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
13756 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
13757 0 : NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
13758 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
13759 : }
13760 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
13761 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13762 : }
13763 20 : return NDR_ERR_SUCCESS;
13764 : }
13765 :
13766 0 : _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
13767 : {
13768 0 : ndr_print_struct(ndr, name, "netr_DatabaseRedo");
13769 0 : if (r == NULL) { ndr_print_null(ndr); return; }
13770 0 : ndr->depth++;
13771 0 : if (flags & NDR_SET_VALUES) {
13772 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13773 : }
13774 0 : if (flags & NDR_IN) {
13775 0 : ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
13776 0 : ndr->depth++;
13777 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
13778 0 : ndr->depth++;
13779 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
13780 0 : ndr->depth--;
13781 0 : ndr_print_ptr(ndr, "computername", r->in.computername);
13782 0 : ndr->depth++;
13783 0 : ndr_print_string(ndr, "computername", r->in.computername);
13784 0 : ndr->depth--;
13785 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
13786 0 : ndr->depth++;
13787 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13788 0 : ndr->depth--;
13789 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13790 0 : ndr->depth++;
13791 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13792 0 : ndr->depth--;
13793 0 : ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
13794 0 : ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags):r->in.change_log_entry_size);
13795 0 : ndr->depth--;
13796 : }
13797 0 : if (flags & NDR_OUT) {
13798 0 : ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
13799 0 : ndr->depth++;
13800 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13801 0 : ndr->depth++;
13802 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13803 0 : ndr->depth--;
13804 0 : ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
13805 0 : ndr->depth++;
13806 0 : ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
13807 0 : ndr->depth++;
13808 0 : if (*r->out.delta_enum_array) {
13809 0 : ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
13810 : }
13811 0 : ndr->depth--;
13812 0 : ndr->depth--;
13813 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
13814 0 : ndr->depth--;
13815 : }
13816 0 : ndr->depth--;
13817 : }
13818 :
13819 2822 : static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
13820 : {
13821 2822 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13822 2822 : if (flags & NDR_IN) {
13823 1299 : if (r->in.data == NULL) {
13824 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13825 : }
13826 1299 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
13827 1299 : if (r->in.logon_server) {
13828 1299 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13829 1299 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13830 1299 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
13831 1299 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13832 : }
13833 1299 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
13834 1299 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13835 1299 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
13836 1299 : NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
13837 : }
13838 2822 : if (flags & NDR_OUT) {
13839 1523 : if (r->out.query == NULL) {
13840 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13841 : }
13842 1523 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
13843 1523 : NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
13844 1523 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13845 : }
13846 2360 : return NDR_ERR_SUCCESS;
13847 : }
13848 :
13849 2570 : static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
13850 : {
13851 : uint32_t _ptr_logon_server;
13852 2570 : uint32_t size_logon_server_1 = 0;
13853 2570 : uint32_t length_logon_server_1 = 0;
13854 2570 : TALLOC_CTX *_mem_save_logon_server_0 = NULL;
13855 2570 : TALLOC_CTX *_mem_save_data_0 = NULL;
13856 2570 : TALLOC_CTX *_mem_save_query_0 = NULL;
13857 2570 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13858 2570 : if (flags & NDR_IN) {
13859 1271 : NDR_ZERO_STRUCT(r->out);
13860 :
13861 1271 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
13862 1271 : if (_ptr_logon_server) {
13863 1271 : NDR_PULL_ALLOC(ndr, r->in.logon_server);
13864 : } else {
13865 0 : r->in.logon_server = NULL;
13866 : }
13867 1271 : if (r->in.logon_server) {
13868 1271 : _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
13869 1271 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
13870 1271 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
13871 1271 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
13872 1271 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
13873 1271 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
13874 1271 : if (length_logon_server_1 > size_logon_server_1) {
13875 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
13876 : }
13877 1271 : NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
13878 1271 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
13879 1271 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
13880 : }
13881 1271 : NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
13882 1271 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13883 1271 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13884 1271 : NDR_PULL_ALLOC(ndr, r->in.data);
13885 : }
13886 1271 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
13887 1271 : NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
13888 1271 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
13889 1271 : NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
13890 1271 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
13891 1271 : NDR_PULL_ALLOC(ndr, r->out.query);
13892 1271 : NDR_ZERO_STRUCTP(r->out.query);
13893 : }
13894 2570 : if (flags & NDR_OUT) {
13895 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
13896 : if (r->in.data == NULL) {
13897 : NDR_PULL_ALLOC(ndr, r->in.data);
13898 : NDR_ZERO_STRUCTP(r->in.data);
13899 : }
13900 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
13901 1299 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13902 333 : NDR_PULL_ALLOC(ndr, r->out.query);
13903 : }
13904 1299 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13905 1299 : NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
13906 1299 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
13907 1299 : NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
13908 1299 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13909 1299 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13910 : }
13911 2150 : return NDR_ERR_SUCCESS;
13912 : }
13913 :
13914 504 : _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
13915 : {
13916 504 : ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
13917 504 : if (r == NULL) { ndr_print_null(ndr); return; }
13918 504 : ndr->depth++;
13919 504 : if (flags & NDR_SET_VALUES) {
13920 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13921 : }
13922 504 : if (flags & NDR_IN) {
13923 0 : ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
13924 0 : ndr->depth++;
13925 0 : ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
13926 0 : ndr->depth++;
13927 0 : if (r->in.logon_server) {
13928 0 : ndr_print_string(ndr, "logon_server", r->in.logon_server);
13929 : }
13930 0 : ndr->depth--;
13931 0 : ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
13932 0 : ndr_print_uint32(ndr, "level", r->in.level);
13933 0 : ndr_print_ptr(ndr, "data", r->in.data);
13934 0 : ndr->depth++;
13935 0 : ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
13936 0 : ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
13937 0 : ndr->depth--;
13938 0 : ndr->depth--;
13939 : }
13940 504 : if (flags & NDR_OUT) {
13941 504 : ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
13942 504 : ndr->depth++;
13943 504 : ndr_print_ptr(ndr, "query", r->out.query);
13944 504 : ndr->depth++;
13945 504 : ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
13946 504 : ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
13947 504 : ndr->depth--;
13948 504 : ndr_print_WERROR(ndr, "result", r->out.result);
13949 504 : ndr->depth--;
13950 : }
13951 504 : ndr->depth--;
13952 : }
13953 :
13954 28 : static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
13955 : {
13956 28 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
13957 28 : if (flags & NDR_IN) {
13958 28 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13959 28 : if (r->in.server_name) {
13960 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13961 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13962 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13963 28 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13964 : }
13965 : }
13966 28 : if (flags & NDR_OUT) {
13967 0 : if (r->out.trusted_domains_blob == NULL) {
13968 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13969 : }
13970 0 : NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
13971 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13972 : }
13973 24 : return NDR_ERR_SUCCESS;
13974 : }
13975 :
13976 28 : static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
13977 : {
13978 : uint32_t _ptr_server_name;
13979 28 : uint32_t size_server_name_1 = 0;
13980 28 : uint32_t length_server_name_1 = 0;
13981 28 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
13982 28 : TALLOC_CTX *_mem_save_trusted_domains_blob_0 = NULL;
13983 28 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
13984 28 : if (flags & NDR_IN) {
13985 28 : NDR_ZERO_STRUCT(r->out);
13986 :
13987 28 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13988 28 : if (_ptr_server_name) {
13989 28 : NDR_PULL_ALLOC(ndr, r->in.server_name);
13990 : } else {
13991 0 : r->in.server_name = NULL;
13992 : }
13993 28 : if (r->in.server_name) {
13994 28 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13995 28 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13996 28 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13997 28 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13998 28 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
13999 28 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
14000 28 : if (length_server_name_1 > size_server_name_1) {
14001 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14002 : }
14003 28 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14004 28 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14005 28 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14006 : }
14007 28 : NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
14008 28 : NDR_ZERO_STRUCTP(r->out.trusted_domains_blob);
14009 : }
14010 28 : if (flags & NDR_OUT) {
14011 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14012 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14013 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14014 0 : NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
14015 : }
14016 0 : _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
14017 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
14018 0 : NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
14019 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
14020 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14021 : }
14022 24 : return NDR_ERR_SUCCESS;
14023 : }
14024 :
14025 0 : _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
14026 : {
14027 0 : ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
14028 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14029 0 : ndr->depth++;
14030 0 : if (flags & NDR_SET_VALUES) {
14031 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14032 : }
14033 0 : if (flags & NDR_IN) {
14034 0 : ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
14035 0 : ndr->depth++;
14036 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
14037 0 : ndr->depth++;
14038 0 : if (r->in.server_name) {
14039 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
14040 : }
14041 0 : ndr->depth--;
14042 0 : ndr->depth--;
14043 : }
14044 0 : if (flags & NDR_OUT) {
14045 0 : ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
14046 0 : ndr->depth++;
14047 0 : ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
14048 0 : ndr->depth++;
14049 0 : ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
14050 0 : ndr->depth--;
14051 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
14052 0 : ndr->depth--;
14053 : }
14054 0 : ndr->depth--;
14055 : }
14056 :
14057 128 : static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
14058 : {
14059 128 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14060 128 : if (flags & NDR_IN) {
14061 50 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14062 50 : if (r->in.server_unc) {
14063 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14064 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14065 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14066 50 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14067 : }
14068 50 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14069 50 : if (r->in.domain_name) {
14070 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14071 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14072 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14073 50 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14074 : }
14075 50 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14076 50 : if (r->in.domain_guid) {
14077 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14078 : }
14079 50 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
14080 50 : if (r->in.site_guid) {
14081 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
14082 : }
14083 58 : NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14084 : }
14085 128 : if (flags & NDR_OUT) {
14086 78 : if (r->out.info == NULL) {
14087 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14088 : }
14089 78 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14090 78 : if (*r->out.info) {
14091 78 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14092 : }
14093 78 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14094 : }
14095 110 : return NDR_ERR_SUCCESS;
14096 : }
14097 :
14098 116 : static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
14099 : {
14100 : uint32_t _ptr_server_unc;
14101 116 : uint32_t size_server_unc_1 = 0;
14102 116 : uint32_t length_server_unc_1 = 0;
14103 : uint32_t _ptr_domain_name;
14104 116 : uint32_t size_domain_name_1 = 0;
14105 116 : uint32_t length_domain_name_1 = 0;
14106 : uint32_t _ptr_domain_guid;
14107 : uint32_t _ptr_site_guid;
14108 : uint32_t _ptr_info;
14109 116 : TALLOC_CTX *_mem_save_server_unc_0 = NULL;
14110 116 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
14111 116 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
14112 116 : TALLOC_CTX *_mem_save_site_guid_0 = NULL;
14113 116 : TALLOC_CTX *_mem_save_info_0 = NULL;
14114 116 : TALLOC_CTX *_mem_save_info_1 = NULL;
14115 116 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14116 116 : if (flags & NDR_IN) {
14117 66 : NDR_ZERO_STRUCT(r->out);
14118 :
14119 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14120 66 : if (_ptr_server_unc) {
14121 66 : NDR_PULL_ALLOC(ndr, r->in.server_unc);
14122 : } else {
14123 0 : r->in.server_unc = NULL;
14124 : }
14125 66 : if (r->in.server_unc) {
14126 66 : _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14127 66 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14128 66 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14129 66 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14130 66 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
14131 66 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
14132 66 : if (length_server_unc_1 > size_server_unc_1) {
14133 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
14134 : }
14135 66 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
14136 66 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
14137 66 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14138 : }
14139 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14140 66 : if (_ptr_domain_name) {
14141 66 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
14142 : } else {
14143 0 : r->in.domain_name = NULL;
14144 : }
14145 66 : if (r->in.domain_name) {
14146 66 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14147 66 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14148 66 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14149 66 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14150 66 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
14151 66 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
14152 66 : if (length_domain_name_1 > size_domain_name_1) {
14153 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
14154 : }
14155 66 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
14156 66 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
14157 66 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14158 : }
14159 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14160 66 : if (_ptr_domain_guid) {
14161 0 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14162 : } else {
14163 66 : r->in.domain_guid = NULL;
14164 : }
14165 66 : if (r->in.domain_guid) {
14166 0 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14167 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14168 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14169 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14170 : }
14171 66 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
14172 66 : if (_ptr_site_guid) {
14173 0 : NDR_PULL_ALLOC(ndr, r->in.site_guid);
14174 : } else {
14175 66 : r->in.site_guid = NULL;
14176 : }
14177 66 : if (r->in.site_guid) {
14178 0 : _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14179 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
14180 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
14181 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
14182 : }
14183 74 : NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14184 66 : NDR_PULL_ALLOC(ndr, r->out.info);
14185 66 : NDR_ZERO_STRUCTP(r->out.info);
14186 : }
14187 116 : if (flags & NDR_OUT) {
14188 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14189 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14190 50 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14191 14 : NDR_PULL_ALLOC(ndr, r->out.info);
14192 : }
14193 50 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14194 50 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14195 50 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14196 50 : if (_ptr_info) {
14197 50 : NDR_PULL_ALLOC(ndr, *r->out.info);
14198 : } else {
14199 0 : *r->out.info = NULL;
14200 : }
14201 50 : if (*r->out.info) {
14202 50 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14203 50 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14204 50 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14205 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14206 : }
14207 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14208 50 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14209 : }
14210 100 : return NDR_ERR_SUCCESS;
14211 : }
14212 :
14213 24 : _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
14214 : {
14215 24 : ndr_print_struct(ndr, name, "netr_DsRGetDCName");
14216 24 : if (r == NULL) { ndr_print_null(ndr); return; }
14217 24 : ndr->depth++;
14218 24 : if (flags & NDR_SET_VALUES) {
14219 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14220 : }
14221 24 : if (flags & NDR_IN) {
14222 0 : ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
14223 0 : ndr->depth++;
14224 0 : ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14225 0 : ndr->depth++;
14226 0 : if (r->in.server_unc) {
14227 0 : ndr_print_string(ndr, "server_unc", r->in.server_unc);
14228 : }
14229 0 : ndr->depth--;
14230 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14231 0 : ndr->depth++;
14232 0 : if (r->in.domain_name) {
14233 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
14234 : }
14235 0 : ndr->depth--;
14236 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14237 0 : ndr->depth++;
14238 0 : if (r->in.domain_guid) {
14239 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14240 : }
14241 0 : ndr->depth--;
14242 0 : ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
14243 0 : ndr->depth++;
14244 0 : if (r->in.site_guid) {
14245 0 : ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
14246 : }
14247 0 : ndr->depth--;
14248 0 : ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14249 0 : ndr->depth--;
14250 : }
14251 24 : if (flags & NDR_OUT) {
14252 24 : ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
14253 24 : ndr->depth++;
14254 24 : ndr_print_ptr(ndr, "info", r->out.info);
14255 24 : ndr->depth++;
14256 24 : ndr_print_ptr(ndr, "info", *r->out.info);
14257 24 : ndr->depth++;
14258 24 : if (*r->out.info) {
14259 24 : ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14260 : }
14261 24 : ndr->depth--;
14262 24 : ndr->depth--;
14263 24 : ndr_print_WERROR(ndr, "result", r->out.result);
14264 24 : ndr->depth--;
14265 : }
14266 24 : ndr->depth--;
14267 : }
14268 :
14269 1984 : static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
14270 : {
14271 1984 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14272 1984 : if (flags & NDR_IN) {
14273 896 : if (r->in.server_name == NULL) {
14274 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14275 : }
14276 896 : if (r->in.credential == NULL) {
14277 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14278 : }
14279 896 : if (r->in.return_authenticator == NULL) {
14280 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14281 : }
14282 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14283 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14284 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14285 896 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14286 896 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14287 896 : if (r->in.computer_name) {
14288 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14289 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14290 896 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14291 896 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14292 : }
14293 896 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14294 896 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14295 896 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
14296 : }
14297 1984 : if (flags & NDR_OUT) {
14298 1088 : if (r->out.return_authenticator == NULL) {
14299 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14300 : }
14301 1088 : if (r->out.capabilities == NULL) {
14302 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14303 : }
14304 1088 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14305 1088 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
14306 1088 : NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
14307 1088 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14308 : }
14309 1698 : return NDR_ERR_SUCCESS;
14310 : }
14311 :
14312 1828 : static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
14313 : {
14314 1828 : uint32_t size_server_name_1 = 0;
14315 1828 : uint32_t length_server_name_1 = 0;
14316 : uint32_t _ptr_computer_name;
14317 1828 : uint32_t size_computer_name_1 = 0;
14318 1828 : uint32_t length_computer_name_1 = 0;
14319 1828 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
14320 1828 : TALLOC_CTX *_mem_save_credential_0 = NULL;
14321 1828 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
14322 1828 : TALLOC_CTX *_mem_save_capabilities_0 = NULL;
14323 1828 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14324 1828 : if (flags & NDR_IN) {
14325 932 : NDR_ZERO_STRUCT(r->out);
14326 :
14327 932 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14328 932 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14329 932 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
14330 932 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
14331 932 : if (length_server_name_1 > size_server_name_1) {
14332 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14333 : }
14334 932 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14335 932 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14336 932 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14337 932 : if (_ptr_computer_name) {
14338 932 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
14339 : } else {
14340 0 : r->in.computer_name = NULL;
14341 : }
14342 932 : if (r->in.computer_name) {
14343 932 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14344 932 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14345 932 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14346 932 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14347 932 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
14348 932 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
14349 932 : if (length_computer_name_1 > size_computer_name_1) {
14350 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
14351 : }
14352 932 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
14353 932 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
14354 932 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14355 : }
14356 932 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14357 932 : NDR_PULL_ALLOC(ndr, r->in.credential);
14358 : }
14359 932 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14360 932 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14361 932 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14362 932 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14363 932 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14364 932 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14365 : }
14366 932 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14367 932 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14368 932 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14369 932 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14370 932 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
14371 932 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14372 932 : *r->out.return_authenticator = *r->in.return_authenticator;
14373 932 : NDR_PULL_ALLOC(ndr, r->out.capabilities);
14374 932 : NDR_ZERO_STRUCTP(r->out.capabilities);
14375 : }
14376 1828 : if (flags & NDR_OUT) {
14377 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14378 : if (r->in.credential == NULL) {
14379 : NDR_PULL_ALLOC(ndr, r->in.credential);
14380 : NDR_ZERO_STRUCTP(r->in.credential);
14381 : }
14382 : if (r->in.return_authenticator == NULL) {
14383 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14384 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
14385 : }
14386 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14387 896 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14388 249 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14389 : }
14390 896 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14391 896 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14392 896 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14393 896 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14394 896 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14395 249 : NDR_PULL_ALLOC(ndr, r->out.capabilities);
14396 : }
14397 896 : _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
14398 896 : NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
14399 896 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
14400 896 : NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
14401 896 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
14402 896 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14403 : }
14404 1568 : return NDR_ERR_SUCCESS;
14405 : }
14406 :
14407 312 : _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
14408 : {
14409 312 : ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
14410 312 : if (r == NULL) { ndr_print_null(ndr); return; }
14411 312 : ndr->depth++;
14412 312 : if (flags & NDR_SET_VALUES) {
14413 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14414 : }
14415 312 : if (flags & NDR_IN) {
14416 0 : ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
14417 0 : ndr->depth++;
14418 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
14419 0 : ndr->depth++;
14420 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
14421 0 : ndr->depth--;
14422 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14423 0 : ndr->depth++;
14424 0 : if (r->in.computer_name) {
14425 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
14426 : }
14427 0 : ndr->depth--;
14428 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
14429 0 : ndr->depth++;
14430 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14431 0 : ndr->depth--;
14432 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14433 0 : ndr->depth++;
14434 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14435 0 : ndr->depth--;
14436 0 : ndr_print_uint32(ndr, "query_level", r->in.query_level);
14437 0 : ndr->depth--;
14438 : }
14439 312 : if (flags & NDR_OUT) {
14440 312 : ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
14441 312 : ndr->depth++;
14442 312 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14443 312 : ndr->depth++;
14444 312 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14445 312 : ndr->depth--;
14446 312 : ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
14447 312 : ndr->depth++;
14448 312 : ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
14449 312 : ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
14450 312 : ndr->depth--;
14451 312 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
14452 312 : ndr->depth--;
14453 : }
14454 312 : ndr->depth--;
14455 : }
14456 :
14457 0 : static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
14458 : {
14459 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14460 0 : if (flags & NDR_IN) {
14461 : }
14462 0 : if (flags & NDR_OUT) {
14463 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14464 : }
14465 0 : return NDR_ERR_SUCCESS;
14466 : }
14467 :
14468 0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
14469 : {
14470 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14471 0 : if (flags & NDR_IN) {
14472 : }
14473 0 : if (flags & NDR_OUT) {
14474 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14475 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14476 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14477 : }
14478 0 : return NDR_ERR_SUCCESS;
14479 : }
14480 :
14481 0 : _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
14482 : {
14483 0 : ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
14484 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14485 0 : ndr->depth++;
14486 0 : if (flags & NDR_SET_VALUES) {
14487 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14488 : }
14489 0 : if (flags & NDR_IN) {
14490 0 : ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
14491 0 : ndr->depth++;
14492 0 : ndr->depth--;
14493 : }
14494 0 : if (flags & NDR_OUT) {
14495 0 : ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
14496 0 : ndr->depth++;
14497 0 : ndr_print_WERROR(ndr, "result", r->out.result);
14498 0 : ndr->depth--;
14499 : }
14500 0 : ndr->depth--;
14501 : }
14502 :
14503 0 : static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
14504 : {
14505 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14506 0 : if (flags & NDR_IN) {
14507 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14508 0 : if (r->in.server_name) {
14509 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14510 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14511 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14512 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14513 : }
14514 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14515 0 : if (r->in.domain_name) {
14516 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14517 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14518 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14519 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14520 : }
14521 : }
14522 0 : if (flags & NDR_OUT) {
14523 0 : if (r->out.rid == NULL) {
14524 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14525 : }
14526 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
14527 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14528 : }
14529 0 : return NDR_ERR_SUCCESS;
14530 : }
14531 :
14532 0 : static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
14533 : {
14534 : uint32_t _ptr_server_name;
14535 0 : uint32_t size_server_name_1 = 0;
14536 0 : uint32_t length_server_name_1 = 0;
14537 : uint32_t _ptr_domain_name;
14538 0 : uint32_t size_domain_name_1 = 0;
14539 0 : uint32_t length_domain_name_1 = 0;
14540 0 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
14541 0 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
14542 0 : TALLOC_CTX *_mem_save_rid_0 = NULL;
14543 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14544 0 : if (flags & NDR_IN) {
14545 0 : NDR_ZERO_STRUCT(r->out);
14546 :
14547 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14548 0 : if (_ptr_server_name) {
14549 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
14550 : } else {
14551 0 : r->in.server_name = NULL;
14552 : }
14553 0 : if (r->in.server_name) {
14554 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14555 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14556 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14557 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14558 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
14559 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
14560 0 : if (length_server_name_1 > size_server_name_1) {
14561 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14562 : }
14563 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14564 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14565 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14566 : }
14567 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14568 0 : if (_ptr_domain_name) {
14569 0 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
14570 : } else {
14571 0 : r->in.domain_name = NULL;
14572 : }
14573 0 : if (r->in.domain_name) {
14574 0 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14575 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14576 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14577 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14578 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
14579 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
14580 0 : if (length_domain_name_1 > size_domain_name_1) {
14581 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
14582 : }
14583 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
14584 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
14585 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14586 : }
14587 0 : NDR_PULL_ALLOC(ndr, r->out.rid);
14588 0 : NDR_ZERO_STRUCTP(r->out.rid);
14589 : }
14590 0 : if (flags & NDR_OUT) {
14591 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14592 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14593 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14594 0 : NDR_PULL_ALLOC(ndr, r->out.rid);
14595 : }
14596 0 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14597 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
14598 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
14599 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
14600 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14601 : }
14602 0 : return NDR_ERR_SUCCESS;
14603 : }
14604 :
14605 0 : _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
14606 : {
14607 0 : ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
14608 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14609 0 : ndr->depth++;
14610 0 : if (flags & NDR_SET_VALUES) {
14611 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14612 : }
14613 0 : if (flags & NDR_IN) {
14614 0 : ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
14615 0 : ndr->depth++;
14616 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
14617 0 : ndr->depth++;
14618 0 : if (r->in.server_name) {
14619 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
14620 : }
14621 0 : ndr->depth--;
14622 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14623 0 : ndr->depth++;
14624 0 : if (r->in.domain_name) {
14625 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
14626 : }
14627 0 : ndr->depth--;
14628 0 : ndr->depth--;
14629 : }
14630 0 : if (flags & NDR_OUT) {
14631 0 : ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
14632 0 : ndr->depth++;
14633 0 : ndr_print_ptr(ndr, "rid", r->out.rid);
14634 0 : ndr->depth++;
14635 0 : ndr_print_uint32(ndr, "rid", *r->out.rid);
14636 0 : ndr->depth--;
14637 0 : ndr_print_WERROR(ndr, "result", r->out.result);
14638 0 : ndr->depth--;
14639 : }
14640 0 : ndr->depth--;
14641 : }
14642 :
14643 0 : static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
14644 : {
14645 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14646 0 : if (flags & NDR_IN) {
14647 : }
14648 0 : if (flags & NDR_OUT) {
14649 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14650 : }
14651 0 : return NDR_ERR_SUCCESS;
14652 : }
14653 :
14654 0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
14655 : {
14656 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14657 0 : if (flags & NDR_IN) {
14658 : }
14659 0 : if (flags & NDR_OUT) {
14660 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14661 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14662 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14663 : }
14664 0 : return NDR_ERR_SUCCESS;
14665 : }
14666 :
14667 0 : _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
14668 : {
14669 0 : ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
14670 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14671 0 : ndr->depth++;
14672 0 : if (flags & NDR_SET_VALUES) {
14673 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14674 : }
14675 0 : if (flags & NDR_IN) {
14676 0 : ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
14677 0 : ndr->depth++;
14678 0 : ndr->depth--;
14679 : }
14680 0 : if (flags & NDR_OUT) {
14681 0 : ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
14682 0 : ndr->depth++;
14683 0 : ndr_print_WERROR(ndr, "result", r->out.result);
14684 0 : ndr->depth--;
14685 : }
14686 0 : ndr->depth--;
14687 : }
14688 :
14689 0 : static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
14690 : {
14691 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14692 0 : if (flags & NDR_IN) {
14693 : }
14694 0 : if (flags & NDR_OUT) {
14695 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14696 : }
14697 0 : return NDR_ERR_SUCCESS;
14698 : }
14699 :
14700 0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
14701 : {
14702 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14703 0 : if (flags & NDR_IN) {
14704 : }
14705 0 : if (flags & NDR_OUT) {
14706 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14707 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14708 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14709 : }
14710 0 : return NDR_ERR_SUCCESS;
14711 : }
14712 :
14713 0 : _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
14714 : {
14715 0 : ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
14716 0 : if (r == NULL) { ndr_print_null(ndr); return; }
14717 0 : ndr->depth++;
14718 0 : if (flags & NDR_SET_VALUES) {
14719 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14720 : }
14721 0 : if (flags & NDR_IN) {
14722 0 : ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
14723 0 : ndr->depth++;
14724 0 : ndr->depth--;
14725 : }
14726 0 : if (flags & NDR_OUT) {
14727 0 : ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
14728 0 : ndr->depth++;
14729 0 : ndr_print_WERROR(ndr, "result", r->out.result);
14730 0 : ndr->depth--;
14731 : }
14732 0 : ndr->depth--;
14733 : }
14734 :
14735 1949 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
14736 : {
14737 1949 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14738 1949 : if (flags & NDR_IN) {
14739 849 : if (r->in.account_name == NULL) {
14740 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14741 : }
14742 849 : if (r->in.computer_name == NULL) {
14743 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14744 : }
14745 849 : if (r->in.credentials == NULL) {
14746 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14747 : }
14748 849 : if (r->in.negotiate_flags == NULL) {
14749 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14750 : }
14751 849 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14752 849 : if (r->in.server_name) {
14753 424 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14754 424 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14755 424 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14756 424 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14757 : }
14758 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14759 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14760 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14761 849 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14762 849 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14763 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14764 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14765 849 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14766 849 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14767 849 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
14768 849 : NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
14769 : }
14770 1949 : if (flags & NDR_OUT) {
14771 1100 : if (r->out.return_credentials == NULL) {
14772 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14773 : }
14774 1100 : if (r->out.negotiate_flags == NULL) {
14775 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14776 : }
14777 1100 : if (r->out.rid == NULL) {
14778 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14779 : }
14780 1100 : NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
14781 1100 : NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
14782 1100 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
14783 1100 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14784 : }
14785 1787 : return NDR_ERR_SUCCESS;
14786 : }
14787 :
14788 1769 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
14789 : {
14790 : uint32_t _ptr_server_name;
14791 1769 : uint32_t size_server_name_1 = 0;
14792 1769 : uint32_t length_server_name_1 = 0;
14793 1769 : uint32_t size_account_name_1 = 0;
14794 1769 : uint32_t length_account_name_1 = 0;
14795 1769 : uint32_t size_computer_name_1 = 0;
14796 1769 : uint32_t length_computer_name_1 = 0;
14797 1769 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
14798 1769 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
14799 1769 : TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
14800 1769 : TALLOC_CTX *_mem_save_negotiate_flags_0 = NULL;
14801 1769 : TALLOC_CTX *_mem_save_rid_0 = NULL;
14802 1769 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14803 1769 : if (flags & NDR_IN) {
14804 918 : NDR_ZERO_STRUCT(r->out);
14805 :
14806 918 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14807 918 : if (_ptr_server_name) {
14808 493 : NDR_PULL_ALLOC(ndr, r->in.server_name);
14809 : } else {
14810 425 : r->in.server_name = NULL;
14811 : }
14812 918 : if (r->in.server_name) {
14813 493 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14814 493 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14815 493 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14816 493 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14817 493 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
14818 493 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
14819 493 : if (length_server_name_1 > size_server_name_1) {
14820 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14821 : }
14822 493 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14823 493 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14824 493 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14825 : }
14826 918 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14827 918 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14828 918 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
14829 918 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
14830 918 : if (length_account_name_1 > size_account_name_1) {
14831 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
14832 : }
14833 918 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
14834 918 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
14835 918 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14836 918 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14837 918 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14838 918 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
14839 918 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
14840 918 : if (length_computer_name_1 > size_computer_name_1) {
14841 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
14842 : }
14843 918 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
14844 918 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
14845 918 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14846 918 : NDR_PULL_ALLOC(ndr, r->in.credentials);
14847 : }
14848 918 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
14849 918 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
14850 918 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
14851 918 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
14852 918 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14853 918 : NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
14854 : }
14855 918 : _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14856 918 : NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
14857 918 : NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
14858 918 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
14859 918 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
14860 918 : NDR_ZERO_STRUCTP(r->out.return_credentials);
14861 918 : NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
14862 918 : *r->out.negotiate_flags = *r->in.negotiate_flags;
14863 918 : NDR_PULL_ALLOC(ndr, r->out.rid);
14864 918 : NDR_ZERO_STRUCTP(r->out.rid);
14865 : }
14866 1769 : if (flags & NDR_OUT) {
14867 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
14868 : if (r->in.credentials == NULL) {
14869 : NDR_PULL_ALLOC(ndr, r->in.credentials);
14870 : NDR_ZERO_STRUCTP(r->in.credentials);
14871 : }
14872 : if (r->in.negotiate_flags == NULL) {
14873 : NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
14874 : NDR_ZERO_STRUCTP(r->in.negotiate_flags);
14875 : }
14876 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
14877 851 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14878 298 : NDR_PULL_ALLOC(ndr, r->out.return_credentials);
14879 : }
14880 851 : _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
14881 851 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
14882 851 : NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
14883 851 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
14884 851 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14885 298 : NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
14886 : }
14887 851 : _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14888 851 : NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
14889 851 : NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
14890 851 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
14891 851 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14892 298 : NDR_PULL_ALLOC(ndr, r->out.rid);
14893 : }
14894 851 : _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14895 851 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
14896 851 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
14897 851 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
14898 851 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14899 : }
14900 1621 : return NDR_ERR_SUCCESS;
14901 : }
14902 :
14903 372 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
14904 : {
14905 372 : ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
14906 372 : if (r == NULL) { ndr_print_null(ndr); return; }
14907 372 : ndr->depth++;
14908 372 : if (flags & NDR_SET_VALUES) {
14909 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14910 : }
14911 372 : if (flags & NDR_IN) {
14912 2 : ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
14913 2 : ndr->depth++;
14914 2 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
14915 2 : ndr->depth++;
14916 2 : if (r->in.server_name) {
14917 2 : ndr_print_string(ndr, "server_name", r->in.server_name);
14918 : }
14919 2 : ndr->depth--;
14920 2 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
14921 2 : ndr->depth++;
14922 2 : ndr_print_string(ndr, "account_name", r->in.account_name);
14923 2 : ndr->depth--;
14924 2 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14925 2 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14926 2 : ndr->depth++;
14927 2 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
14928 2 : ndr->depth--;
14929 2 : ndr_print_ptr(ndr, "credentials", r->in.credentials);
14930 2 : ndr->depth++;
14931 2 : ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
14932 2 : ndr->depth--;
14933 2 : ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
14934 2 : ndr->depth++;
14935 2 : ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
14936 2 : ndr->depth--;
14937 2 : ndr->depth--;
14938 : }
14939 372 : if (flags & NDR_OUT) {
14940 370 : ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
14941 370 : ndr->depth++;
14942 370 : ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
14943 370 : ndr->depth++;
14944 370 : ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
14945 370 : ndr->depth--;
14946 370 : ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
14947 370 : ndr->depth++;
14948 370 : ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
14949 370 : ndr->depth--;
14950 370 : ndr_print_ptr(ndr, "rid", r->out.rid);
14951 370 : ndr->depth++;
14952 370 : ndr_print_uint32(ndr, "rid", *r->out.rid);
14953 370 : ndr->depth--;
14954 370 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
14955 370 : ndr->depth--;
14956 : }
14957 372 : ndr->depth--;
14958 : }
14959 :
14960 164 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
14961 : {
14962 164 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14963 164 : if (flags & NDR_IN) {
14964 76 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14965 76 : if (r->in.server_unc) {
14966 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14967 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14968 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14969 76 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14970 : }
14971 76 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14972 76 : if (r->in.domain_name) {
14973 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14974 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14975 76 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14976 76 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14977 : }
14978 76 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14979 76 : if (r->in.domain_guid) {
14980 4 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14981 : }
14982 76 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14983 76 : if (r->in.site_name) {
14984 16 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14985 16 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14986 16 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14987 16 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14988 : }
14989 84 : NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14990 : }
14991 164 : if (flags & NDR_OUT) {
14992 88 : if (r->out.info == NULL) {
14993 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14994 : }
14995 88 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14996 88 : if (*r->out.info) {
14997 88 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14998 : }
14999 88 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15000 : }
15001 146 : return NDR_ERR_SUCCESS;
15002 : }
15003 :
15004 152 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
15005 : {
15006 : uint32_t _ptr_server_unc;
15007 152 : uint32_t size_server_unc_1 = 0;
15008 152 : uint32_t length_server_unc_1 = 0;
15009 : uint32_t _ptr_domain_name;
15010 152 : uint32_t size_domain_name_1 = 0;
15011 152 : uint32_t length_domain_name_1 = 0;
15012 : uint32_t _ptr_domain_guid;
15013 : uint32_t _ptr_site_name;
15014 152 : uint32_t size_site_name_1 = 0;
15015 152 : uint32_t length_site_name_1 = 0;
15016 : uint32_t _ptr_info;
15017 152 : TALLOC_CTX *_mem_save_server_unc_0 = NULL;
15018 152 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
15019 152 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
15020 152 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
15021 152 : TALLOC_CTX *_mem_save_info_0 = NULL;
15022 152 : TALLOC_CTX *_mem_save_info_1 = NULL;
15023 152 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15024 152 : if (flags & NDR_IN) {
15025 76 : NDR_ZERO_STRUCT(r->out);
15026 :
15027 76 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
15028 76 : if (_ptr_server_unc) {
15029 76 : NDR_PULL_ALLOC(ndr, r->in.server_unc);
15030 : } else {
15031 0 : r->in.server_unc = NULL;
15032 : }
15033 76 : if (r->in.server_unc) {
15034 76 : _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
15035 76 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
15036 76 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
15037 76 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
15038 76 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
15039 76 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
15040 76 : if (length_server_unc_1 > size_server_unc_1) {
15041 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
15042 : }
15043 76 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
15044 76 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
15045 76 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
15046 : }
15047 76 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
15048 76 : if (_ptr_domain_name) {
15049 76 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
15050 : } else {
15051 0 : r->in.domain_name = NULL;
15052 : }
15053 76 : if (r->in.domain_name) {
15054 76 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15055 76 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
15056 76 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
15057 76 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
15058 76 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
15059 76 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
15060 76 : if (length_domain_name_1 > size_domain_name_1) {
15061 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
15062 : }
15063 76 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
15064 76 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
15065 76 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
15066 : }
15067 76 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15068 76 : if (_ptr_domain_guid) {
15069 4 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15070 : } else {
15071 72 : r->in.domain_guid = NULL;
15072 : }
15073 76 : if (r->in.domain_guid) {
15074 4 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15075 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15076 4 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15077 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15078 : }
15079 76 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
15080 76 : if (_ptr_site_name) {
15081 16 : NDR_PULL_ALLOC(ndr, r->in.site_name);
15082 : } else {
15083 60 : r->in.site_name = NULL;
15084 : }
15085 76 : if (r->in.site_name) {
15086 16 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15087 16 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
15088 16 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
15089 16 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
15090 16 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
15091 16 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
15092 16 : if (length_site_name_1 > size_site_name_1) {
15093 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
15094 : }
15095 16 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
15096 16 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
15097 16 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
15098 : }
15099 84 : NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
15100 76 : NDR_PULL_ALLOC(ndr, r->out.info);
15101 76 : NDR_ZERO_STRUCTP(r->out.info);
15102 : }
15103 152 : if (flags & NDR_OUT) {
15104 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15105 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15106 76 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15107 40 : NDR_PULL_ALLOC(ndr, r->out.info);
15108 : }
15109 76 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15110 76 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15111 76 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
15112 76 : if (_ptr_info) {
15113 76 : NDR_PULL_ALLOC(ndr, *r->out.info);
15114 : } else {
15115 0 : *r->out.info = NULL;
15116 : }
15117 76 : if (*r->out.info) {
15118 76 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15119 76 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
15120 76 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
15121 76 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
15122 : }
15123 76 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15124 76 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15125 : }
15126 136 : return NDR_ERR_SUCCESS;
15127 : }
15128 :
15129 24 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
15130 : {
15131 24 : ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
15132 24 : if (r == NULL) { ndr_print_null(ndr); return; }
15133 24 : ndr->depth++;
15134 24 : if (flags & NDR_SET_VALUES) {
15135 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15136 : }
15137 24 : if (flags & NDR_IN) {
15138 0 : ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
15139 0 : ndr->depth++;
15140 0 : ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
15141 0 : ndr->depth++;
15142 0 : if (r->in.server_unc) {
15143 0 : ndr_print_string(ndr, "server_unc", r->in.server_unc);
15144 : }
15145 0 : ndr->depth--;
15146 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
15147 0 : ndr->depth++;
15148 0 : if (r->in.domain_name) {
15149 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
15150 : }
15151 0 : ndr->depth--;
15152 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15153 0 : ndr->depth++;
15154 0 : if (r->in.domain_guid) {
15155 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15156 : }
15157 0 : ndr->depth--;
15158 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
15159 0 : ndr->depth++;
15160 0 : if (r->in.site_name) {
15161 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
15162 : }
15163 0 : ndr->depth--;
15164 0 : ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
15165 0 : ndr->depth--;
15166 : }
15167 24 : if (flags & NDR_OUT) {
15168 24 : ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
15169 24 : ndr->depth++;
15170 24 : ndr_print_ptr(ndr, "info", r->out.info);
15171 24 : ndr->depth++;
15172 24 : ndr_print_ptr(ndr, "info", *r->out.info);
15173 24 : ndr->depth++;
15174 24 : if (*r->out.info) {
15175 24 : ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
15176 : }
15177 24 : ndr->depth--;
15178 24 : ndr->depth--;
15179 24 : ndr_print_WERROR(ndr, "result", r->out.result);
15180 24 : ndr->depth--;
15181 : }
15182 24 : ndr->depth--;
15183 : }
15184 :
15185 216 : static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
15186 : {
15187 216 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15188 216 : if (flags & NDR_IN) {
15189 96 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15190 96 : if (r->in.computer_name) {
15191 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15192 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15193 96 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15194 96 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15195 : }
15196 : }
15197 216 : if (flags & NDR_OUT) {
15198 120 : if (r->out.site == NULL) {
15199 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15200 : }
15201 120 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
15202 120 : if (*r->out.site) {
15203 120 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
15204 120 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15205 120 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
15206 120 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15207 : }
15208 120 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15209 : }
15210 180 : return NDR_ERR_SUCCESS;
15211 : }
15212 :
15213 192 : static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
15214 : {
15215 : uint32_t _ptr_computer_name;
15216 192 : uint32_t size_computer_name_1 = 0;
15217 192 : uint32_t length_computer_name_1 = 0;
15218 : uint32_t _ptr_site;
15219 192 : uint32_t size_site_2 = 0;
15220 192 : uint32_t length_site_2 = 0;
15221 192 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
15222 192 : TALLOC_CTX *_mem_save_site_0 = NULL;
15223 192 : TALLOC_CTX *_mem_save_site_1 = NULL;
15224 192 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15225 192 : if (flags & NDR_IN) {
15226 96 : NDR_ZERO_STRUCT(r->out);
15227 :
15228 96 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15229 96 : if (_ptr_computer_name) {
15230 96 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
15231 : } else {
15232 0 : r->in.computer_name = NULL;
15233 : }
15234 96 : if (r->in.computer_name) {
15235 96 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15236 96 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15237 96 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15238 96 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15239 96 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
15240 96 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
15241 96 : if (length_computer_name_1 > size_computer_name_1) {
15242 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15243 : }
15244 96 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15245 96 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15246 96 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15247 : }
15248 96 : NDR_PULL_ALLOC(ndr, r->out.site);
15249 96 : NDR_ZERO_STRUCTP(r->out.site);
15250 : }
15251 192 : if (flags & NDR_OUT) {
15252 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15253 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15254 96 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15255 24 : NDR_PULL_ALLOC(ndr, r->out.site);
15256 : }
15257 96 : _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
15258 96 : NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
15259 96 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
15260 96 : if (_ptr_site) {
15261 96 : NDR_PULL_ALLOC(ndr, *r->out.site);
15262 : } else {
15263 0 : *r->out.site = NULL;
15264 : }
15265 96 : if (*r->out.site) {
15266 96 : _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
15267 96 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
15268 96 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
15269 96 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
15270 96 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.site, &size_site_2));
15271 96 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.site, &length_site_2));
15272 96 : if (length_site_2 > size_site_2) {
15273 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_2, length_site_2);
15274 : }
15275 96 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_2, sizeof(uint16_t)));
15276 96 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, length_site_2, sizeof(uint16_t), CH_UTF16));
15277 96 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
15278 : }
15279 96 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
15280 96 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15281 : }
15282 160 : return NDR_ERR_SUCCESS;
15283 : }
15284 :
15285 48 : _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
15286 : {
15287 48 : ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
15288 48 : if (r == NULL) { ndr_print_null(ndr); return; }
15289 48 : ndr->depth++;
15290 48 : if (flags & NDR_SET_VALUES) {
15291 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15292 : }
15293 48 : if (flags & NDR_IN) {
15294 0 : ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
15295 0 : ndr->depth++;
15296 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15297 0 : ndr->depth++;
15298 0 : if (r->in.computer_name) {
15299 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
15300 : }
15301 0 : ndr->depth--;
15302 0 : ndr->depth--;
15303 : }
15304 48 : if (flags & NDR_OUT) {
15305 48 : ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
15306 48 : ndr->depth++;
15307 48 : ndr_print_ptr(ndr, "site", r->out.site);
15308 48 : ndr->depth++;
15309 48 : ndr_print_ptr(ndr, "site", *r->out.site);
15310 48 : ndr->depth++;
15311 48 : if (*r->out.site) {
15312 48 : ndr_print_string(ndr, "site", *r->out.site);
15313 : }
15314 48 : ndr->depth--;
15315 48 : ndr->depth--;
15316 48 : ndr_print_WERROR(ndr, "result", r->out.result);
15317 48 : ndr->depth--;
15318 : }
15319 48 : ndr->depth--;
15320 : }
15321 :
15322 400 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
15323 : {
15324 400 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15325 400 : if (flags & NDR_IN) {
15326 179 : if (r->in.server_name == NULL) {
15327 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15328 : }
15329 179 : if (r->in.credential == NULL) {
15330 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15331 : }
15332 179 : if (r->in.return_authenticator == NULL) {
15333 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15334 : }
15335 179 : if (r->in.query == NULL) {
15336 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15337 : }
15338 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15339 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15340 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15341 179 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15342 179 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15343 179 : if (r->in.computer_name) {
15344 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15345 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15346 179 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15347 179 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15348 : }
15349 179 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15350 179 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
15351 179 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15352 179 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
15353 179 : NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
15354 : }
15355 400 : if (flags & NDR_OUT) {
15356 221 : if (r->out.return_authenticator == NULL) {
15357 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15358 : }
15359 221 : if (r->out.info == NULL) {
15360 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15361 : }
15362 221 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15363 221 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
15364 221 : NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15365 221 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15366 : }
15367 337 : return NDR_ERR_SUCCESS;
15368 : }
15369 :
15370 372 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
15371 : {
15372 372 : uint32_t size_server_name_1 = 0;
15373 372 : uint32_t length_server_name_1 = 0;
15374 : uint32_t _ptr_computer_name;
15375 372 : uint32_t size_computer_name_1 = 0;
15376 372 : uint32_t length_computer_name_1 = 0;
15377 372 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
15378 372 : TALLOC_CTX *_mem_save_credential_0 = NULL;
15379 372 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
15380 372 : TALLOC_CTX *_mem_save_query_0 = NULL;
15381 372 : TALLOC_CTX *_mem_save_info_0 = NULL;
15382 372 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15383 372 : if (flags & NDR_IN) {
15384 189 : NDR_ZERO_STRUCT(r->out);
15385 :
15386 189 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15387 189 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15388 189 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
15389 189 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
15390 189 : if (length_server_name_1 > size_server_name_1) {
15391 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15392 : }
15393 189 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15394 189 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15395 189 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15396 189 : if (_ptr_computer_name) {
15397 189 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
15398 : } else {
15399 0 : r->in.computer_name = NULL;
15400 : }
15401 189 : if (r->in.computer_name) {
15402 189 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15403 189 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15404 189 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15405 189 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15406 189 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
15407 189 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
15408 189 : if (length_computer_name_1 > size_computer_name_1) {
15409 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15410 : }
15411 189 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15412 189 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15413 189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15414 : }
15415 189 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15416 189 : NDR_PULL_ALLOC(ndr, r->in.credential);
15417 : }
15418 189 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15419 189 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15420 189 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15421 189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15422 189 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15423 189 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
15424 : }
15425 189 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15426 189 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15427 189 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
15428 189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15429 189 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15430 189 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15431 189 : NDR_PULL_ALLOC(ndr, r->in.query);
15432 : }
15433 189 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
15434 189 : NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
15435 189 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
15436 189 : NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
15437 189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
15438 189 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15439 189 : *r->out.return_authenticator = *r->in.return_authenticator;
15440 189 : NDR_PULL_ALLOC(ndr, r->out.info);
15441 189 : NDR_ZERO_STRUCTP(r->out.info);
15442 : }
15443 372 : if (flags & NDR_OUT) {
15444 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15445 : if (r->in.credential == NULL) {
15446 : NDR_PULL_ALLOC(ndr, r->in.credential);
15447 : NDR_ZERO_STRUCTP(r->in.credential);
15448 : }
15449 : if (r->in.return_authenticator == NULL) {
15450 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
15451 : NDR_ZERO_STRUCTP(r->in.return_authenticator);
15452 : }
15453 : if (r->in.query == NULL) {
15454 : NDR_PULL_ALLOC(ndr, r->in.query);
15455 : NDR_ZERO_STRUCTP(r->in.query);
15456 : }
15457 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15458 183 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15459 57 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15460 : }
15461 183 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15462 183 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15463 183 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15464 183 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15465 183 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15466 57 : NDR_PULL_ALLOC(ndr, r->out.info);
15467 : }
15468 183 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15469 183 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15470 183 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
15471 183 : NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15472 183 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15473 183 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15474 : }
15475 302 : return NDR_ERR_SUCCESS;
15476 : }
15477 :
15478 98 : _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
15479 : {
15480 98 : ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
15481 98 : if (r == NULL) { ndr_print_null(ndr); return; }
15482 98 : ndr->depth++;
15483 98 : if (flags & NDR_SET_VALUES) {
15484 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15485 : }
15486 98 : if (flags & NDR_IN) {
15487 10 : ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
15488 10 : ndr->depth++;
15489 10 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
15490 10 : ndr->depth++;
15491 10 : ndr_print_string(ndr, "server_name", r->in.server_name);
15492 10 : ndr->depth--;
15493 10 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15494 10 : ndr->depth++;
15495 10 : if (r->in.computer_name) {
15496 10 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
15497 : }
15498 10 : ndr->depth--;
15499 10 : ndr_print_ptr(ndr, "credential", r->in.credential);
15500 10 : ndr->depth++;
15501 10 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15502 10 : ndr->depth--;
15503 10 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
15504 10 : ndr->depth++;
15505 10 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
15506 10 : ndr->depth--;
15507 10 : ndr_print_uint32(ndr, "level", r->in.level);
15508 10 : ndr_print_ptr(ndr, "query", r->in.query);
15509 10 : ndr->depth++;
15510 10 : ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
15511 10 : ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
15512 10 : ndr->depth--;
15513 10 : ndr->depth--;
15514 : }
15515 98 : if (flags & NDR_OUT) {
15516 88 : ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
15517 88 : ndr->depth++;
15518 88 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15519 88 : ndr->depth++;
15520 88 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15521 88 : ndr->depth--;
15522 88 : ndr_print_ptr(ndr, "info", r->out.info);
15523 88 : ndr->depth++;
15524 88 : ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
15525 88 : ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
15526 88 : ndr->depth--;
15527 88 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
15528 88 : ndr->depth--;
15529 : }
15530 98 : ndr->depth--;
15531 : }
15532 :
15533 1005 : static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
15534 : {
15535 1005 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15536 1005 : if (flags & NDR_IN) {
15537 453 : if (r->in.account_name == NULL) {
15538 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15539 : }
15540 453 : if (r->in.computer_name == NULL) {
15541 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15542 : }
15543 453 : if (r->in.credential == NULL) {
15544 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15545 : }
15546 453 : if (r->in.new_password == NULL) {
15547 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15548 : }
15549 453 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15550 453 : if (r->in.server_name) {
15551 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15552 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15553 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15554 453 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15555 : }
15556 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15557 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15558 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15559 453 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15560 453 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15561 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15562 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15563 453 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15564 453 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15565 453 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15566 453 : NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
15567 : }
15568 1005 : if (flags & NDR_OUT) {
15569 552 : if (r->out.return_authenticator == NULL) {
15570 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15571 : }
15572 552 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15573 552 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15574 : }
15575 901 : return NDR_ERR_SUCCESS;
15576 : }
15577 :
15578 904 : static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
15579 : {
15580 : uint32_t _ptr_server_name;
15581 904 : uint32_t size_server_name_1 = 0;
15582 904 : uint32_t length_server_name_1 = 0;
15583 904 : uint32_t size_account_name_1 = 0;
15584 904 : uint32_t length_account_name_1 = 0;
15585 904 : uint32_t size_computer_name_1 = 0;
15586 904 : uint32_t length_computer_name_1 = 0;
15587 904 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
15588 904 : TALLOC_CTX *_mem_save_credential_0 = NULL;
15589 904 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
15590 904 : TALLOC_CTX *_mem_save_new_password_0 = NULL;
15591 904 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15592 904 : if (flags & NDR_IN) {
15593 451 : NDR_ZERO_STRUCT(r->out);
15594 :
15595 451 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15596 451 : if (_ptr_server_name) {
15597 451 : NDR_PULL_ALLOC(ndr, r->in.server_name);
15598 : } else {
15599 0 : r->in.server_name = NULL;
15600 : }
15601 451 : if (r->in.server_name) {
15602 451 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15603 451 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15604 451 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15605 451 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15606 451 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
15607 451 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
15608 451 : if (length_server_name_1 > size_server_name_1) {
15609 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15610 : }
15611 451 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15612 451 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15613 451 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15614 : }
15615 451 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15616 451 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15617 451 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
15618 451 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
15619 451 : if (length_account_name_1 > size_account_name_1) {
15620 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
15621 : }
15622 451 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
15623 451 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
15624 451 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15625 451 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15626 451 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15627 451 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
15628 451 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
15629 451 : if (length_computer_name_1 > size_computer_name_1) {
15630 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15631 : }
15632 451 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15633 451 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15634 451 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15635 451 : NDR_PULL_ALLOC(ndr, r->in.credential);
15636 : }
15637 451 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15638 451 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15639 451 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15640 451 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15641 451 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15642 451 : NDR_PULL_ALLOC(ndr, r->in.new_password);
15643 : }
15644 451 : _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15645 451 : NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
15646 451 : NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
15647 451 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
15648 451 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15649 451 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
15650 : }
15651 904 : if (flags & NDR_OUT) {
15652 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15653 : if (r->in.credential == NULL) {
15654 : NDR_PULL_ALLOC(ndr, r->in.credential);
15655 : NDR_ZERO_STRUCTP(r->in.credential);
15656 : }
15657 : if (r->in.new_password == NULL) {
15658 : NDR_PULL_ALLOC(ndr, r->in.new_password);
15659 : NDR_ZERO_STRUCTP(r->in.new_password);
15660 : }
15661 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15662 453 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15663 113 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15664 : }
15665 453 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15666 453 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15667 453 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15668 453 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15669 453 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15670 : }
15671 810 : return NDR_ERR_SUCCESS;
15672 : }
15673 :
15674 202 : _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
15675 : {
15676 202 : ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
15677 202 : if (r == NULL) { ndr_print_null(ndr); return; }
15678 202 : ndr->depth++;
15679 202 : if (flags & NDR_SET_VALUES) {
15680 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15681 : }
15682 202 : if (flags & NDR_IN) {
15683 0 : ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
15684 0 : ndr->depth++;
15685 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
15686 0 : ndr->depth++;
15687 0 : if (r->in.server_name) {
15688 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
15689 : }
15690 0 : ndr->depth--;
15691 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
15692 0 : ndr->depth++;
15693 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
15694 0 : ndr->depth--;
15695 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15696 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15697 0 : ndr->depth++;
15698 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
15699 0 : ndr->depth--;
15700 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
15701 0 : ndr->depth++;
15702 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15703 0 : ndr->depth--;
15704 0 : ndr_print_ptr(ndr, "new_password", r->in.new_password);
15705 0 : ndr->depth++;
15706 0 : ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
15707 0 : ndr->depth--;
15708 0 : ndr->depth--;
15709 : }
15710 202 : if (flags & NDR_OUT) {
15711 202 : ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
15712 202 : ndr->depth++;
15713 202 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15714 202 : ndr->depth++;
15715 202 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15716 202 : ndr->depth--;
15717 202 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
15718 202 : ndr->depth--;
15719 : }
15720 202 : ndr->depth--;
15721 : }
15722 :
15723 24 : static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
15724 : {
15725 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15726 24 : if (flags & NDR_IN) {
15727 24 : if (r->in.account_name == NULL) {
15728 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15729 : }
15730 24 : if (r->in.computer_name == NULL) {
15731 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15732 : }
15733 24 : if (r->in.credential == NULL) {
15734 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15735 : }
15736 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15737 24 : if (r->in.server_name) {
15738 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15739 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15740 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15741 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15742 : }
15743 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15744 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15745 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15746 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15747 24 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15748 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15749 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15750 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15751 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15752 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15753 : }
15754 24 : if (flags & NDR_OUT) {
15755 0 : if (r->out.return_authenticator == NULL) {
15756 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15757 : }
15758 0 : if (r->out.password == NULL) {
15759 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15760 : }
15761 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15762 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15763 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15764 : }
15765 20 : return NDR_ERR_SUCCESS;
15766 : }
15767 :
15768 24 : static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
15769 : {
15770 : uint32_t _ptr_server_name;
15771 24 : uint32_t size_server_name_1 = 0;
15772 24 : uint32_t length_server_name_1 = 0;
15773 24 : uint32_t size_account_name_1 = 0;
15774 24 : uint32_t length_account_name_1 = 0;
15775 24 : uint32_t size_computer_name_1 = 0;
15776 24 : uint32_t length_computer_name_1 = 0;
15777 24 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
15778 24 : TALLOC_CTX *_mem_save_credential_0 = NULL;
15779 24 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
15780 24 : TALLOC_CTX *_mem_save_password_0 = NULL;
15781 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15782 24 : if (flags & NDR_IN) {
15783 24 : NDR_ZERO_STRUCT(r->out);
15784 :
15785 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15786 24 : if (_ptr_server_name) {
15787 24 : NDR_PULL_ALLOC(ndr, r->in.server_name);
15788 : } else {
15789 0 : r->in.server_name = NULL;
15790 : }
15791 24 : if (r->in.server_name) {
15792 24 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15793 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15794 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15795 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15796 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
15797 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
15798 24 : if (length_server_name_1 > size_server_name_1) {
15799 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15800 : }
15801 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15802 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15803 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15804 : }
15805 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15806 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15807 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
15808 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
15809 24 : if (length_account_name_1 > size_account_name_1) {
15810 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
15811 : }
15812 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
15813 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
15814 24 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15815 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15816 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15817 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
15818 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
15819 24 : if (length_computer_name_1 > size_computer_name_1) {
15820 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15821 : }
15822 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15823 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15824 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15825 24 : NDR_PULL_ALLOC(ndr, r->in.credential);
15826 : }
15827 24 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15828 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15829 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15830 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15831 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15832 24 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
15833 24 : NDR_PULL_ALLOC(ndr, r->out.password);
15834 24 : NDR_ZERO_STRUCTP(r->out.password);
15835 : }
15836 24 : if (flags & NDR_OUT) {
15837 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
15838 : if (r->in.credential == NULL) {
15839 : NDR_PULL_ALLOC(ndr, r->in.credential);
15840 : NDR_ZERO_STRUCTP(r->in.credential);
15841 : }
15842 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
15843 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15844 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15845 : }
15846 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15847 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15848 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15849 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15850 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15851 0 : NDR_PULL_ALLOC(ndr, r->out.password);
15852 : }
15853 0 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15854 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15855 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15856 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15857 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15858 : }
15859 20 : return NDR_ERR_SUCCESS;
15860 : }
15861 :
15862 0 : _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
15863 : {
15864 0 : ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
15865 0 : if (r == NULL) { ndr_print_null(ndr); return; }
15866 0 : ndr->depth++;
15867 0 : if (flags & NDR_SET_VALUES) {
15868 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15869 : }
15870 0 : if (flags & NDR_IN) {
15871 0 : ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
15872 0 : ndr->depth++;
15873 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
15874 0 : ndr->depth++;
15875 0 : if (r->in.server_name) {
15876 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
15877 : }
15878 0 : ndr->depth--;
15879 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
15880 0 : ndr->depth++;
15881 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
15882 0 : ndr->depth--;
15883 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15884 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15885 0 : ndr->depth++;
15886 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
15887 0 : ndr->depth--;
15888 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
15889 0 : ndr->depth++;
15890 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15891 0 : ndr->depth--;
15892 0 : ndr->depth--;
15893 : }
15894 0 : if (flags & NDR_OUT) {
15895 0 : ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
15896 0 : ndr->depth++;
15897 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15898 0 : ndr->depth++;
15899 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15900 0 : ndr->depth--;
15901 0 : ndr_print_ptr(ndr, "password", r->out.password);
15902 0 : ndr->depth++;
15903 0 : ndr_print_samr_Password(ndr, "password", r->out.password);
15904 0 : ndr->depth--;
15905 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
15906 0 : ndr->depth--;
15907 : }
15908 0 : ndr->depth--;
15909 : }
15910 :
15911 17 : static enum ndr_err_code ndr_push_netr_NetrLogonSendToSam(struct ndr_push *ndr, int flags, const struct netr_NetrLogonSendToSam *r)
15912 : {
15913 17 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15914 17 : if (flags & NDR_IN) {
15915 0 : if (r->in.computer_name == NULL) {
15916 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15917 : }
15918 0 : if (r->in.credential == NULL) {
15919 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15920 : }
15921 0 : if (r->in.opaque_buffer == NULL) {
15922 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15923 : }
15924 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15925 0 : if (r->in.server_name) {
15926 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15927 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15928 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15929 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15930 : }
15931 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15932 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15933 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15934 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15935 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15936 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.buffer_len));
15937 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.opaque_buffer, r->in.buffer_len));
15938 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffer_len));
15939 : }
15940 17 : if (flags & NDR_OUT) {
15941 17 : if (r->out.return_authenticator == NULL) {
15942 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15943 : }
15944 17 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15945 17 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15946 : }
15947 17 : return NDR_ERR_SUCCESS;
15948 : }
15949 :
15950 17 : static enum ndr_err_code ndr_pull_netr_NetrLogonSendToSam(struct ndr_pull *ndr, int flags, struct netr_NetrLogonSendToSam *r)
15951 : {
15952 : uint32_t _ptr_server_name;
15953 17 : uint32_t size_server_name_1 = 0;
15954 17 : uint32_t length_server_name_1 = 0;
15955 17 : uint32_t size_computer_name_1 = 0;
15956 17 : uint32_t length_computer_name_1 = 0;
15957 17 : uint32_t size_opaque_buffer_1 = 0;
15958 17 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
15959 17 : TALLOC_CTX *_mem_save_credential_0 = NULL;
15960 17 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
15961 17 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15962 17 : if (flags & NDR_IN) {
15963 17 : NDR_ZERO_STRUCT(r->out);
15964 :
15965 17 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15966 17 : if (_ptr_server_name) {
15967 17 : NDR_PULL_ALLOC(ndr, r->in.server_name);
15968 : } else {
15969 0 : r->in.server_name = NULL;
15970 : }
15971 17 : if (r->in.server_name) {
15972 17 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15973 17 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15974 17 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15975 17 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15976 17 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
15977 17 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
15978 17 : if (length_server_name_1 > size_server_name_1) {
15979 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15980 : }
15981 17 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15982 17 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15983 17 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15984 : }
15985 17 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15986 17 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15987 17 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
15988 17 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
15989 17 : if (length_computer_name_1 > size_computer_name_1) {
15990 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15991 : }
15992 17 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15993 17 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15994 17 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15995 17 : NDR_PULL_ALLOC(ndr, r->in.credential);
15996 : }
15997 17 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15998 17 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15999 17 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16000 17 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16001 17 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.opaque_buffer));
16002 17 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.opaque_buffer, &size_opaque_buffer_1));
16003 17 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16004 17 : NDR_PULL_ALLOC_N(ndr, r->in.opaque_buffer, size_opaque_buffer_1);
16005 : }
16006 17 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.opaque_buffer, size_opaque_buffer_1));
16007 17 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffer_len));
16008 17 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16009 17 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
16010 17 : if (r->in.opaque_buffer) {
16011 17 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.opaque_buffer, r->in.buffer_len));
16012 : }
16013 : }
16014 17 : if (flags & NDR_OUT) {
16015 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16016 : if (r->in.credential == NULL) {
16017 : NDR_PULL_ALLOC(ndr, r->in.credential);
16018 : NDR_ZERO_STRUCTP(r->in.credential);
16019 : }
16020 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16021 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16022 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16023 : }
16024 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16025 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16026 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16027 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16028 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16029 : }
16030 17 : return NDR_ERR_SUCCESS;
16031 : }
16032 :
16033 0 : _PUBLIC_ void ndr_print_netr_NetrLogonSendToSam(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrLogonSendToSam *r)
16034 : {
16035 0 : ndr_print_struct(ndr, name, "netr_NetrLogonSendToSam");
16036 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16037 0 : ndr->depth++;
16038 0 : if (flags & NDR_SET_VALUES) {
16039 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16040 : }
16041 0 : if (flags & NDR_IN) {
16042 0 : ndr_print_struct(ndr, "in", "netr_NetrLogonSendToSam");
16043 0 : ndr->depth++;
16044 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
16045 0 : ndr->depth++;
16046 0 : if (r->in.server_name) {
16047 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
16048 : }
16049 0 : ndr->depth--;
16050 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16051 0 : ndr->depth++;
16052 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
16053 0 : ndr->depth--;
16054 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
16055 0 : ndr->depth++;
16056 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16057 0 : ndr->depth--;
16058 0 : ndr_print_ptr(ndr, "opaque_buffer", r->in.opaque_buffer);
16059 0 : ndr->depth++;
16060 0 : ndr_print_array_uint8(ndr, "opaque_buffer", r->in.opaque_buffer, r->in.buffer_len);
16061 0 : ndr->depth--;
16062 0 : ndr_print_uint32(ndr, "buffer_len", r->in.buffer_len);
16063 0 : ndr->depth--;
16064 : }
16065 0 : if (flags & NDR_OUT) {
16066 0 : ndr_print_struct(ndr, "out", "netr_NetrLogonSendToSam");
16067 0 : ndr->depth++;
16068 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16069 0 : ndr->depth++;
16070 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16071 0 : ndr->depth--;
16072 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
16073 0 : ndr->depth--;
16074 : }
16075 0 : ndr->depth--;
16076 : }
16077 :
16078 162 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
16079 : {
16080 : uint32_t cntr_addresses_1;
16081 162 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16082 162 : if (flags & NDR_IN) {
16083 72 : if (r->in.addresses == NULL) {
16084 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16085 : }
16086 72 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16087 72 : if (r->in.server_name) {
16088 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16089 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16090 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16091 72 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16092 : }
16093 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
16094 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
16095 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16096 432 : NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
16097 : }
16098 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16099 432 : NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
16100 : }
16101 : }
16102 162 : if (flags & NDR_OUT) {
16103 90 : if (r->out.ctr == NULL) {
16104 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16105 : }
16106 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
16107 90 : if (*r->out.ctr) {
16108 90 : NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16109 : }
16110 90 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16111 : }
16112 135 : return NDR_ERR_SUCCESS;
16113 : }
16114 :
16115 144 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
16116 : {
16117 : uint32_t _ptr_server_name;
16118 144 : uint32_t size_server_name_1 = 0;
16119 144 : uint32_t length_server_name_1 = 0;
16120 144 : uint32_t size_addresses_1 = 0;
16121 : uint32_t cntr_addresses_1;
16122 : uint32_t _ptr_ctr;
16123 144 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
16124 144 : TALLOC_CTX *_mem_save_addresses_1 = NULL;
16125 144 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16126 144 : TALLOC_CTX *_mem_save_ctr_1 = NULL;
16127 144 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16128 144 : if (flags & NDR_IN) {
16129 72 : NDR_ZERO_STRUCT(r->out);
16130 :
16131 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16132 72 : if (_ptr_server_name) {
16133 72 : NDR_PULL_ALLOC(ndr, r->in.server_name);
16134 : } else {
16135 0 : r->in.server_name = NULL;
16136 : }
16137 72 : if (r->in.server_name) {
16138 72 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16139 72 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16140 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16141 72 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16142 72 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
16143 72 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
16144 72 : if (length_server_name_1 > size_server_name_1) {
16145 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16146 : }
16147 72 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16148 72 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16149 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16150 : }
16151 72 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
16152 72 : if (r->in.count > 32000) {
16153 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
16154 : }
16155 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
16156 72 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.addresses, &size_addresses_1));
16157 72 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16158 72 : NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
16159 : }
16160 72 : _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
16161 72 : NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
16162 504 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16163 432 : NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
16164 : }
16165 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16166 432 : NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
16167 : }
16168 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
16169 72 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16170 72 : NDR_ZERO_STRUCTP(r->out.ctr);
16171 72 : if (r->in.addresses) {
16172 72 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
16173 : }
16174 144 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16175 : }
16176 : }
16177 144 : if (flags & NDR_OUT) {
16178 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16179 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16180 72 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16181 18 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16182 : }
16183 72 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16184 72 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16185 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
16186 72 : if (_ptr_ctr) {
16187 72 : NDR_PULL_ALLOC(ndr, *r->out.ctr);
16188 : } else {
16189 0 : *r->out.ctr = NULL;
16190 : }
16191 72 : if (*r->out.ctr) {
16192 72 : _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
16193 72 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
16194 72 : NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16195 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
16196 : }
16197 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16198 72 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16199 : }
16200 120 : return NDR_ERR_SUCCESS;
16201 : }
16202 :
16203 36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
16204 : {
16205 : uint32_t cntr_addresses_1;
16206 36 : ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
16207 36 : if (r == NULL) { ndr_print_null(ndr); return; }
16208 36 : ndr->depth++;
16209 36 : if (flags & NDR_SET_VALUES) {
16210 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16211 : }
16212 36 : if (flags & NDR_IN) {
16213 0 : ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
16214 0 : ndr->depth++;
16215 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
16216 0 : ndr->depth++;
16217 0 : if (r->in.server_name) {
16218 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
16219 : }
16220 0 : ndr->depth--;
16221 0 : ndr_print_uint32(ndr, "count", r->in.count);
16222 0 : ndr_print_ptr(ndr, "addresses", r->in.addresses);
16223 0 : ndr->depth++;
16224 0 : ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
16225 0 : ndr->depth++;
16226 0 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16227 0 : ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
16228 : }
16229 0 : ndr->depth--;
16230 0 : ndr->depth--;
16231 0 : ndr->depth--;
16232 : }
16233 36 : if (flags & NDR_OUT) {
16234 36 : ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
16235 36 : ndr->depth++;
16236 36 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16237 36 : ndr->depth++;
16238 36 : ndr_print_ptr(ndr, "ctr", *r->out.ctr);
16239 36 : ndr->depth++;
16240 36 : if (*r->out.ctr) {
16241 36 : ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
16242 : }
16243 36 : ndr->depth--;
16244 36 : ndr->depth--;
16245 36 : ndr_print_WERROR(ndr, "result", r->out.result);
16246 36 : ndr->depth--;
16247 : }
16248 36 : ndr->depth--;
16249 : }
16250 :
16251 482 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
16252 : {
16253 482 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16254 482 : if (flags & NDR_IN) {
16255 229 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
16256 229 : if (r->in.server_unc) {
16257 205 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
16258 205 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16259 205 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
16260 205 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16261 : }
16262 229 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
16263 229 : if (r->in.client_account) {
16264 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
16265 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16266 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
16267 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_account, ndr_charset_length(r->in.client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16268 : }
16269 229 : NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
16270 229 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
16271 229 : if (r->in.domain_name) {
16272 84 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
16273 84 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16274 84 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
16275 84 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16276 : }
16277 229 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
16278 229 : if (r->in.domain_guid) {
16279 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
16280 : }
16281 229 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
16282 229 : if (r->in.site_name) {
16283 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
16284 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16285 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
16286 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16287 : }
16288 247 : NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
16289 : }
16290 482 : if (flags & NDR_OUT) {
16291 253 : if (r->out.info == NULL) {
16292 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16293 : }
16294 253 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
16295 253 : if (*r->out.info) {
16296 253 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
16297 : }
16298 253 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16299 : }
16300 442 : return NDR_ERR_SUCCESS;
16301 : }
16302 :
16303 458 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
16304 : {
16305 : uint32_t _ptr_server_unc;
16306 458 : uint32_t size_server_unc_1 = 0;
16307 458 : uint32_t length_server_unc_1 = 0;
16308 : uint32_t _ptr_client_account;
16309 458 : uint32_t size_client_account_1 = 0;
16310 458 : uint32_t length_client_account_1 = 0;
16311 : uint32_t _ptr_domain_name;
16312 458 : uint32_t size_domain_name_1 = 0;
16313 458 : uint32_t length_domain_name_1 = 0;
16314 : uint32_t _ptr_domain_guid;
16315 : uint32_t _ptr_site_name;
16316 458 : uint32_t size_site_name_1 = 0;
16317 458 : uint32_t length_site_name_1 = 0;
16318 : uint32_t _ptr_info;
16319 458 : TALLOC_CTX *_mem_save_server_unc_0 = NULL;
16320 458 : TALLOC_CTX *_mem_save_client_account_0 = NULL;
16321 458 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
16322 458 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
16323 458 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
16324 458 : TALLOC_CTX *_mem_save_info_0 = NULL;
16325 458 : TALLOC_CTX *_mem_save_info_1 = NULL;
16326 458 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16327 458 : if (flags & NDR_IN) {
16328 229 : NDR_ZERO_STRUCT(r->out);
16329 :
16330 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
16331 229 : if (_ptr_server_unc) {
16332 205 : NDR_PULL_ALLOC(ndr, r->in.server_unc);
16333 : } else {
16334 24 : r->in.server_unc = NULL;
16335 : }
16336 229 : if (r->in.server_unc) {
16337 205 : _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
16338 205 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
16339 205 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
16340 205 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
16341 205 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
16342 205 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
16343 205 : if (length_server_unc_1 > size_server_unc_1) {
16344 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
16345 : }
16346 205 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
16347 205 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
16348 205 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
16349 : }
16350 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
16351 229 : if (_ptr_client_account) {
16352 24 : NDR_PULL_ALLOC(ndr, r->in.client_account);
16353 : } else {
16354 205 : r->in.client_account = NULL;
16355 : }
16356 229 : if (r->in.client_account) {
16357 24 : _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
16358 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
16359 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
16360 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
16361 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_account, &size_client_account_1));
16362 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_account, &length_client_account_1));
16363 24 : if (length_client_account_1 > size_client_account_1) {
16364 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
16365 : }
16366 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
16367 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
16368 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
16369 : }
16370 229 : NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
16371 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
16372 229 : if (_ptr_domain_name) {
16373 84 : NDR_PULL_ALLOC(ndr, r->in.domain_name);
16374 : } else {
16375 145 : r->in.domain_name = NULL;
16376 : }
16377 229 : if (r->in.domain_name) {
16378 84 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16379 84 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
16380 84 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
16381 84 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
16382 84 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
16383 84 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
16384 84 : if (length_domain_name_1 > size_domain_name_1) {
16385 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
16386 : }
16387 84 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
16388 84 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
16389 84 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
16390 : }
16391 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
16392 229 : if (_ptr_domain_guid) {
16393 0 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
16394 : } else {
16395 229 : r->in.domain_guid = NULL;
16396 : }
16397 229 : if (r->in.domain_guid) {
16398 0 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
16399 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
16400 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
16401 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
16402 : }
16403 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
16404 229 : if (_ptr_site_name) {
16405 4 : NDR_PULL_ALLOC(ndr, r->in.site_name);
16406 : } else {
16407 225 : r->in.site_name = NULL;
16408 : }
16409 229 : if (r->in.site_name) {
16410 4 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16411 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
16412 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
16413 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
16414 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
16415 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
16416 4 : if (length_site_name_1 > size_site_name_1) {
16417 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
16418 : }
16419 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
16420 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
16421 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
16422 : }
16423 247 : NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
16424 229 : NDR_PULL_ALLOC(ndr, r->out.info);
16425 229 : NDR_ZERO_STRUCTP(r->out.info);
16426 : }
16427 458 : if (flags & NDR_OUT) {
16428 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16429 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16430 229 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16431 157 : NDR_PULL_ALLOC(ndr, r->out.info);
16432 : }
16433 229 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16434 229 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
16435 229 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
16436 229 : if (_ptr_info) {
16437 229 : NDR_PULL_ALLOC(ndr, *r->out.info);
16438 : } else {
16439 0 : *r->out.info = NULL;
16440 : }
16441 229 : if (*r->out.info) {
16442 229 : _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16443 229 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
16444 229 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
16445 229 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
16446 : }
16447 229 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
16448 229 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16449 : }
16450 422 : return NDR_ERR_SUCCESS;
16451 : }
16452 :
16453 48 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
16454 : {
16455 48 : ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
16456 48 : if (r == NULL) { ndr_print_null(ndr); return; }
16457 48 : ndr->depth++;
16458 48 : if (flags & NDR_SET_VALUES) {
16459 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16460 : }
16461 48 : if (flags & NDR_IN) {
16462 0 : ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
16463 0 : ndr->depth++;
16464 0 : ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
16465 0 : ndr->depth++;
16466 0 : if (r->in.server_unc) {
16467 0 : ndr_print_string(ndr, "server_unc", r->in.server_unc);
16468 : }
16469 0 : ndr->depth--;
16470 0 : ndr_print_ptr(ndr, "client_account", r->in.client_account);
16471 0 : ndr->depth++;
16472 0 : if (r->in.client_account) {
16473 0 : ndr_print_string(ndr, "client_account", r->in.client_account);
16474 : }
16475 0 : ndr->depth--;
16476 0 : ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
16477 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
16478 0 : ndr->depth++;
16479 0 : if (r->in.domain_name) {
16480 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
16481 : }
16482 0 : ndr->depth--;
16483 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
16484 0 : ndr->depth++;
16485 0 : if (r->in.domain_guid) {
16486 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
16487 : }
16488 0 : ndr->depth--;
16489 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
16490 0 : ndr->depth++;
16491 0 : if (r->in.site_name) {
16492 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
16493 : }
16494 0 : ndr->depth--;
16495 0 : ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
16496 0 : ndr->depth--;
16497 : }
16498 48 : if (flags & NDR_OUT) {
16499 48 : ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
16500 48 : ndr->depth++;
16501 48 : ndr_print_ptr(ndr, "info", r->out.info);
16502 48 : ndr->depth++;
16503 48 : ndr_print_ptr(ndr, "info", *r->out.info);
16504 48 : ndr->depth++;
16505 48 : if (*r->out.info) {
16506 48 : ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
16507 : }
16508 48 : ndr->depth--;
16509 48 : ndr->depth--;
16510 48 : ndr_print_WERROR(ndr, "result", r->out.result);
16511 48 : ndr->depth--;
16512 : }
16513 48 : ndr->depth--;
16514 : }
16515 :
16516 0 : static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
16517 : {
16518 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16519 0 : if (flags & NDR_IN) {
16520 : }
16521 0 : if (flags & NDR_OUT) {
16522 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16523 : }
16524 0 : return NDR_ERR_SUCCESS;
16525 : }
16526 :
16527 0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
16528 : {
16529 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16530 0 : if (flags & NDR_IN) {
16531 : }
16532 0 : if (flags & NDR_OUT) {
16533 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16534 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16535 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16536 : }
16537 0 : return NDR_ERR_SUCCESS;
16538 : }
16539 :
16540 0 : _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
16541 : {
16542 0 : ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
16543 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16544 0 : ndr->depth++;
16545 0 : if (flags & NDR_SET_VALUES) {
16546 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16547 : }
16548 0 : if (flags & NDR_IN) {
16549 0 : ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
16550 0 : ndr->depth++;
16551 0 : ndr->depth--;
16552 : }
16553 0 : if (flags & NDR_OUT) {
16554 0 : ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
16555 0 : ndr->depth++;
16556 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16557 0 : ndr->depth--;
16558 : }
16559 0 : ndr->depth--;
16560 : }
16561 :
16562 24 : static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
16563 : {
16564 24 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16565 24 : if (flags & NDR_IN) {
16566 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16567 24 : if (r->in.server_name) {
16568 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16569 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16570 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16571 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16572 : }
16573 : }
16574 24 : if (flags & NDR_OUT) {
16575 0 : if (r->out.dom_trust_list == NULL) {
16576 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16577 : }
16578 0 : NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
16579 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16580 : }
16581 20 : return NDR_ERR_SUCCESS;
16582 : }
16583 :
16584 24 : static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
16585 : {
16586 : uint32_t _ptr_server_name;
16587 24 : uint32_t size_server_name_1 = 0;
16588 24 : uint32_t length_server_name_1 = 0;
16589 24 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
16590 24 : TALLOC_CTX *_mem_save_dom_trust_list_0 = NULL;
16591 24 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16592 24 : if (flags & NDR_IN) {
16593 24 : NDR_ZERO_STRUCT(r->out);
16594 :
16595 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16596 24 : if (_ptr_server_name) {
16597 24 : NDR_PULL_ALLOC(ndr, r->in.server_name);
16598 : } else {
16599 0 : r->in.server_name = NULL;
16600 : }
16601 24 : if (r->in.server_name) {
16602 24 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16603 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16604 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16605 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16606 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
16607 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
16608 24 : if (length_server_name_1 > size_server_name_1) {
16609 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16610 : }
16611 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16612 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16613 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16614 : }
16615 24 : NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
16616 24 : NDR_ZERO_STRUCTP(r->out.dom_trust_list);
16617 : }
16618 24 : if (flags & NDR_OUT) {
16619 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16620 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16621 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16622 0 : NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
16623 : }
16624 0 : _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
16625 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
16626 0 : NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
16627 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
16628 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16629 : }
16630 20 : return NDR_ERR_SUCCESS;
16631 : }
16632 :
16633 0 : _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
16634 : {
16635 0 : ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
16636 0 : if (r == NULL) { ndr_print_null(ndr); return; }
16637 0 : ndr->depth++;
16638 0 : if (flags & NDR_SET_VALUES) {
16639 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16640 : }
16641 0 : if (flags & NDR_IN) {
16642 0 : ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
16643 0 : ndr->depth++;
16644 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
16645 0 : ndr->depth++;
16646 0 : if (r->in.server_name) {
16647 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
16648 : }
16649 0 : ndr->depth--;
16650 0 : ndr->depth--;
16651 : }
16652 0 : if (flags & NDR_OUT) {
16653 0 : ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
16654 0 : ndr->depth++;
16655 0 : ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
16656 0 : ndr->depth++;
16657 0 : ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
16658 0 : ndr->depth--;
16659 0 : ndr_print_WERROR(ndr, "result", r->out.result);
16660 0 : ndr->depth--;
16661 : }
16662 0 : ndr->depth--;
16663 : }
16664 :
16665 162 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
16666 : {
16667 : uint32_t cntr_addresses_1;
16668 162 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16669 162 : if (flags & NDR_IN) {
16670 72 : if (r->in.addresses == NULL) {
16671 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16672 : }
16673 72 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16674 72 : if (r->in.server_name) {
16675 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16676 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16677 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16678 72 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16679 : }
16680 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
16681 72 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
16682 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16683 432 : NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
16684 : }
16685 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16686 432 : NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
16687 : }
16688 : }
16689 162 : if (flags & NDR_OUT) {
16690 90 : if (r->out.ctr == NULL) {
16691 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16692 : }
16693 90 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
16694 90 : if (*r->out.ctr) {
16695 90 : NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16696 : }
16697 90 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16698 : }
16699 135 : return NDR_ERR_SUCCESS;
16700 : }
16701 :
16702 144 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
16703 : {
16704 : uint32_t _ptr_server_name;
16705 144 : uint32_t size_server_name_1 = 0;
16706 144 : uint32_t length_server_name_1 = 0;
16707 144 : uint32_t size_addresses_1 = 0;
16708 : uint32_t cntr_addresses_1;
16709 : uint32_t _ptr_ctr;
16710 144 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
16711 144 : TALLOC_CTX *_mem_save_addresses_1 = NULL;
16712 144 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16713 144 : TALLOC_CTX *_mem_save_ctr_1 = NULL;
16714 144 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16715 144 : if (flags & NDR_IN) {
16716 72 : NDR_ZERO_STRUCT(r->out);
16717 :
16718 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16719 72 : if (_ptr_server_name) {
16720 72 : NDR_PULL_ALLOC(ndr, r->in.server_name);
16721 : } else {
16722 0 : r->in.server_name = NULL;
16723 : }
16724 72 : if (r->in.server_name) {
16725 72 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16726 72 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16727 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16728 72 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16729 72 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
16730 72 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
16731 72 : if (length_server_name_1 > size_server_name_1) {
16732 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16733 : }
16734 72 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16735 72 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16736 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16737 : }
16738 72 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
16739 72 : if (r->in.count > 32000) {
16740 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
16741 : }
16742 72 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
16743 72 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.addresses, &size_addresses_1));
16744 72 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16745 72 : NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
16746 : }
16747 72 : _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
16748 72 : NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
16749 504 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16750 432 : NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
16751 : }
16752 492 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16753 432 : NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
16754 : }
16755 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
16756 72 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16757 72 : NDR_ZERO_STRUCTP(r->out.ctr);
16758 72 : if (r->in.addresses) {
16759 72 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
16760 : }
16761 144 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
16762 : }
16763 : }
16764 144 : if (flags & NDR_OUT) {
16765 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16766 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16767 72 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16768 18 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16769 : }
16770 72 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16771 72 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16772 72 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
16773 72 : if (_ptr_ctr) {
16774 72 : NDR_PULL_ALLOC(ndr, *r->out.ctr);
16775 : } else {
16776 0 : *r->out.ctr = NULL;
16777 : }
16778 72 : if (*r->out.ctr) {
16779 72 : _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
16780 72 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
16781 72 : NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16782 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
16783 : }
16784 72 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16785 72 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16786 : }
16787 120 : return NDR_ERR_SUCCESS;
16788 : }
16789 :
16790 36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
16791 : {
16792 : uint32_t cntr_addresses_1;
16793 36 : ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
16794 36 : if (r == NULL) { ndr_print_null(ndr); return; }
16795 36 : ndr->depth++;
16796 36 : if (flags & NDR_SET_VALUES) {
16797 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16798 : }
16799 36 : if (flags & NDR_IN) {
16800 0 : ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
16801 0 : ndr->depth++;
16802 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
16803 0 : ndr->depth++;
16804 0 : if (r->in.server_name) {
16805 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
16806 : }
16807 0 : ndr->depth--;
16808 0 : ndr_print_uint32(ndr, "count", r->in.count);
16809 0 : ndr_print_ptr(ndr, "addresses", r->in.addresses);
16810 0 : ndr->depth++;
16811 0 : ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
16812 0 : ndr->depth++;
16813 0 : for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
16814 0 : ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
16815 : }
16816 0 : ndr->depth--;
16817 0 : ndr->depth--;
16818 0 : ndr->depth--;
16819 : }
16820 36 : if (flags & NDR_OUT) {
16821 36 : ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
16822 36 : ndr->depth++;
16823 36 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16824 36 : ndr->depth++;
16825 36 : ndr_print_ptr(ndr, "ctr", *r->out.ctr);
16826 36 : ndr->depth++;
16827 36 : if (*r->out.ctr) {
16828 36 : ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
16829 : }
16830 36 : ndr->depth--;
16831 36 : ndr->depth--;
16832 36 : ndr_print_WERROR(ndr, "result", r->out.result);
16833 36 : ndr->depth--;
16834 : }
16835 36 : ndr->depth--;
16836 : }
16837 :
16838 64 : static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
16839 : {
16840 64 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16841 64 : if (flags & NDR_IN) {
16842 29 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16843 29 : if (r->in.server_name) {
16844 29 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16845 29 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16846 29 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16847 29 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16848 : }
16849 : }
16850 64 : if (flags & NDR_OUT) {
16851 35 : if (r->out.ctr == NULL) {
16852 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16853 : }
16854 35 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
16855 35 : if (*r->out.ctr) {
16856 35 : NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16857 : }
16858 35 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16859 : }
16860 55 : return NDR_ERR_SUCCESS;
16861 : }
16862 :
16863 58 : static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
16864 : {
16865 : uint32_t _ptr_server_name;
16866 58 : uint32_t size_server_name_1 = 0;
16867 58 : uint32_t length_server_name_1 = 0;
16868 : uint32_t _ptr_ctr;
16869 58 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
16870 58 : TALLOC_CTX *_mem_save_ctr_0 = NULL;
16871 58 : TALLOC_CTX *_mem_save_ctr_1 = NULL;
16872 58 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16873 58 : if (flags & NDR_IN) {
16874 29 : NDR_ZERO_STRUCT(r->out);
16875 :
16876 29 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16877 29 : if (_ptr_server_name) {
16878 29 : NDR_PULL_ALLOC(ndr, r->in.server_name);
16879 : } else {
16880 0 : r->in.server_name = NULL;
16881 : }
16882 29 : if (r->in.server_name) {
16883 29 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16884 29 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16885 29 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16886 29 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16887 29 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
16888 29 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
16889 29 : if (length_server_name_1 > size_server_name_1) {
16890 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16891 : }
16892 29 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16893 29 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16894 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16895 : }
16896 29 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16897 29 : NDR_ZERO_STRUCTP(r->out.ctr);
16898 : }
16899 58 : if (flags & NDR_OUT) {
16900 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
16901 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
16902 29 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16903 11 : NDR_PULL_ALLOC(ndr, r->out.ctr);
16904 : }
16905 29 : _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16906 29 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16907 29 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
16908 29 : if (_ptr_ctr) {
16909 29 : NDR_PULL_ALLOC(ndr, *r->out.ctr);
16910 : } else {
16911 0 : *r->out.ctr = NULL;
16912 : }
16913 29 : if (*r->out.ctr) {
16914 29 : _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
16915 29 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
16916 29 : NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
16917 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
16918 : }
16919 29 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16920 29 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16921 : }
16922 50 : return NDR_ERR_SUCCESS;
16923 : }
16924 :
16925 12 : _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
16926 : {
16927 12 : ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
16928 12 : if (r == NULL) { ndr_print_null(ndr); return; }
16929 12 : ndr->depth++;
16930 12 : if (flags & NDR_SET_VALUES) {
16931 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16932 : }
16933 12 : if (flags & NDR_IN) {
16934 0 : ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
16935 0 : ndr->depth++;
16936 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
16937 0 : ndr->depth++;
16938 0 : if (r->in.server_name) {
16939 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
16940 : }
16941 0 : ndr->depth--;
16942 0 : ndr->depth--;
16943 : }
16944 12 : if (flags & NDR_OUT) {
16945 12 : ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
16946 12 : ndr->depth++;
16947 12 : ndr_print_ptr(ndr, "ctr", r->out.ctr);
16948 12 : ndr->depth++;
16949 12 : ndr_print_ptr(ndr, "ctr", *r->out.ctr);
16950 12 : ndr->depth++;
16951 12 : if (*r->out.ctr) {
16952 12 : ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
16953 : }
16954 12 : ndr->depth--;
16955 12 : ndr->depth--;
16956 12 : ndr_print_WERROR(ndr, "result", r->out.result);
16957 12 : ndr->depth--;
16958 : }
16959 12 : ndr->depth--;
16960 : }
16961 :
16962 13028 : static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
16963 : {
16964 13028 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16965 13028 : if (flags & NDR_IN) {
16966 5863 : if (r->in.logon == NULL) {
16967 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16968 : }
16969 5863 : if (r->in.flags == NULL) {
16970 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16971 : }
16972 5863 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16973 5863 : if (r->in.server_name) {
16974 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16975 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16976 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16977 5863 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16978 : }
16979 5863 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16980 5863 : if (r->in.computer_name) {
16981 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16982 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16983 5863 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16984 5863 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
16985 : }
16986 5863 : NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16987 5863 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16988 5863 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16989 5863 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16990 5863 : NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->in.flags));
16991 : }
16992 13028 : if (flags & NDR_OUT) {
16993 7165 : if (r->out.validation == NULL) {
16994 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16995 : }
16996 7165 : if (r->out.authoritative == NULL) {
16997 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16998 : }
16999 7165 : if (r->out.flags == NULL) {
17000 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17001 : }
17002 7165 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
17003 7165 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
17004 7165 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
17005 7165 : NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->out.flags));
17006 7165 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
17007 : }
17008 12148 : return NDR_ERR_SUCCESS;
17009 : }
17010 :
17011 12548 : static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
17012 : {
17013 : uint32_t _ptr_server_name;
17014 12548 : uint32_t size_server_name_1 = 0;
17015 12548 : uint32_t length_server_name_1 = 0;
17016 : uint32_t _ptr_computer_name;
17017 12548 : uint32_t size_computer_name_1 = 0;
17018 12548 : uint32_t length_computer_name_1 = 0;
17019 12548 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17020 12548 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
17021 12548 : TALLOC_CTX *_mem_save_logon_0 = NULL;
17022 12548 : TALLOC_CTX *_mem_save_validation_0 = NULL;
17023 12548 : TALLOC_CTX *_mem_save_authoritative_0 = NULL;
17024 12548 : TALLOC_CTX *_mem_save_flags_0 = NULL;
17025 12548 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17026 12548 : if (flags & NDR_IN) {
17027 6685 : NDR_ZERO_STRUCT(r->out);
17028 :
17029 6685 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17030 6685 : if (_ptr_server_name) {
17031 6685 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17032 : } else {
17033 0 : r->in.server_name = NULL;
17034 : }
17035 6685 : if (r->in.server_name) {
17036 6685 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17037 6685 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17038 6685 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17039 6685 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17040 6685 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17041 6685 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17042 6685 : if (length_server_name_1 > size_server_name_1) {
17043 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17044 : }
17045 6685 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17046 6685 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17047 6685 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17048 : }
17049 6685 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
17050 6685 : if (_ptr_computer_name) {
17051 6685 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
17052 : } else {
17053 0 : r->in.computer_name = NULL;
17054 : }
17055 6685 : if (r->in.computer_name) {
17056 6685 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17057 6685 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
17058 6685 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
17059 6685 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
17060 6685 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
17061 6685 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
17062 6685 : if (length_computer_name_1 > size_computer_name_1) {
17063 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
17064 : }
17065 6685 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
17066 6685 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
17067 6685 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
17068 : }
17069 6685 : NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
17070 6685 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17071 6685 : NDR_PULL_ALLOC(ndr, r->in.logon);
17072 : }
17073 6685 : _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
17074 6685 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
17075 6685 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
17076 6685 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
17077 6685 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
17078 6685 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
17079 6685 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17080 6685 : NDR_PULL_ALLOC(ndr, r->in.flags);
17081 : }
17082 6685 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
17083 6685 : NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
17084 6685 : NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->in.flags));
17085 6685 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
17086 6685 : NDR_PULL_ALLOC(ndr, r->out.validation);
17087 6685 : NDR_ZERO_STRUCTP(r->out.validation);
17088 6685 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
17089 6685 : NDR_ZERO_STRUCTP(r->out.authoritative);
17090 6685 : NDR_PULL_ALLOC(ndr, r->out.flags);
17091 6685 : *r->out.flags = *r->in.flags;
17092 : }
17093 12548 : if (flags & NDR_OUT) {
17094 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17095 : if (r->in.logon == NULL) {
17096 : NDR_PULL_ALLOC(ndr, r->in.logon);
17097 : NDR_ZERO_STRUCTP(r->in.logon);
17098 : }
17099 : if (r->in.flags == NULL) {
17100 : NDR_PULL_ALLOC(ndr, r->in.flags);
17101 : NDR_ZERO_STRUCTP(r->in.flags);
17102 : }
17103 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17104 5863 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17105 519 : NDR_PULL_ALLOC(ndr, r->out.validation);
17106 : }
17107 5863 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
17108 5863 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
17109 5863 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
17110 5863 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
17111 5863 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
17112 5863 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17113 519 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
17114 : }
17115 5863 : _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
17116 5863 : NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
17117 5863 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
17118 5863 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
17119 5863 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17120 519 : NDR_PULL_ALLOC(ndr, r->out.flags);
17121 : }
17122 5863 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
17123 5863 : NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
17124 5863 : NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->out.flags));
17125 5863 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
17126 5863 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
17127 : }
17128 11748 : return NDR_ERR_SUCCESS;
17129 : }
17130 :
17131 960 : _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
17132 : {
17133 960 : ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
17134 960 : if (r == NULL) { ndr_print_null(ndr); return; }
17135 960 : ndr->depth++;
17136 960 : if (flags & NDR_SET_VALUES) {
17137 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17138 : }
17139 960 : if (flags & NDR_IN) {
17140 0 : ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
17141 0 : ndr->depth++;
17142 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
17143 0 : ndr->depth++;
17144 0 : if (r->in.server_name) {
17145 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
17146 : }
17147 0 : ndr->depth--;
17148 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
17149 0 : ndr->depth++;
17150 0 : if (r->in.computer_name) {
17151 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
17152 : }
17153 0 : ndr->depth--;
17154 0 : ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
17155 0 : ndr_print_ptr(ndr, "logon", r->in.logon);
17156 0 : ndr->depth++;
17157 0 : ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
17158 0 : ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
17159 0 : ndr->depth--;
17160 0 : ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
17161 0 : ndr_print_ptr(ndr, "flags", r->in.flags);
17162 0 : ndr->depth++;
17163 0 : ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->in.flags);
17164 0 : ndr->depth--;
17165 0 : ndr->depth--;
17166 : }
17167 960 : if (flags & NDR_OUT) {
17168 960 : ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
17169 960 : ndr->depth++;
17170 960 : ndr_print_ptr(ndr, "validation", r->out.validation);
17171 960 : ndr->depth++;
17172 960 : ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
17173 960 : ndr_print_netr_Validation(ndr, "validation", r->out.validation);
17174 960 : ndr->depth--;
17175 960 : ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
17176 960 : ndr->depth++;
17177 960 : ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
17178 960 : ndr->depth--;
17179 960 : ndr_print_ptr(ndr, "flags", r->out.flags);
17180 960 : ndr->depth++;
17181 960 : ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->out.flags);
17182 960 : ndr->depth--;
17183 960 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
17184 960 : ndr->depth--;
17185 : }
17186 960 : ndr->depth--;
17187 : }
17188 :
17189 110 : static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
17190 : {
17191 110 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17192 110 : if (flags & NDR_IN) {
17193 50 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
17194 50 : if (r->in.server_name) {
17195 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17196 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17197 50 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17198 50 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17199 : }
17200 50 : NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
17201 : }
17202 110 : if (flags & NDR_OUT) {
17203 60 : if (r->out.trusts == NULL) {
17204 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17205 : }
17206 60 : NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
17207 60 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17208 : }
17209 101 : return NDR_ERR_SUCCESS;
17210 : }
17211 :
17212 104 : static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
17213 : {
17214 : uint32_t _ptr_server_name;
17215 104 : uint32_t size_server_name_1 = 0;
17216 104 : uint32_t length_server_name_1 = 0;
17217 104 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17218 104 : TALLOC_CTX *_mem_save_trusts_0 = NULL;
17219 104 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17220 104 : if (flags & NDR_IN) {
17221 54 : NDR_ZERO_STRUCT(r->out);
17222 :
17223 54 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17224 54 : if (_ptr_server_name) {
17225 54 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17226 : } else {
17227 0 : r->in.server_name = NULL;
17228 : }
17229 54 : if (r->in.server_name) {
17230 54 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17231 54 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17232 54 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17233 54 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17234 54 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17235 54 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17236 54 : if (length_server_name_1 > size_server_name_1) {
17237 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17238 : }
17239 54 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17240 54 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17241 54 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17242 : }
17243 54 : NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
17244 54 : NDR_PULL_ALLOC(ndr, r->out.trusts);
17245 54 : NDR_ZERO_STRUCTP(r->out.trusts);
17246 : }
17247 104 : if (flags & NDR_OUT) {
17248 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17249 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17250 50 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17251 32 : NDR_PULL_ALLOC(ndr, r->out.trusts);
17252 : }
17253 50 : _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
17254 50 : NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
17255 50 : NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
17256 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
17257 50 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17258 : }
17259 96 : return NDR_ERR_SUCCESS;
17260 : }
17261 :
17262 12 : _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
17263 : {
17264 12 : ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
17265 12 : if (r == NULL) { ndr_print_null(ndr); return; }
17266 12 : ndr->depth++;
17267 12 : if (flags & NDR_SET_VALUES) {
17268 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17269 : }
17270 12 : if (flags & NDR_IN) {
17271 0 : ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
17272 0 : ndr->depth++;
17273 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
17274 0 : ndr->depth++;
17275 0 : if (r->in.server_name) {
17276 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
17277 : }
17278 0 : ndr->depth--;
17279 0 : ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
17280 0 : ndr->depth--;
17281 : }
17282 12 : if (flags & NDR_OUT) {
17283 12 : ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
17284 12 : ndr->depth++;
17285 12 : ndr_print_ptr(ndr, "trusts", r->out.trusts);
17286 12 : ndr->depth++;
17287 12 : ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
17288 12 : ndr->depth--;
17289 12 : ndr_print_WERROR(ndr, "result", r->out.result);
17290 12 : ndr->depth--;
17291 : }
17292 12 : ndr->depth--;
17293 : }
17294 :
17295 0 : static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
17296 : {
17297 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17298 0 : if (flags & NDR_IN) {
17299 0 : if (r->in.dns_host == NULL) {
17300 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17301 : }
17302 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
17303 0 : if (r->in.server_name) {
17304 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17305 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17306 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17307 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17308 : }
17309 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
17310 0 : if (r->in.domain) {
17311 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
17312 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17313 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
17314 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17315 : }
17316 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
17317 0 : if (r->in.domain_guid) {
17318 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
17319 : }
17320 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
17321 0 : if (r->in.dsa_guid) {
17322 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
17323 : }
17324 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
17325 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17326 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
17327 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_host, ndr_charset_length(r->in.dns_host, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17328 : }
17329 0 : if (flags & NDR_OUT) {
17330 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17331 : }
17332 0 : return NDR_ERR_SUCCESS;
17333 : }
17334 :
17335 0 : static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
17336 : {
17337 : uint32_t _ptr_server_name;
17338 0 : uint32_t size_server_name_1 = 0;
17339 0 : uint32_t length_server_name_1 = 0;
17340 : uint32_t _ptr_domain;
17341 0 : uint32_t size_domain_1 = 0;
17342 0 : uint32_t length_domain_1 = 0;
17343 : uint32_t _ptr_domain_guid;
17344 : uint32_t _ptr_dsa_guid;
17345 0 : uint32_t size_dns_host_1 = 0;
17346 0 : uint32_t length_dns_host_1 = 0;
17347 0 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17348 0 : TALLOC_CTX *_mem_save_domain_0 = NULL;
17349 0 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
17350 0 : TALLOC_CTX *_mem_save_dsa_guid_0 = NULL;
17351 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17352 0 : if (flags & NDR_IN) {
17353 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17354 0 : if (_ptr_server_name) {
17355 0 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17356 : } else {
17357 0 : r->in.server_name = NULL;
17358 : }
17359 0 : if (r->in.server_name) {
17360 0 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17361 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17362 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17363 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17364 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17365 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17366 0 : if (length_server_name_1 > size_server_name_1) {
17367 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17368 : }
17369 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17370 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17371 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17372 : }
17373 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
17374 0 : if (_ptr_domain) {
17375 0 : NDR_PULL_ALLOC(ndr, r->in.domain);
17376 : } else {
17377 0 : r->in.domain = NULL;
17378 : }
17379 0 : if (r->in.domain) {
17380 0 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
17381 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
17382 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
17383 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
17384 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
17385 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
17386 0 : if (length_domain_1 > size_domain_1) {
17387 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
17388 : }
17389 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
17390 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
17391 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
17392 : }
17393 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
17394 0 : if (_ptr_domain_guid) {
17395 0 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
17396 : } else {
17397 0 : r->in.domain_guid = NULL;
17398 : }
17399 0 : if (r->in.domain_guid) {
17400 0 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
17401 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
17402 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
17403 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
17404 : }
17405 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
17406 0 : if (_ptr_dsa_guid) {
17407 0 : NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
17408 : } else {
17409 0 : r->in.dsa_guid = NULL;
17410 : }
17411 0 : if (r->in.dsa_guid) {
17412 0 : _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
17413 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
17414 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
17415 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
17416 : }
17417 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
17418 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
17419 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dns_host, &size_dns_host_1));
17420 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dns_host, &length_dns_host_1));
17421 0 : if (length_dns_host_1 > size_dns_host_1) {
17422 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_host_1, length_dns_host_1);
17423 : }
17424 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_host_1, sizeof(uint16_t)));
17425 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, length_dns_host_1, sizeof(uint16_t), CH_UTF16));
17426 : }
17427 0 : if (flags & NDR_OUT) {
17428 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17429 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17430 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17431 : }
17432 0 : return NDR_ERR_SUCCESS;
17433 : }
17434 :
17435 0 : _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
17436 : {
17437 0 : ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
17438 0 : if (r == NULL) { ndr_print_null(ndr); return; }
17439 0 : ndr->depth++;
17440 0 : if (flags & NDR_SET_VALUES) {
17441 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17442 : }
17443 0 : if (flags & NDR_IN) {
17444 0 : ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
17445 0 : ndr->depth++;
17446 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
17447 0 : ndr->depth++;
17448 0 : if (r->in.server_name) {
17449 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
17450 : }
17451 0 : ndr->depth--;
17452 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
17453 0 : ndr->depth++;
17454 0 : if (r->in.domain) {
17455 0 : ndr_print_string(ndr, "domain", r->in.domain);
17456 : }
17457 0 : ndr->depth--;
17458 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
17459 0 : ndr->depth++;
17460 0 : if (r->in.domain_guid) {
17461 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
17462 : }
17463 0 : ndr->depth--;
17464 0 : ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
17465 0 : ndr->depth++;
17466 0 : if (r->in.dsa_guid) {
17467 0 : ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
17468 : }
17469 0 : ndr->depth--;
17470 0 : ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
17471 0 : ndr->depth++;
17472 0 : ndr_print_string(ndr, "dns_host", r->in.dns_host);
17473 0 : ndr->depth--;
17474 0 : ndr->depth--;
17475 : }
17476 0 : if (flags & NDR_OUT) {
17477 0 : ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
17478 0 : ndr->depth++;
17479 0 : ndr_print_WERROR(ndr, "result", r->out.result);
17480 0 : ndr->depth--;
17481 : }
17482 0 : ndr->depth--;
17483 : }
17484 :
17485 54 : static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
17486 : {
17487 54 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17488 54 : if (flags & NDR_IN) {
17489 24 : if (r->in.account_name == NULL) {
17490 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17491 : }
17492 24 : if (r->in.computer_name == NULL) {
17493 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17494 : }
17495 24 : if (r->in.credential == NULL) {
17496 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17497 : }
17498 24 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
17499 24 : if (r->in.server_name) {
17500 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17501 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17502 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17503 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17504 : }
17505 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
17506 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17507 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
17508 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17509 24 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
17510 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
17511 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17512 24 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
17513 24 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17514 24 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
17515 : }
17516 54 : if (flags & NDR_OUT) {
17517 30 : if (r->out.return_authenticator == NULL) {
17518 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17519 : }
17520 30 : if (r->out.new_owf_password == NULL) {
17521 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17522 : }
17523 30 : if (r->out.old_owf_password == NULL) {
17524 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17525 : }
17526 30 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
17527 30 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
17528 30 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
17529 30 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
17530 : }
17531 45 : return NDR_ERR_SUCCESS;
17532 : }
17533 :
17534 48 : static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
17535 : {
17536 : uint32_t _ptr_server_name;
17537 48 : uint32_t size_server_name_1 = 0;
17538 48 : uint32_t length_server_name_1 = 0;
17539 48 : uint32_t size_account_name_1 = 0;
17540 48 : uint32_t length_account_name_1 = 0;
17541 48 : uint32_t size_computer_name_1 = 0;
17542 48 : uint32_t length_computer_name_1 = 0;
17543 48 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17544 48 : TALLOC_CTX *_mem_save_credential_0 = NULL;
17545 48 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
17546 48 : TALLOC_CTX *_mem_save_new_owf_password_0 = NULL;
17547 48 : TALLOC_CTX *_mem_save_old_owf_password_0 = NULL;
17548 48 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17549 48 : if (flags & NDR_IN) {
17550 24 : NDR_ZERO_STRUCT(r->out);
17551 :
17552 24 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17553 24 : if (_ptr_server_name) {
17554 24 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17555 : } else {
17556 0 : r->in.server_name = NULL;
17557 : }
17558 24 : if (r->in.server_name) {
17559 24 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17560 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17561 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17562 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17563 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17564 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17565 24 : if (length_server_name_1 > size_server_name_1) {
17566 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17567 : }
17568 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17569 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17570 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17571 : }
17572 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
17573 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
17574 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
17575 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
17576 24 : if (length_account_name_1 > size_account_name_1) {
17577 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
17578 : }
17579 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
17580 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
17581 24 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
17582 24 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
17583 24 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
17584 24 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
17585 24 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
17586 24 : if (length_computer_name_1 > size_computer_name_1) {
17587 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
17588 : }
17589 24 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
17590 24 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
17591 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17592 24 : NDR_PULL_ALLOC(ndr, r->in.credential);
17593 : }
17594 24 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
17595 24 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
17596 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
17597 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
17598 24 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
17599 24 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
17600 24 : NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
17601 24 : NDR_ZERO_STRUCTP(r->out.new_owf_password);
17602 24 : NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
17603 24 : NDR_ZERO_STRUCTP(r->out.old_owf_password);
17604 : }
17605 48 : if (flags & NDR_OUT) {
17606 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17607 : if (r->in.credential == NULL) {
17608 : NDR_PULL_ALLOC(ndr, r->in.credential);
17609 : NDR_ZERO_STRUCTP(r->in.credential);
17610 : }
17611 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17612 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17613 6 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
17614 : }
17615 24 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
17616 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
17617 24 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
17618 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
17619 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17620 6 : NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
17621 : }
17622 24 : _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
17623 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
17624 24 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
17625 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
17626 24 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17627 6 : NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
17628 : }
17629 24 : _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
17630 24 : NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
17631 24 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
17632 24 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
17633 24 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
17634 : }
17635 40 : return NDR_ERR_SUCCESS;
17636 : }
17637 :
17638 12 : _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
17639 : {
17640 12 : ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
17641 12 : if (r == NULL) { ndr_print_null(ndr); return; }
17642 12 : ndr->depth++;
17643 12 : if (flags & NDR_SET_VALUES) {
17644 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17645 : }
17646 12 : if (flags & NDR_IN) {
17647 0 : ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
17648 0 : ndr->depth++;
17649 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
17650 0 : ndr->depth++;
17651 0 : if (r->in.server_name) {
17652 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
17653 : }
17654 0 : ndr->depth--;
17655 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
17656 0 : ndr->depth++;
17657 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
17658 0 : ndr->depth--;
17659 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
17660 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
17661 0 : ndr->depth++;
17662 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
17663 0 : ndr->depth--;
17664 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
17665 0 : ndr->depth++;
17666 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
17667 0 : ndr->depth--;
17668 0 : ndr->depth--;
17669 : }
17670 12 : if (flags & NDR_OUT) {
17671 12 : ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
17672 12 : ndr->depth++;
17673 12 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
17674 12 : ndr->depth++;
17675 12 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
17676 12 : ndr->depth--;
17677 12 : ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
17678 12 : ndr->depth++;
17679 12 : ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
17680 12 : ndr->depth--;
17681 12 : ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
17682 12 : ndr->depth++;
17683 12 : ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
17684 12 : ndr->depth--;
17685 12 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
17686 12 : ndr->depth--;
17687 : }
17688 12 : ndr->depth--;
17689 : }
17690 :
17691 370 : static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
17692 : {
17693 370 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17694 370 : if (flags & NDR_IN) {
17695 182 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
17696 182 : if (r->in.server_name) {
17697 182 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17698 182 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17699 182 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17700 182 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17701 : }
17702 182 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
17703 182 : if (r->in.trusted_domain_name) {
17704 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
17705 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17706 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
17707 20 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.trusted_domain_name, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17708 : }
17709 182 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
17710 : }
17711 370 : if (flags & NDR_OUT) {
17712 188 : if (r->out.forest_trust_info == NULL) {
17713 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17714 : }
17715 188 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
17716 188 : if (*r->out.forest_trust_info) {
17717 184 : NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
17718 : }
17719 188 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
17720 : }
17721 353 : return NDR_ERR_SUCCESS;
17722 : }
17723 :
17724 364 : static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
17725 : {
17726 : uint32_t _ptr_server_name;
17727 364 : uint32_t size_server_name_1 = 0;
17728 364 : uint32_t length_server_name_1 = 0;
17729 : uint32_t _ptr_trusted_domain_name;
17730 364 : uint32_t size_trusted_domain_name_1 = 0;
17731 364 : uint32_t length_trusted_domain_name_1 = 0;
17732 : uint32_t _ptr_forest_trust_info;
17733 364 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17734 364 : TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
17735 364 : TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
17736 364 : TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
17737 364 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17738 364 : if (flags & NDR_IN) {
17739 182 : NDR_ZERO_STRUCT(r->out);
17740 :
17741 182 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17742 182 : if (_ptr_server_name) {
17743 182 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17744 : } else {
17745 0 : r->in.server_name = NULL;
17746 : }
17747 182 : if (r->in.server_name) {
17748 182 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17749 182 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17750 182 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17751 182 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17752 182 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17753 182 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17754 182 : if (length_server_name_1 > size_server_name_1) {
17755 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17756 : }
17757 182 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17758 182 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17759 182 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17760 : }
17761 182 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
17762 182 : if (_ptr_trusted_domain_name) {
17763 20 : NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
17764 : } else {
17765 162 : r->in.trusted_domain_name = NULL;
17766 : }
17767 182 : if (r->in.trusted_domain_name) {
17768 20 : _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17769 20 : NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
17770 20 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
17771 20 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
17772 20 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.trusted_domain_name, &size_trusted_domain_name_1));
17773 20 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.trusted_domain_name, &length_trusted_domain_name_1));
17774 20 : if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
17775 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
17776 : }
17777 20 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
17778 20 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
17779 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
17780 : }
17781 182 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
17782 182 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
17783 182 : NDR_ZERO_STRUCTP(r->out.forest_trust_info);
17784 : }
17785 364 : if (flags & NDR_OUT) {
17786 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17787 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17788 182 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17789 164 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
17790 : }
17791 182 : _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
17792 182 : NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
17793 182 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
17794 182 : if (_ptr_forest_trust_info) {
17795 178 : NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
17796 : } else {
17797 4 : *r->out.forest_trust_info = NULL;
17798 : }
17799 182 : if (*r->out.forest_trust_info) {
17800 178 : _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
17801 178 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
17802 178 : NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
17803 178 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
17804 : }
17805 182 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
17806 182 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
17807 : }
17808 348 : return NDR_ERR_SUCCESS;
17809 : }
17810 :
17811 12 : _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
17812 : {
17813 12 : ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
17814 12 : if (r == NULL) { ndr_print_null(ndr); return; }
17815 12 : ndr->depth++;
17816 12 : if (flags & NDR_SET_VALUES) {
17817 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17818 : }
17819 12 : if (flags & NDR_IN) {
17820 0 : ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
17821 0 : ndr->depth++;
17822 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
17823 0 : ndr->depth++;
17824 0 : if (r->in.server_name) {
17825 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
17826 : }
17827 0 : ndr->depth--;
17828 0 : ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
17829 0 : ndr->depth++;
17830 0 : if (r->in.trusted_domain_name) {
17831 0 : ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
17832 : }
17833 0 : ndr->depth--;
17834 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
17835 0 : ndr->depth--;
17836 : }
17837 12 : if (flags & NDR_OUT) {
17838 12 : ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
17839 12 : ndr->depth++;
17840 12 : ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
17841 12 : ndr->depth++;
17842 12 : ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
17843 12 : ndr->depth++;
17844 12 : if (*r->out.forest_trust_info) {
17845 12 : ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
17846 : }
17847 12 : ndr->depth--;
17848 12 : ndr->depth--;
17849 12 : ndr_print_WERROR(ndr, "result", r->out.result);
17850 12 : ndr->depth--;
17851 : }
17852 12 : ndr->depth--;
17853 : }
17854 :
17855 83 : static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
17856 : {
17857 83 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
17858 83 : if (flags & NDR_IN) {
17859 28 : if (r->in.computer_name == NULL) {
17860 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17861 : }
17862 28 : if (r->in.credential == NULL) {
17863 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17864 : }
17865 28 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
17866 28 : if (r->in.server_name) {
17867 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17868 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17869 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
17870 28 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17871 : }
17872 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
17873 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
17874 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
17875 28 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
17876 28 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
17877 28 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
17878 : }
17879 83 : if (flags & NDR_OUT) {
17880 55 : if (r->out.return_authenticator == NULL) {
17881 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17882 : }
17883 55 : if (r->out.forest_trust_info == NULL) {
17884 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
17885 : }
17886 55 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
17887 55 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
17888 55 : if (*r->out.forest_trust_info) {
17889 25 : NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
17890 : }
17891 55 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
17892 : }
17893 74 : return NDR_ERR_SUCCESS;
17894 : }
17895 :
17896 76 : static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
17897 : {
17898 : uint32_t _ptr_server_name;
17899 76 : uint32_t size_server_name_1 = 0;
17900 76 : uint32_t length_server_name_1 = 0;
17901 76 : uint32_t size_computer_name_1 = 0;
17902 76 : uint32_t length_computer_name_1 = 0;
17903 : uint32_t _ptr_forest_trust_info;
17904 76 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
17905 76 : TALLOC_CTX *_mem_save_credential_0 = NULL;
17906 76 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
17907 76 : TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
17908 76 : TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
17909 76 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
17910 76 : if (flags & NDR_IN) {
17911 48 : NDR_ZERO_STRUCT(r->out);
17912 :
17913 48 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
17914 48 : if (_ptr_server_name) {
17915 48 : NDR_PULL_ALLOC(ndr, r->in.server_name);
17916 : } else {
17917 0 : r->in.server_name = NULL;
17918 : }
17919 48 : if (r->in.server_name) {
17920 48 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
17921 48 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
17922 48 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
17923 48 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
17924 48 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
17925 48 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
17926 48 : if (length_server_name_1 > size_server_name_1) {
17927 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
17928 : }
17929 48 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
17930 48 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
17931 48 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
17932 : }
17933 48 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
17934 48 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
17935 48 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
17936 48 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
17937 48 : if (length_computer_name_1 > size_computer_name_1) {
17938 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
17939 : }
17940 48 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
17941 48 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
17942 48 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17943 48 : NDR_PULL_ALLOC(ndr, r->in.credential);
17944 : }
17945 48 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
17946 48 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
17947 48 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
17948 48 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
17949 48 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
17950 48 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
17951 48 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
17952 48 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
17953 48 : NDR_ZERO_STRUCTP(r->out.forest_trust_info);
17954 : }
17955 76 : if (flags & NDR_OUT) {
17956 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
17957 : if (r->in.credential == NULL) {
17958 : NDR_PULL_ALLOC(ndr, r->in.credential);
17959 : NDR_ZERO_STRUCTP(r->in.credential);
17960 : }
17961 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
17962 28 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17963 7 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
17964 : }
17965 28 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
17966 28 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
17967 28 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
17968 28 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
17969 28 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
17970 7 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
17971 : }
17972 28 : _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
17973 28 : NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
17974 28 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
17975 28 : if (_ptr_forest_trust_info) {
17976 4 : NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
17977 : } else {
17978 24 : *r->out.forest_trust_info = NULL;
17979 : }
17980 28 : if (*r->out.forest_trust_info) {
17981 4 : _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
17982 4 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
17983 4 : NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
17984 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
17985 : }
17986 28 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
17987 28 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
17988 : }
17989 68 : return NDR_ERR_SUCCESS;
17990 : }
17991 :
17992 14 : _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
17993 : {
17994 14 : ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
17995 14 : if (r == NULL) { ndr_print_null(ndr); return; }
17996 14 : ndr->depth++;
17997 14 : if (flags & NDR_SET_VALUES) {
17998 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
17999 : }
18000 14 : if (flags & NDR_IN) {
18001 0 : ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
18002 0 : ndr->depth++;
18003 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
18004 0 : ndr->depth++;
18005 0 : if (r->in.server_name) {
18006 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
18007 : }
18008 0 : ndr->depth--;
18009 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
18010 0 : ndr->depth++;
18011 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
18012 0 : ndr->depth--;
18013 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
18014 0 : ndr->depth++;
18015 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
18016 0 : ndr->depth--;
18017 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
18018 0 : ndr->depth--;
18019 : }
18020 14 : if (flags & NDR_OUT) {
18021 14 : ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
18022 14 : ndr->depth++;
18023 14 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
18024 14 : ndr->depth++;
18025 14 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
18026 14 : ndr->depth--;
18027 14 : ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
18028 14 : ndr->depth++;
18029 14 : ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
18030 14 : ndr->depth++;
18031 14 : if (*r->out.forest_trust_info) {
18032 2 : ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
18033 : }
18034 14 : ndr->depth--;
18035 14 : ndr->depth--;
18036 14 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
18037 14 : ndr->depth--;
18038 : }
18039 14 : ndr->depth--;
18040 : }
18041 :
18042 4162 : static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
18043 : {
18044 4162 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
18045 4162 : if (flags & NDR_IN) {
18046 2081 : if (r->in.logon == NULL) {
18047 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18048 : }
18049 2081 : if (r->in.flags == NULL) {
18050 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18051 : }
18052 2081 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
18053 2081 : if (r->in.server_name) {
18054 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18055 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18056 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18057 2081 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18058 : }
18059 2081 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
18060 2081 : if (r->in.computer_name) {
18061 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18062 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18063 2081 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18064 2081 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18065 : }
18066 2081 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
18067 2081 : if (r->in.credential) {
18068 2081 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18069 : }
18070 2081 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
18071 2081 : if (r->in.return_authenticator) {
18072 2081 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
18073 : }
18074 2081 : NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
18075 2081 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
18076 2081 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
18077 2081 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
18078 2081 : NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->in.flags));
18079 : }
18080 4162 : if (flags & NDR_OUT) {
18081 2081 : if (r->out.validation == NULL) {
18082 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18083 : }
18084 2081 : if (r->out.authoritative == NULL) {
18085 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18086 : }
18087 2081 : if (r->out.flags == NULL) {
18088 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18089 : }
18090 2081 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
18091 2081 : if (r->out.return_authenticator) {
18092 2081 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18093 : }
18094 2081 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
18095 2081 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
18096 2081 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
18097 2081 : NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->out.flags));
18098 2081 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
18099 : }
18100 4162 : return NDR_ERR_SUCCESS;
18101 : }
18102 :
18103 4162 : static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
18104 : {
18105 : uint32_t _ptr_server_name;
18106 4162 : uint32_t size_server_name_1 = 0;
18107 4162 : uint32_t length_server_name_1 = 0;
18108 : uint32_t _ptr_computer_name;
18109 4162 : uint32_t size_computer_name_1 = 0;
18110 4162 : uint32_t length_computer_name_1 = 0;
18111 : uint32_t _ptr_credential;
18112 : uint32_t _ptr_return_authenticator;
18113 4162 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
18114 4162 : TALLOC_CTX *_mem_save_computer_name_0 = NULL;
18115 4162 : TALLOC_CTX *_mem_save_credential_0 = NULL;
18116 4162 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
18117 4162 : TALLOC_CTX *_mem_save_logon_0 = NULL;
18118 4162 : TALLOC_CTX *_mem_save_validation_0 = NULL;
18119 4162 : TALLOC_CTX *_mem_save_authoritative_0 = NULL;
18120 4162 : TALLOC_CTX *_mem_save_flags_0 = NULL;
18121 4162 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
18122 4162 : if (flags & NDR_IN) {
18123 2081 : NDR_ZERO_STRUCT(r->out);
18124 :
18125 2081 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
18126 2081 : if (_ptr_server_name) {
18127 2081 : NDR_PULL_ALLOC(ndr, r->in.server_name);
18128 : } else {
18129 0 : r->in.server_name = NULL;
18130 : }
18131 2081 : if (r->in.server_name) {
18132 2081 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18133 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
18134 2081 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
18135 2081 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
18136 2081 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
18137 2081 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
18138 2081 : if (length_server_name_1 > size_server_name_1) {
18139 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
18140 : }
18141 2081 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
18142 2081 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
18143 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
18144 : }
18145 2081 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
18146 2081 : if (_ptr_computer_name) {
18147 2081 : NDR_PULL_ALLOC(ndr, r->in.computer_name);
18148 : } else {
18149 0 : r->in.computer_name = NULL;
18150 : }
18151 2081 : if (r->in.computer_name) {
18152 2081 : _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18153 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
18154 2081 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
18155 2081 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
18156 2081 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
18157 2081 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
18158 2081 : if (length_computer_name_1 > size_computer_name_1) {
18159 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
18160 : }
18161 2081 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
18162 2081 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
18163 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
18164 : }
18165 2081 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
18166 2081 : if (_ptr_credential) {
18167 2081 : NDR_PULL_ALLOC(ndr, r->in.credential);
18168 : } else {
18169 0 : r->in.credential = NULL;
18170 : }
18171 2081 : if (r->in.credential) {
18172 2081 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
18173 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
18174 2081 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18175 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
18176 : }
18177 2081 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
18178 2081 : if (_ptr_return_authenticator) {
18179 2081 : NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
18180 : } else {
18181 0 : r->in.return_authenticator = NULL;
18182 : }
18183 2081 : if (r->in.return_authenticator) {
18184 2081 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
18185 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
18186 2081 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
18187 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
18188 : }
18189 2081 : NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
18190 2081 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18191 2081 : NDR_PULL_ALLOC(ndr, r->in.logon);
18192 : }
18193 2081 : _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
18194 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
18195 2081 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
18196 2081 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
18197 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
18198 2081 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
18199 2081 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18200 2081 : NDR_PULL_ALLOC(ndr, r->in.flags);
18201 : }
18202 2081 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
18203 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
18204 2081 : NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->in.flags));
18205 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
18206 2081 : NDR_PULL_ALLOC(ndr, r->out.validation);
18207 2081 : NDR_ZERO_STRUCTP(r->out.validation);
18208 2081 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
18209 2081 : NDR_ZERO_STRUCTP(r->out.authoritative);
18210 2081 : NDR_PULL_ALLOC(ndr, r->out.flags);
18211 2081 : *r->out.flags = *r->in.flags;
18212 : }
18213 4162 : if (flags & NDR_OUT) {
18214 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
18215 : if (r->in.logon == NULL) {
18216 : NDR_PULL_ALLOC(ndr, r->in.logon);
18217 : NDR_ZERO_STRUCTP(r->in.logon);
18218 : }
18219 : if (r->in.flags == NULL) {
18220 : NDR_PULL_ALLOC(ndr, r->in.flags);
18221 : NDR_ZERO_STRUCTP(r->in.flags);
18222 : }
18223 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
18224 2081 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
18225 2081 : if (_ptr_return_authenticator) {
18226 2081 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
18227 : } else {
18228 0 : r->out.return_authenticator = NULL;
18229 : }
18230 2081 : if (r->out.return_authenticator) {
18231 2081 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
18232 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
18233 2081 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18234 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
18235 : }
18236 2081 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18237 22 : NDR_PULL_ALLOC(ndr, r->out.validation);
18238 : }
18239 2081 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
18240 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
18241 2081 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
18242 2081 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
18243 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
18244 2081 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18245 22 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
18246 : }
18247 2081 : _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
18248 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
18249 2081 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
18250 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
18251 2081 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18252 22 : NDR_PULL_ALLOC(ndr, r->out.flags);
18253 : }
18254 2081 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
18255 2081 : NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
18256 2081 : NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->out.flags));
18257 2081 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
18258 2081 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
18259 : }
18260 4162 : return NDR_ERR_SUCCESS;
18261 : }
18262 :
18263 0 : _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
18264 : {
18265 0 : ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
18266 0 : if (r == NULL) { ndr_print_null(ndr); return; }
18267 0 : ndr->depth++;
18268 0 : if (flags & NDR_SET_VALUES) {
18269 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
18270 : }
18271 0 : if (flags & NDR_IN) {
18272 0 : ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
18273 0 : ndr->depth++;
18274 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
18275 0 : ndr->depth++;
18276 0 : if (r->in.server_name) {
18277 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
18278 : }
18279 0 : ndr->depth--;
18280 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
18281 0 : ndr->depth++;
18282 0 : if (r->in.computer_name) {
18283 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
18284 : }
18285 0 : ndr->depth--;
18286 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
18287 0 : ndr->depth++;
18288 0 : if (r->in.credential) {
18289 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
18290 : }
18291 0 : ndr->depth--;
18292 0 : ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
18293 0 : ndr->depth++;
18294 0 : if (r->in.return_authenticator) {
18295 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
18296 : }
18297 0 : ndr->depth--;
18298 0 : ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
18299 0 : ndr_print_ptr(ndr, "logon", r->in.logon);
18300 0 : ndr->depth++;
18301 0 : ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
18302 0 : ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
18303 0 : ndr->depth--;
18304 0 : ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
18305 0 : ndr_print_ptr(ndr, "flags", r->in.flags);
18306 0 : ndr->depth++;
18307 0 : ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->in.flags);
18308 0 : ndr->depth--;
18309 0 : ndr->depth--;
18310 : }
18311 0 : if (flags & NDR_OUT) {
18312 0 : ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
18313 0 : ndr->depth++;
18314 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
18315 0 : ndr->depth++;
18316 0 : if (r->out.return_authenticator) {
18317 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
18318 : }
18319 0 : ndr->depth--;
18320 0 : ndr_print_ptr(ndr, "validation", r->out.validation);
18321 0 : ndr->depth++;
18322 0 : ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
18323 0 : ndr_print_netr_Validation(ndr, "validation", r->out.validation);
18324 0 : ndr->depth--;
18325 0 : ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
18326 0 : ndr->depth++;
18327 0 : ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
18328 0 : ndr->depth--;
18329 0 : ndr_print_ptr(ndr, "flags", r->out.flags);
18330 0 : ndr->depth++;
18331 0 : ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->out.flags);
18332 0 : ndr->depth--;
18333 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
18334 0 : ndr->depth--;
18335 : }
18336 0 : ndr->depth--;
18337 : }
18338 :
18339 164 : static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
18340 : {
18341 164 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
18342 164 : if (flags & NDR_IN) {
18343 52 : if (r->in.account_name == NULL) {
18344 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18345 : }
18346 52 : if (r->in.computer_name == NULL) {
18347 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18348 : }
18349 52 : if (r->in.credential == NULL) {
18350 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18351 : }
18352 52 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
18353 52 : if (r->in.server_name) {
18354 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18355 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18356 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18357 52 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18358 : }
18359 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
18360 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18361 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
18362 52 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18363 52 : NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
18364 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18365 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18366 52 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18367 52 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18368 52 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18369 : }
18370 164 : if (flags & NDR_OUT) {
18371 112 : if (r->out.return_authenticator == NULL) {
18372 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18373 : }
18374 112 : if (r->out.new_owf_password == NULL) {
18375 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18376 : }
18377 112 : if (r->out.old_owf_password == NULL) {
18378 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18379 : }
18380 112 : if (r->out.trust_info == NULL) {
18381 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18382 : }
18383 112 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18384 112 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
18385 112 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
18386 112 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
18387 112 : if (*r->out.trust_info) {
18388 52 : NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
18389 : }
18390 112 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
18391 : }
18392 146 : return NDR_ERR_SUCCESS;
18393 : }
18394 :
18395 151 : static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
18396 : {
18397 : uint32_t _ptr_server_name;
18398 151 : uint32_t size_server_name_1 = 0;
18399 151 : uint32_t length_server_name_1 = 0;
18400 151 : uint32_t size_account_name_1 = 0;
18401 151 : uint32_t length_account_name_1 = 0;
18402 151 : uint32_t size_computer_name_1 = 0;
18403 151 : uint32_t length_computer_name_1 = 0;
18404 : uint32_t _ptr_trust_info;
18405 151 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
18406 151 : TALLOC_CTX *_mem_save_credential_0 = NULL;
18407 151 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
18408 151 : TALLOC_CTX *_mem_save_new_owf_password_0 = NULL;
18409 151 : TALLOC_CTX *_mem_save_old_owf_password_0 = NULL;
18410 151 : TALLOC_CTX *_mem_save_trust_info_0 = NULL;
18411 151 : TALLOC_CTX *_mem_save_trust_info_1 = NULL;
18412 151 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
18413 151 : if (flags & NDR_IN) {
18414 99 : NDR_ZERO_STRUCT(r->out);
18415 :
18416 99 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
18417 99 : if (_ptr_server_name) {
18418 99 : NDR_PULL_ALLOC(ndr, r->in.server_name);
18419 : } else {
18420 0 : r->in.server_name = NULL;
18421 : }
18422 99 : if (r->in.server_name) {
18423 99 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18424 99 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
18425 99 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
18426 99 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
18427 99 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
18428 99 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
18429 99 : if (length_server_name_1 > size_server_name_1) {
18430 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
18431 : }
18432 99 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
18433 99 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
18434 99 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
18435 : }
18436 99 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
18437 99 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
18438 99 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
18439 99 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
18440 99 : if (length_account_name_1 > size_account_name_1) {
18441 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
18442 : }
18443 99 : NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
18444 99 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
18445 99 : NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
18446 99 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
18447 99 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
18448 99 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
18449 99 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
18450 99 : if (length_computer_name_1 > size_computer_name_1) {
18451 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
18452 : }
18453 99 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
18454 99 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
18455 99 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18456 99 : NDR_PULL_ALLOC(ndr, r->in.credential);
18457 : }
18458 99 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
18459 99 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
18460 99 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18461 99 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
18462 99 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
18463 99 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
18464 99 : NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
18465 99 : NDR_ZERO_STRUCTP(r->out.new_owf_password);
18466 99 : NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
18467 99 : NDR_ZERO_STRUCTP(r->out.old_owf_password);
18468 99 : NDR_PULL_ALLOC(ndr, r->out.trust_info);
18469 99 : NDR_ZERO_STRUCTP(r->out.trust_info);
18470 : }
18471 151 : if (flags & NDR_OUT) {
18472 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
18473 : if (r->in.credential == NULL) {
18474 : NDR_PULL_ALLOC(ndr, r->in.credential);
18475 : NDR_ZERO_STRUCTP(r->in.credential);
18476 : }
18477 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
18478 52 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18479 13 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
18480 : }
18481 52 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
18482 52 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
18483 52 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18484 52 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
18485 52 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18486 13 : NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
18487 : }
18488 52 : _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
18489 52 : NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
18490 52 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
18491 52 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
18492 52 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18493 13 : NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
18494 : }
18495 52 : _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
18496 52 : NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
18497 52 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
18498 52 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
18499 52 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18500 13 : NDR_PULL_ALLOC(ndr, r->out.trust_info);
18501 : }
18502 52 : _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
18503 52 : NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
18504 52 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
18505 52 : if (_ptr_trust_info) {
18506 4 : NDR_PULL_ALLOC(ndr, *r->out.trust_info);
18507 : } else {
18508 48 : *r->out.trust_info = NULL;
18509 : }
18510 52 : if (*r->out.trust_info) {
18511 4 : _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
18512 4 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
18513 4 : NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
18514 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
18515 : }
18516 52 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
18517 52 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
18518 : }
18519 135 : return NDR_ERR_SUCCESS;
18520 : }
18521 :
18522 26 : _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
18523 : {
18524 26 : ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
18525 26 : if (r == NULL) { ndr_print_null(ndr); return; }
18526 26 : ndr->depth++;
18527 26 : if (flags & NDR_SET_VALUES) {
18528 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
18529 : }
18530 26 : if (flags & NDR_IN) {
18531 0 : ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
18532 0 : ndr->depth++;
18533 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
18534 0 : ndr->depth++;
18535 0 : if (r->in.server_name) {
18536 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
18537 : }
18538 0 : ndr->depth--;
18539 0 : ndr_print_ptr(ndr, "account_name", r->in.account_name);
18540 0 : ndr->depth++;
18541 0 : ndr_print_string(ndr, "account_name", r->in.account_name);
18542 0 : ndr->depth--;
18543 0 : ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
18544 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
18545 0 : ndr->depth++;
18546 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
18547 0 : ndr->depth--;
18548 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
18549 0 : ndr->depth++;
18550 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
18551 0 : ndr->depth--;
18552 0 : ndr->depth--;
18553 : }
18554 26 : if (flags & NDR_OUT) {
18555 26 : ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
18556 26 : ndr->depth++;
18557 26 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
18558 26 : ndr->depth++;
18559 26 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
18560 26 : ndr->depth--;
18561 26 : ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
18562 26 : ndr->depth++;
18563 26 : ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
18564 26 : ndr->depth--;
18565 26 : ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
18566 26 : ndr->depth++;
18567 26 : ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
18568 26 : ndr->depth--;
18569 26 : ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
18570 26 : ndr->depth++;
18571 26 : ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
18572 26 : ndr->depth++;
18573 26 : if (*r->out.trust_info) {
18574 2 : ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
18575 : }
18576 26 : ndr->depth--;
18577 26 : ndr->depth--;
18578 26 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
18579 26 : ndr->depth--;
18580 : }
18581 26 : ndr->depth--;
18582 : }
18583 :
18584 0 : static enum ndr_err_code ndr_push_netr_Unused47(struct ndr_push *ndr, int flags, const struct netr_Unused47 *r)
18585 : {
18586 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
18587 0 : if (flags & NDR_IN) {
18588 : }
18589 0 : if (flags & NDR_OUT) {
18590 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
18591 : }
18592 0 : return NDR_ERR_SUCCESS;
18593 : }
18594 :
18595 0 : static enum ndr_err_code ndr_pull_netr_Unused47(struct ndr_pull *ndr, int flags, struct netr_Unused47 *r)
18596 : {
18597 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
18598 0 : if (flags & NDR_IN) {
18599 : }
18600 0 : if (flags & NDR_OUT) {
18601 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
18602 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
18603 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
18604 : }
18605 0 : return NDR_ERR_SUCCESS;
18606 : }
18607 :
18608 0 : _PUBLIC_ void ndr_print_netr_Unused47(struct ndr_print *ndr, const char *name, int flags, const struct netr_Unused47 *r)
18609 : {
18610 0 : ndr_print_struct(ndr, name, "netr_Unused47");
18611 0 : if (r == NULL) { ndr_print_null(ndr); return; }
18612 0 : ndr->depth++;
18613 0 : if (flags & NDR_SET_VALUES) {
18614 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
18615 : }
18616 0 : if (flags & NDR_IN) {
18617 0 : ndr_print_struct(ndr, "in", "netr_Unused47");
18618 0 : ndr->depth++;
18619 0 : ndr->depth--;
18620 : }
18621 0 : if (flags & NDR_OUT) {
18622 0 : ndr_print_struct(ndr, "out", "netr_Unused47");
18623 0 : ndr->depth++;
18624 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
18625 0 : ndr->depth--;
18626 : }
18627 0 : ndr->depth--;
18628 : }
18629 :
18630 4 : static enum ndr_err_code ndr_push_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_push *ndr, int flags, const struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
18631 : {
18632 4 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
18633 4 : if (flags & NDR_IN) {
18634 0 : if (r->in.computer_name == NULL) {
18635 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18636 : }
18637 0 : if (r->in.credential == NULL) {
18638 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18639 : }
18640 0 : if (r->in.dns_names == NULL) {
18641 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18642 : }
18643 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
18644 0 : if (r->in.server_name) {
18645 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18646 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18647 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
18648 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18649 : }
18650 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18651 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18652 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
18653 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18654 0 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18655 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
18656 0 : if (r->in.site_name) {
18657 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
18658 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
18659 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
18660 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
18661 : }
18662 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dns_ttl));
18663 0 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
18664 : }
18665 4 : if (flags & NDR_OUT) {
18666 4 : if (r->out.return_authenticator == NULL) {
18667 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18668 : }
18669 4 : if (r->out.dns_names == NULL) {
18670 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
18671 : }
18672 4 : NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18673 4 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
18674 4 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
18675 : }
18676 4 : return NDR_ERR_SUCCESS;
18677 : }
18678 :
18679 4 : static enum ndr_err_code ndr_pull_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_pull *ndr, int flags, struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
18680 : {
18681 : uint32_t _ptr_server_name;
18682 4 : uint32_t size_server_name_1 = 0;
18683 4 : uint32_t length_server_name_1 = 0;
18684 4 : uint32_t size_computer_name_1 = 0;
18685 4 : uint32_t length_computer_name_1 = 0;
18686 : uint32_t _ptr_site_name;
18687 4 : uint32_t size_site_name_1 = 0;
18688 4 : uint32_t length_site_name_1 = 0;
18689 4 : TALLOC_CTX *_mem_save_server_name_0 = NULL;
18690 4 : TALLOC_CTX *_mem_save_credential_0 = NULL;
18691 4 : TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
18692 4 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
18693 4 : TALLOC_CTX *_mem_save_dns_names_0 = NULL;
18694 4 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
18695 4 : if (flags & NDR_IN) {
18696 4 : NDR_ZERO_STRUCT(r->out);
18697 :
18698 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
18699 4 : if (_ptr_server_name) {
18700 4 : NDR_PULL_ALLOC(ndr, r->in.server_name);
18701 : } else {
18702 0 : r->in.server_name = NULL;
18703 : }
18704 4 : if (r->in.server_name) {
18705 4 : _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18706 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
18707 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
18708 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
18709 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
18710 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
18711 4 : if (length_server_name_1 > size_server_name_1) {
18712 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
18713 : }
18714 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
18715 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
18716 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
18717 : }
18718 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
18719 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
18720 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
18721 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
18722 4 : if (length_computer_name_1 > size_computer_name_1) {
18723 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
18724 : }
18725 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
18726 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
18727 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18728 4 : NDR_PULL_ALLOC(ndr, r->in.credential);
18729 : }
18730 4 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
18731 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
18732 4 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
18733 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
18734 4 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
18735 4 : if (_ptr_site_name) {
18736 4 : NDR_PULL_ALLOC(ndr, r->in.site_name);
18737 : } else {
18738 0 : r->in.site_name = NULL;
18739 : }
18740 4 : if (r->in.site_name) {
18741 4 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
18742 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
18743 4 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
18744 4 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
18745 4 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
18746 4 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
18747 4 : if (length_site_name_1 > size_site_name_1) {
18748 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
18749 : }
18750 4 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
18751 4 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
18752 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
18753 : }
18754 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dns_ttl));
18755 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18756 4 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
18757 : }
18758 4 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
18759 4 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dns_names, LIBNDR_FLAG_REF_ALLOC);
18760 4 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
18761 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
18762 4 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
18763 4 : NDR_ZERO_STRUCTP(r->out.return_authenticator);
18764 4 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
18765 4 : *r->out.dns_names = *r->in.dns_names;
18766 : }
18767 4 : if (flags & NDR_OUT) {
18768 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
18769 : if (r->in.credential == NULL) {
18770 : NDR_PULL_ALLOC(ndr, r->in.credential);
18771 : NDR_ZERO_STRUCTP(r->in.credential);
18772 : }
18773 : if (r->in.dns_names == NULL) {
18774 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
18775 : NDR_ZERO_STRUCTP(r->in.dns_names);
18776 : }
18777 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
18778 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18779 0 : NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
18780 : }
18781 0 : _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
18782 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
18783 0 : NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
18784 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
18785 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
18786 0 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
18787 : }
18788 0 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
18789 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dns_names, LIBNDR_FLAG_REF_ALLOC);
18790 0 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
18791 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
18792 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
18793 : }
18794 4 : return NDR_ERR_SUCCESS;
18795 : }
18796 :
18797 0 : _PUBLIC_ void ndr_print_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
18798 : {
18799 0 : ndr_print_struct(ndr, name, "netr_DsrUpdateReadOnlyServerDnsRecords");
18800 0 : if (r == NULL) { ndr_print_null(ndr); return; }
18801 0 : ndr->depth++;
18802 0 : if (flags & NDR_SET_VALUES) {
18803 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
18804 : }
18805 0 : if (flags & NDR_IN) {
18806 0 : ndr_print_struct(ndr, "in", "netr_DsrUpdateReadOnlyServerDnsRecords");
18807 0 : ndr->depth++;
18808 0 : ndr_print_ptr(ndr, "server_name", r->in.server_name);
18809 0 : ndr->depth++;
18810 0 : if (r->in.server_name) {
18811 0 : ndr_print_string(ndr, "server_name", r->in.server_name);
18812 : }
18813 0 : ndr->depth--;
18814 0 : ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
18815 0 : ndr->depth++;
18816 0 : ndr_print_string(ndr, "computer_name", r->in.computer_name);
18817 0 : ndr->depth--;
18818 0 : ndr_print_ptr(ndr, "credential", r->in.credential);
18819 0 : ndr->depth++;
18820 0 : ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
18821 0 : ndr->depth--;
18822 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
18823 0 : ndr->depth++;
18824 0 : if (r->in.site_name) {
18825 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
18826 : }
18827 0 : ndr->depth--;
18828 0 : ndr_print_uint32(ndr, "dns_ttl", r->in.dns_ttl);
18829 0 : ndr_print_ptr(ndr, "dns_names", r->in.dns_names);
18830 0 : ndr->depth++;
18831 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->in.dns_names);
18832 0 : ndr->depth--;
18833 0 : ndr->depth--;
18834 : }
18835 0 : if (flags & NDR_OUT) {
18836 0 : ndr_print_struct(ndr, "out", "netr_DsrUpdateReadOnlyServerDnsRecords");
18837 0 : ndr->depth++;
18838 0 : ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
18839 0 : ndr->depth++;
18840 0 : ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
18841 0 : ndr->depth--;
18842 0 : ndr_print_ptr(ndr, "dns_names", r->out.dns_names);
18843 0 : ndr->depth++;
18844 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->out.dns_names);
18845 0 : ndr->depth--;
18846 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
18847 0 : ndr->depth--;
18848 : }
18849 0 : ndr->depth--;
18850 : }
18851 :
18852 : #ifndef SKIP_NDR_TABLE_netlogon
18853 : static const struct ndr_interface_public_struct netlogon_public_structs[] = {
18854 : {
18855 : .name = "netr_AcctLockStr",
18856 : .struct_size = sizeof(struct netr_AcctLockStr ),
18857 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_AcctLockStr,
18858 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_AcctLockStr,
18859 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_AcctLockStr,
18860 : },
18861 : {
18862 : .name = "netr_UserSessionKey",
18863 : .struct_size = sizeof(struct netr_UserSessionKey ),
18864 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_UserSessionKey,
18865 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_UserSessionKey,
18866 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_UserSessionKey,
18867 : },
18868 : {
18869 : .name = "netr_LMSessionKey",
18870 : .struct_size = sizeof(struct netr_LMSessionKey ),
18871 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_LMSessionKey,
18872 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_LMSessionKey,
18873 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_LMSessionKey,
18874 : },
18875 : {
18876 : .name = "netr_SidAttr",
18877 : .struct_size = sizeof(struct netr_SidAttr ),
18878 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SidAttr,
18879 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SidAttr,
18880 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SidAttr,
18881 : },
18882 : {
18883 : .name = "netr_SamInfo3",
18884 : .struct_size = sizeof(struct netr_SamInfo3 ),
18885 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SamInfo3,
18886 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SamInfo3,
18887 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SamInfo3,
18888 : },
18889 : {
18890 : .name = "netr_Credential",
18891 : .struct_size = sizeof(struct netr_Credential ),
18892 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_Credential,
18893 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_Credential,
18894 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_Credential,
18895 : },
18896 : {
18897 : .name = "netr_Authenticator",
18898 : .struct_size = sizeof(struct netr_Authenticator ),
18899 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_Authenticator,
18900 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_Authenticator,
18901 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_Authenticator,
18902 : },
18903 : {
18904 : .name = "netr_USER_KEYS",
18905 : .struct_size = sizeof(struct netr_USER_KEYS ),
18906 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_USER_KEYS,
18907 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_USER_KEYS,
18908 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_USER_KEYS,
18909 : },
18910 : {
18911 : .name = "netr_ChangeLogEntry",
18912 : .struct_size = sizeof(struct netr_ChangeLogEntry ),
18913 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_ChangeLogEntry,
18914 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_ChangeLogEntry,
18915 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_ChangeLogEntry,
18916 : },
18917 : {
18918 : .name = "netr_DsRGetDCNameInfo",
18919 : .struct_size = sizeof(struct netr_DsRGetDCNameInfo ),
18920 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameInfo,
18921 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameInfo,
18922 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_DsRGetDCNameInfo,
18923 : },
18924 : {
18925 : .name = "netr_SendToSamBase",
18926 : .struct_size = sizeof(struct netr_SendToSamBase ),
18927 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SendToSamBase,
18928 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SendToSamBase,
18929 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SendToSamBase,
18930 : },
18931 : {
18932 : .name = "NL_DNS_NAME_INFO_ARRAY",
18933 : .struct_size = sizeof(struct NL_DNS_NAME_INFO_ARRAY ),
18934 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_NL_DNS_NAME_INFO_ARRAY,
18935 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_NL_DNS_NAME_INFO_ARRAY,
18936 : .ndr_print = (ndr_print_function_t) ndr_print_flags_NL_DNS_NAME_INFO_ARRAY,
18937 : },
18938 : { .name = NULL }
18939 : };
18940 :
18941 : static const struct ndr_interface_call netlogon_calls[] = {
18942 : {
18943 : "netr_LogonUasLogon",
18944 : sizeof(struct netr_LogonUasLogon),
18945 : (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
18946 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
18947 : (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
18948 : { 0, NULL },
18949 : { 0, NULL },
18950 : },
18951 : {
18952 : "netr_LogonUasLogoff",
18953 : sizeof(struct netr_LogonUasLogoff),
18954 : (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
18955 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
18956 : (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
18957 : { 0, NULL },
18958 : { 0, NULL },
18959 : },
18960 : {
18961 : "netr_LogonSamLogon",
18962 : sizeof(struct netr_LogonSamLogon),
18963 : (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
18964 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
18965 : (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
18966 : { 0, NULL },
18967 : { 0, NULL },
18968 : },
18969 : {
18970 : "netr_LogonSamLogoff",
18971 : sizeof(struct netr_LogonSamLogoff),
18972 : (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
18973 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
18974 : (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
18975 : { 0, NULL },
18976 : { 0, NULL },
18977 : },
18978 : {
18979 : "netr_ServerReqChallenge",
18980 : sizeof(struct netr_ServerReqChallenge),
18981 : (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
18982 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
18983 : (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
18984 : { 0, NULL },
18985 : { 0, NULL },
18986 : },
18987 : {
18988 : "netr_ServerAuthenticate",
18989 : sizeof(struct netr_ServerAuthenticate),
18990 : (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
18991 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
18992 : (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
18993 : { 0, NULL },
18994 : { 0, NULL },
18995 : },
18996 : {
18997 : "netr_ServerPasswordSet",
18998 : sizeof(struct netr_ServerPasswordSet),
18999 : (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
19000 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
19001 : (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
19002 : { 0, NULL },
19003 : { 0, NULL },
19004 : },
19005 : {
19006 : "netr_DatabaseDeltas",
19007 : sizeof(struct netr_DatabaseDeltas),
19008 : (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
19009 : (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
19010 : (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
19011 : { 0, NULL },
19012 : { 0, NULL },
19013 : },
19014 : {
19015 : "netr_DatabaseSync",
19016 : sizeof(struct netr_DatabaseSync),
19017 : (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
19018 : (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
19019 : (ndr_print_function_t) ndr_print_netr_DatabaseSync,
19020 : { 0, NULL },
19021 : { 0, NULL },
19022 : },
19023 : {
19024 : "netr_AccountDeltas",
19025 : sizeof(struct netr_AccountDeltas),
19026 : (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
19027 : (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
19028 : (ndr_print_function_t) ndr_print_netr_AccountDeltas,
19029 : { 0, NULL },
19030 : { 0, NULL },
19031 : },
19032 : {
19033 : "netr_AccountSync",
19034 : sizeof(struct netr_AccountSync),
19035 : (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
19036 : (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
19037 : (ndr_print_function_t) ndr_print_netr_AccountSync,
19038 : { 0, NULL },
19039 : { 0, NULL },
19040 : },
19041 : {
19042 : "netr_GetDcName",
19043 : sizeof(struct netr_GetDcName),
19044 : (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
19045 : (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
19046 : (ndr_print_function_t) ndr_print_netr_GetDcName,
19047 : { 0, NULL },
19048 : { 0, NULL },
19049 : },
19050 : {
19051 : "netr_LogonControl",
19052 : sizeof(struct netr_LogonControl),
19053 : (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
19054 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
19055 : (ndr_print_function_t) ndr_print_netr_LogonControl,
19056 : { 0, NULL },
19057 : { 0, NULL },
19058 : },
19059 : {
19060 : "netr_GetAnyDCName",
19061 : sizeof(struct netr_GetAnyDCName),
19062 : (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
19063 : (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
19064 : (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
19065 : { 0, NULL },
19066 : { 0, NULL },
19067 : },
19068 : {
19069 : "netr_LogonControl2",
19070 : sizeof(struct netr_LogonControl2),
19071 : (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
19072 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
19073 : (ndr_print_function_t) ndr_print_netr_LogonControl2,
19074 : { 0, NULL },
19075 : { 0, NULL },
19076 : },
19077 : {
19078 : "netr_ServerAuthenticate2",
19079 : sizeof(struct netr_ServerAuthenticate2),
19080 : (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
19081 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
19082 : (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
19083 : { 0, NULL },
19084 : { 0, NULL },
19085 : },
19086 : {
19087 : "netr_DatabaseSync2",
19088 : sizeof(struct netr_DatabaseSync2),
19089 : (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
19090 : (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
19091 : (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
19092 : { 0, NULL },
19093 : { 0, NULL },
19094 : },
19095 : {
19096 : "netr_DatabaseRedo",
19097 : sizeof(struct netr_DatabaseRedo),
19098 : (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
19099 : (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
19100 : (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
19101 : { 0, NULL },
19102 : { 0, NULL },
19103 : },
19104 : {
19105 : "netr_LogonControl2Ex",
19106 : sizeof(struct netr_LogonControl2Ex),
19107 : (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
19108 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
19109 : (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
19110 : { 0, NULL },
19111 : { 0, NULL },
19112 : },
19113 : {
19114 : "netr_NetrEnumerateTrustedDomains",
19115 : sizeof(struct netr_NetrEnumerateTrustedDomains),
19116 : (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
19117 : (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
19118 : (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
19119 : { 0, NULL },
19120 : { 0, NULL },
19121 : },
19122 : {
19123 : "netr_DsRGetDCName",
19124 : sizeof(struct netr_DsRGetDCName),
19125 : (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
19126 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
19127 : (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
19128 : { 0, NULL },
19129 : { 0, NULL },
19130 : },
19131 : {
19132 : "netr_LogonGetCapabilities",
19133 : sizeof(struct netr_LogonGetCapabilities),
19134 : (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
19135 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
19136 : (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
19137 : { 0, NULL },
19138 : { 0, NULL },
19139 : },
19140 : {
19141 : "netr_NETRLOGONSETSERVICEBITS",
19142 : sizeof(struct netr_NETRLOGONSETSERVICEBITS),
19143 : (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
19144 : (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
19145 : (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
19146 : { 0, NULL },
19147 : { 0, NULL },
19148 : },
19149 : {
19150 : "netr_LogonGetTrustRid",
19151 : sizeof(struct netr_LogonGetTrustRid),
19152 : (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
19153 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
19154 : (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
19155 : { 0, NULL },
19156 : { 0, NULL },
19157 : },
19158 : {
19159 : "netr_NETRLOGONCOMPUTESERVERDIGEST",
19160 : sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
19161 : (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
19162 : (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
19163 : (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
19164 : { 0, NULL },
19165 : { 0, NULL },
19166 : },
19167 : {
19168 : "netr_NETRLOGONCOMPUTECLIENTDIGEST",
19169 : sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
19170 : (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
19171 : (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
19172 : (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
19173 : { 0, NULL },
19174 : { 0, NULL },
19175 : },
19176 : {
19177 : "netr_ServerAuthenticate3",
19178 : sizeof(struct netr_ServerAuthenticate3),
19179 : (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
19180 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
19181 : (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
19182 : { 0, NULL },
19183 : { 0, NULL },
19184 : },
19185 : {
19186 : "netr_DsRGetDCNameEx",
19187 : sizeof(struct netr_DsRGetDCNameEx),
19188 : (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
19189 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
19190 : (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
19191 : { 0, NULL },
19192 : { 0, NULL },
19193 : },
19194 : {
19195 : "netr_DsRGetSiteName",
19196 : sizeof(struct netr_DsRGetSiteName),
19197 : (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
19198 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
19199 : (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
19200 : { 0, NULL },
19201 : { 0, NULL },
19202 : },
19203 : {
19204 : "netr_LogonGetDomainInfo",
19205 : sizeof(struct netr_LogonGetDomainInfo),
19206 : (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
19207 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
19208 : (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
19209 : { 0, NULL },
19210 : { 0, NULL },
19211 : },
19212 : {
19213 : "netr_ServerPasswordSet2",
19214 : sizeof(struct netr_ServerPasswordSet2),
19215 : (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
19216 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
19217 : (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
19218 : { 0, NULL },
19219 : { 0, NULL },
19220 : },
19221 : {
19222 : "netr_ServerPasswordGet",
19223 : sizeof(struct netr_ServerPasswordGet),
19224 : (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
19225 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
19226 : (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
19227 : { 0, NULL },
19228 : { 0, NULL },
19229 : },
19230 : {
19231 : "netr_NetrLogonSendToSam",
19232 : sizeof(struct netr_NetrLogonSendToSam),
19233 : (ndr_push_flags_fn_t) ndr_push_netr_NetrLogonSendToSam,
19234 : (ndr_pull_flags_fn_t) ndr_pull_netr_NetrLogonSendToSam,
19235 : (ndr_print_function_t) ndr_print_netr_NetrLogonSendToSam,
19236 : { 0, NULL },
19237 : { 0, NULL },
19238 : },
19239 : {
19240 : "netr_DsRAddressToSitenamesW",
19241 : sizeof(struct netr_DsRAddressToSitenamesW),
19242 : (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
19243 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
19244 : (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
19245 : { 0, NULL },
19246 : { 0, NULL },
19247 : },
19248 : {
19249 : "netr_DsRGetDCNameEx2",
19250 : sizeof(struct netr_DsRGetDCNameEx2),
19251 : (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
19252 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
19253 : (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
19254 : { 0, NULL },
19255 : { 0, NULL },
19256 : },
19257 : {
19258 : "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
19259 : sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
19260 : (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
19261 : (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
19262 : (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
19263 : { 0, NULL },
19264 : { 0, NULL },
19265 : },
19266 : {
19267 : "netr_NetrEnumerateTrustedDomainsEx",
19268 : sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
19269 : (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
19270 : (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
19271 : (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
19272 : { 0, NULL },
19273 : { 0, NULL },
19274 : },
19275 : {
19276 : "netr_DsRAddressToSitenamesExW",
19277 : sizeof(struct netr_DsRAddressToSitenamesExW),
19278 : (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
19279 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
19280 : (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
19281 : { 0, NULL },
19282 : { 0, NULL },
19283 : },
19284 : {
19285 : "netr_DsrGetDcSiteCoverageW",
19286 : sizeof(struct netr_DsrGetDcSiteCoverageW),
19287 : (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
19288 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
19289 : (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
19290 : { 0, NULL },
19291 : { 0, NULL },
19292 : },
19293 : {
19294 : "netr_LogonSamLogonEx",
19295 : sizeof(struct netr_LogonSamLogonEx),
19296 : (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
19297 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
19298 : (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
19299 : { 0, NULL },
19300 : { 0, NULL },
19301 : },
19302 : {
19303 : "netr_DsrEnumerateDomainTrusts",
19304 : sizeof(struct netr_DsrEnumerateDomainTrusts),
19305 : (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
19306 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
19307 : (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
19308 : { 0, NULL },
19309 : { 0, NULL },
19310 : },
19311 : {
19312 : "netr_DsrDeregisterDNSHostRecords",
19313 : sizeof(struct netr_DsrDeregisterDNSHostRecords),
19314 : (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
19315 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
19316 : (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
19317 : { 0, NULL },
19318 : { 0, NULL },
19319 : },
19320 : {
19321 : "netr_ServerTrustPasswordsGet",
19322 : sizeof(struct netr_ServerTrustPasswordsGet),
19323 : (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
19324 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
19325 : (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
19326 : { 0, NULL },
19327 : { 0, NULL },
19328 : },
19329 : {
19330 : "netr_DsRGetForestTrustInformation",
19331 : sizeof(struct netr_DsRGetForestTrustInformation),
19332 : (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
19333 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
19334 : (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
19335 : { 0, NULL },
19336 : { 0, NULL },
19337 : },
19338 : {
19339 : "netr_GetForestTrustInformation",
19340 : sizeof(struct netr_GetForestTrustInformation),
19341 : (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
19342 : (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
19343 : (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
19344 : { 0, NULL },
19345 : { 0, NULL },
19346 : },
19347 : {
19348 : "netr_LogonSamLogonWithFlags",
19349 : sizeof(struct netr_LogonSamLogonWithFlags),
19350 : (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
19351 : (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
19352 : (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
19353 : { 0, NULL },
19354 : { 0, NULL },
19355 : },
19356 : {
19357 : "netr_ServerGetTrustInfo",
19358 : sizeof(struct netr_ServerGetTrustInfo),
19359 : (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
19360 : (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
19361 : (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
19362 : { 0, NULL },
19363 : { 0, NULL },
19364 : },
19365 : {
19366 : "netr_Unused47",
19367 : sizeof(struct netr_Unused47),
19368 : (ndr_push_flags_fn_t) ndr_push_netr_Unused47,
19369 : (ndr_pull_flags_fn_t) ndr_pull_netr_Unused47,
19370 : (ndr_print_function_t) ndr_print_netr_Unused47,
19371 : { 0, NULL },
19372 : { 0, NULL },
19373 : },
19374 : {
19375 : "netr_DsrUpdateReadOnlyServerDnsRecords",
19376 : sizeof(struct netr_DsrUpdateReadOnlyServerDnsRecords),
19377 : (ndr_push_flags_fn_t) ndr_push_netr_DsrUpdateReadOnlyServerDnsRecords,
19378 : (ndr_pull_flags_fn_t) ndr_pull_netr_DsrUpdateReadOnlyServerDnsRecords,
19379 : (ndr_print_function_t) ndr_print_netr_DsrUpdateReadOnlyServerDnsRecords,
19380 : { 0, NULL },
19381 : { 0, NULL },
19382 : },
19383 : { .name = NULL }
19384 : };
19385 :
19386 : static const char * const netlogon_endpoint_strings[] = {
19387 : "ncacn_np:[\\pipe\\netlogon]",
19388 : "ncacn_ip_tcp:",
19389 : "ncalrpc:",
19390 : };
19391 :
19392 : static const struct ndr_interface_string_array netlogon_endpoints = {
19393 : .count = 3,
19394 : .names = netlogon_endpoint_strings
19395 : };
19396 :
19397 : static const char * const netlogon_authservice_strings[] = {
19398 : "host",
19399 : };
19400 :
19401 : static const struct ndr_interface_string_array netlogon_authservices = {
19402 : .count = 1,
19403 : .names = netlogon_authservice_strings
19404 : };
19405 :
19406 :
19407 : const struct ndr_interface_table ndr_table_netlogon = {
19408 : .name = "netlogon",
19409 : .syntax_id = {
19410 : {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
19411 : NDR_NETLOGON_VERSION
19412 : },
19413 : .helpstring = NDR_NETLOGON_HELPSTRING,
19414 : .num_calls = 49,
19415 : .calls = netlogon_calls,
19416 : .num_public_structs = 12,
19417 : .public_structs = netlogon_public_structs,
19418 : .endpoints = &netlogon_endpoints,
19419 : .authservices = &netlogon_authservices
19420 : };
19421 :
19422 : #endif /* SKIP_NDR_TABLE_netlogon */
|