Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_winbind.h"
5 :
6 : #include "librpc/gen_ndr/ndr_lsa.h"
7 : #include "librpc/gen_ndr/ndr_netlogon.h"
8 : #include "librpc/gen_ndr/ndr_samr.h"
9 : #include "librpc/gen_ndr/ndr_misc.h"
10 : #include "librpc/gen_ndr/ndr_security.h"
11 : #include "librpc/gen_ndr/ndr_idmap.h"
12 4386 : static enum ndr_err_code ndr_push_wbint_TransID(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_TransID *r)
13 : {
14 4386 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
15 4386 : if (ndr_flags & NDR_SCALARS) {
16 4386 : NDR_CHECK(ndr_push_align(ndr, 4));
17 4386 : NDR_CHECK(ndr_push_id_type(ndr, NDR_SCALARS, r->type_hint));
18 4386 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_index));
19 4386 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
20 4386 : NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->xid));
21 4386 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
22 : }
23 4386 : if (ndr_flags & NDR_BUFFERS) {
24 0 : }
25 4386 : return NDR_ERR_SUCCESS;
26 : }
27 :
28 4386 : static enum ndr_err_code ndr_pull_wbint_TransID(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_TransID *r)
29 : {
30 4386 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
31 4386 : if (ndr_flags & NDR_SCALARS) {
32 4386 : NDR_CHECK(ndr_pull_align(ndr, 4));
33 4386 : NDR_CHECK(ndr_pull_id_type(ndr, NDR_SCALARS, &r->type_hint));
34 4386 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_index));
35 4386 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
36 4386 : NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->xid));
37 4386 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
38 : }
39 4386 : if (ndr_flags & NDR_BUFFERS) {
40 0 : }
41 4386 : return NDR_ERR_SUCCESS;
42 : }
43 :
44 0 : _PUBLIC_ void ndr_print_wbint_TransID(struct ndr_print *ndr, const char *name, const struct wbint_TransID *r)
45 : {
46 0 : ndr_print_struct(ndr, name, "wbint_TransID");
47 0 : if (r == NULL) { ndr_print_null(ndr); return; }
48 0 : ndr->depth++;
49 0 : ndr_print_id_type(ndr, "type_hint", r->type_hint);
50 0 : ndr_print_uint32(ndr, "domain_index", r->domain_index);
51 0 : ndr_print_uint32(ndr, "rid", r->rid);
52 0 : ndr_print_unixid(ndr, "xid", &r->xid);
53 0 : ndr->depth--;
54 : }
55 :
56 4177 : static enum ndr_err_code ndr_push_wbint_TransIDArray(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_TransIDArray *r)
57 : {
58 0 : uint32_t cntr_ids_0;
59 4177 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
60 4177 : if (ndr_flags & NDR_SCALARS) {
61 4177 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_ids));
62 4177 : NDR_CHECK(ndr_push_align(ndr, 4));
63 4177 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_ids));
64 8563 : for (cntr_ids_0 = 0; cntr_ids_0 < (r->num_ids); cntr_ids_0++) {
65 4386 : NDR_CHECK(ndr_push_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
66 : }
67 4177 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
68 : }
69 4177 : if (ndr_flags & NDR_BUFFERS) {
70 0 : }
71 4177 : return NDR_ERR_SUCCESS;
72 : }
73 :
74 4177 : static enum ndr_err_code ndr_pull_wbint_TransIDArray(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_TransIDArray *r)
75 : {
76 4177 : uint32_t size_ids_0 = 0;
77 0 : uint32_t cntr_ids_0;
78 4177 : TALLOC_CTX *_mem_save_ids_0 = NULL;
79 4177 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
80 4177 : if (ndr_flags & NDR_SCALARS) {
81 4177 : NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
82 4177 : NDR_CHECK(ndr_pull_align(ndr, 4));
83 4177 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_ids));
84 4177 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->ids, &size_ids_0));
85 4177 : NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_0);
86 4177 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
87 4177 : NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
88 8563 : for (cntr_ids_0 = 0; cntr_ids_0 < (size_ids_0); cntr_ids_0++) {
89 4386 : NDR_CHECK(ndr_pull_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
90 : }
91 4177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
92 4177 : if (r->ids) {
93 4177 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->ids, r->num_ids));
94 : }
95 4177 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
96 : }
97 4177 : if (ndr_flags & NDR_BUFFERS) {
98 0 : }
99 4177 : return NDR_ERR_SUCCESS;
100 : }
101 :
102 0 : _PUBLIC_ void ndr_print_wbint_TransIDArray(struct ndr_print *ndr, const char *name, const struct wbint_TransIDArray *r)
103 : {
104 0 : uint32_t cntr_ids_0;
105 0 : ndr_print_struct(ndr, name, "wbint_TransIDArray");
106 0 : if (r == NULL) { ndr_print_null(ndr); return; }
107 0 : ndr->depth++;
108 0 : ndr_print_uint32(ndr, "num_ids", r->num_ids);
109 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "ids", (uint32_t)(r->num_ids));
110 0 : ndr->depth++;
111 0 : for (cntr_ids_0 = 0; cntr_ids_0 < (r->num_ids); cntr_ids_0++) {
112 0 : ndr_print_wbint_TransID(ndr, "ids", &r->ids[cntr_ids_0]);
113 : }
114 0 : ndr->depth--;
115 0 : ndr->depth--;
116 : }
117 :
118 104620 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfo(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_userinfo *r)
119 : {
120 104620 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
121 104620 : if (ndr_flags & NDR_SCALARS) {
122 104620 : NDR_CHECK(ndr_push_align(ndr, 8));
123 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
124 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->acct_name));
125 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->full_name));
126 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->homedir));
127 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->shell));
128 104620 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
129 104620 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid));
130 104620 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->primary_group_name));
131 104620 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
132 104620 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
133 104620 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
134 : }
135 104620 : if (ndr_flags & NDR_BUFFERS) {
136 104620 : if (r->domain_name) {
137 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
138 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
139 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
140 104620 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
141 : }
142 104620 : if (r->acct_name) {
143 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
144 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
145 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
146 104620 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->acct_name, ndr_charset_length(r->acct_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
147 : }
148 104620 : if (r->full_name) {
149 96889 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
150 96889 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
151 96889 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
152 96889 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->full_name, ndr_charset_length(r->full_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
153 : }
154 104620 : if (r->homedir) {
155 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
156 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
157 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
158 104620 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
159 : }
160 104620 : if (r->shell) {
161 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
162 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
163 104620 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
164 104620 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
165 : }
166 104620 : if (r->primary_group_name) {
167 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->primary_group_name, CH_UTF8)));
168 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
169 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->primary_group_name, CH_UTF8)));
170 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->primary_group_name, ndr_charset_length(r->primary_group_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
171 : }
172 : }
173 104620 : return NDR_ERR_SUCCESS;
174 : }
175 :
176 104620 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfo(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_userinfo *r)
177 : {
178 0 : uint32_t _ptr_domain_name;
179 104620 : uint32_t size_domain_name_1 = 0;
180 104620 : uint32_t length_domain_name_1 = 0;
181 104620 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
182 0 : uint32_t _ptr_acct_name;
183 104620 : uint32_t size_acct_name_1 = 0;
184 104620 : uint32_t length_acct_name_1 = 0;
185 104620 : TALLOC_CTX *_mem_save_acct_name_0 = NULL;
186 0 : uint32_t _ptr_full_name;
187 104620 : uint32_t size_full_name_1 = 0;
188 104620 : uint32_t length_full_name_1 = 0;
189 104620 : TALLOC_CTX *_mem_save_full_name_0 = NULL;
190 0 : uint32_t _ptr_homedir;
191 104620 : uint32_t size_homedir_1 = 0;
192 104620 : uint32_t length_homedir_1 = 0;
193 104620 : TALLOC_CTX *_mem_save_homedir_0 = NULL;
194 0 : uint32_t _ptr_shell;
195 104620 : uint32_t size_shell_1 = 0;
196 104620 : uint32_t length_shell_1 = 0;
197 104620 : TALLOC_CTX *_mem_save_shell_0 = NULL;
198 0 : uint32_t _ptr_primary_group_name;
199 104620 : uint32_t size_primary_group_name_1 = 0;
200 104620 : uint32_t length_primary_group_name_1 = 0;
201 104620 : TALLOC_CTX *_mem_save_primary_group_name_0 = NULL;
202 104620 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
203 104620 : if (ndr_flags & NDR_SCALARS) {
204 104620 : NDR_CHECK(ndr_pull_align(ndr, 8));
205 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
206 104620 : if (_ptr_domain_name) {
207 104620 : NDR_PULL_ALLOC(ndr, r->domain_name);
208 : } else {
209 0 : r->domain_name = NULL;
210 : }
211 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_acct_name));
212 104620 : if (_ptr_acct_name) {
213 104620 : NDR_PULL_ALLOC(ndr, r->acct_name);
214 : } else {
215 0 : r->acct_name = NULL;
216 : }
217 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_full_name));
218 104620 : if (_ptr_full_name) {
219 96891 : NDR_PULL_ALLOC(ndr, r->full_name);
220 : } else {
221 7729 : r->full_name = NULL;
222 : }
223 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_homedir));
224 104620 : if (_ptr_homedir) {
225 104620 : NDR_PULL_ALLOC(ndr, r->homedir);
226 : } else {
227 0 : r->homedir = NULL;
228 : }
229 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_shell));
230 104620 : if (_ptr_shell) {
231 104620 : NDR_PULL_ALLOC(ndr, r->shell);
232 : } else {
233 0 : r->shell = NULL;
234 : }
235 104620 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
236 104620 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid));
237 104620 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_group_name));
238 104620 : if (_ptr_primary_group_name) {
239 0 : NDR_PULL_ALLOC(ndr, r->primary_group_name);
240 : } else {
241 104620 : r->primary_group_name = NULL;
242 : }
243 104620 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
244 104620 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
245 104620 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
246 : }
247 104620 : if (ndr_flags & NDR_BUFFERS) {
248 104620 : if (r->domain_name) {
249 104620 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
250 104620 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
251 104620 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
252 104620 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
253 104620 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
254 104620 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
255 104620 : if (length_domain_name_1 > size_domain_name_1) {
256 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_name_1, length_domain_name_1);
257 : }
258 104620 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
259 104620 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
260 104620 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
261 : }
262 104620 : if (r->acct_name) {
263 104620 : _mem_save_acct_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
264 104620 : NDR_PULL_SET_MEM_CTX(ndr, r->acct_name, 0);
265 104620 : NDR_CHECK(ndr_pull_array_size(ndr, &r->acct_name));
266 104620 : NDR_CHECK(ndr_pull_array_length(ndr, &r->acct_name));
267 104620 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->acct_name, &size_acct_name_1));
268 104620 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->acct_name, &length_acct_name_1));
269 104620 : if (length_acct_name_1 > size_acct_name_1) {
270 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_acct_name_1, length_acct_name_1);
271 : }
272 104620 : NDR_CHECK(ndr_check_string_terminator(ndr, length_acct_name_1, sizeof(uint8_t)));
273 104620 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->acct_name, length_acct_name_1, sizeof(uint8_t), CH_UTF8));
274 104620 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_name_0, 0);
275 : }
276 104620 : if (r->full_name) {
277 96891 : _mem_save_full_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
278 96891 : NDR_PULL_SET_MEM_CTX(ndr, r->full_name, 0);
279 96891 : NDR_CHECK(ndr_pull_array_size(ndr, &r->full_name));
280 96891 : NDR_CHECK(ndr_pull_array_length(ndr, &r->full_name));
281 96891 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->full_name, &size_full_name_1));
282 96891 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->full_name, &length_full_name_1));
283 96891 : if (length_full_name_1 > size_full_name_1) {
284 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_full_name_1, length_full_name_1);
285 : }
286 96891 : NDR_CHECK(ndr_check_string_terminator(ndr, length_full_name_1, sizeof(uint8_t)));
287 96891 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->full_name, length_full_name_1, sizeof(uint8_t), CH_UTF8));
288 96891 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_full_name_0, 0);
289 : }
290 104620 : if (r->homedir) {
291 104620 : _mem_save_homedir_0 = NDR_PULL_GET_MEM_CTX(ndr);
292 104620 : NDR_PULL_SET_MEM_CTX(ndr, r->homedir, 0);
293 104620 : NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
294 104620 : NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
295 104620 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->homedir, &size_homedir_1));
296 104620 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->homedir, &length_homedir_1));
297 104620 : if (length_homedir_1 > size_homedir_1) {
298 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_homedir_1, length_homedir_1);
299 : }
300 104620 : NDR_CHECK(ndr_check_string_terminator(ndr, length_homedir_1, sizeof(uint8_t)));
301 104620 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, length_homedir_1, sizeof(uint8_t), CH_UTF8));
302 104620 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_homedir_0, 0);
303 : }
304 104620 : if (r->shell) {
305 104620 : _mem_save_shell_0 = NDR_PULL_GET_MEM_CTX(ndr);
306 104620 : NDR_PULL_SET_MEM_CTX(ndr, r->shell, 0);
307 104620 : NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
308 104620 : NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
309 104620 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->shell, &size_shell_1));
310 104620 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->shell, &length_shell_1));
311 104620 : if (length_shell_1 > size_shell_1) {
312 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_shell_1, length_shell_1);
313 : }
314 104620 : NDR_CHECK(ndr_check_string_terminator(ndr, length_shell_1, sizeof(uint8_t)));
315 104620 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, length_shell_1, sizeof(uint8_t), CH_UTF8));
316 104620 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_shell_0, 0);
317 : }
318 104620 : if (r->primary_group_name) {
319 0 : _mem_save_primary_group_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
320 0 : NDR_PULL_SET_MEM_CTX(ndr, r->primary_group_name, 0);
321 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->primary_group_name));
322 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->primary_group_name));
323 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->primary_group_name, &size_primary_group_name_1));
324 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->primary_group_name, &length_primary_group_name_1));
325 0 : if (length_primary_group_name_1 > size_primary_group_name_1) {
326 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_primary_group_name_1, length_primary_group_name_1);
327 : }
328 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_primary_group_name_1, sizeof(uint8_t)));
329 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->primary_group_name, length_primary_group_name_1, sizeof(uint8_t), CH_UTF8));
330 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_primary_group_name_0, 0);
331 : }
332 : }
333 104620 : return NDR_ERR_SUCCESS;
334 : }
335 :
336 0 : static void ndr_print_flags_wbint_userinfo(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_userinfo *r)
337 : {
338 0 : ndr_print_wbint_userinfo(ndr, name, r);
339 0 : }
340 :
341 0 : _PUBLIC_ void ndr_print_wbint_userinfo(struct ndr_print *ndr, const char *name, const struct wbint_userinfo *r)
342 : {
343 0 : ndr_print_struct(ndr, name, "wbint_userinfo");
344 0 : if (r == NULL) { ndr_print_null(ndr); return; }
345 0 : ndr->depth++;
346 0 : ndr_print_ptr(ndr, "domain_name", r->domain_name);
347 0 : ndr->depth++;
348 0 : if (r->domain_name) {
349 0 : ndr_print_string(ndr, "domain_name", r->domain_name);
350 : }
351 0 : ndr->depth--;
352 0 : ndr_print_ptr(ndr, "acct_name", r->acct_name);
353 0 : ndr->depth++;
354 0 : if (r->acct_name) {
355 0 : ndr_print_string(ndr, "acct_name", r->acct_name);
356 : }
357 0 : ndr->depth--;
358 0 : ndr_print_ptr(ndr, "full_name", r->full_name);
359 0 : ndr->depth++;
360 0 : if (r->full_name) {
361 0 : ndr_print_string(ndr, "full_name", r->full_name);
362 : }
363 0 : ndr->depth--;
364 0 : ndr_print_ptr(ndr, "homedir", r->homedir);
365 0 : ndr->depth++;
366 0 : if (r->homedir) {
367 0 : ndr_print_string(ndr, "homedir", r->homedir);
368 : }
369 0 : ndr->depth--;
370 0 : ndr_print_ptr(ndr, "shell", r->shell);
371 0 : ndr->depth++;
372 0 : if (r->shell) {
373 0 : ndr_print_string(ndr, "shell", r->shell);
374 : }
375 0 : ndr->depth--;
376 0 : ndr_print_hyper(ndr, "uid", r->uid);
377 0 : ndr_print_hyper(ndr, "primary_gid", r->primary_gid);
378 0 : ndr_print_ptr(ndr, "primary_group_name", r->primary_group_name);
379 0 : ndr->depth++;
380 0 : if (r->primary_group_name) {
381 0 : ndr_print_string(ndr, "primary_group_name", r->primary_group_name);
382 : }
383 0 : ndr->depth--;
384 0 : ndr_print_dom_sid(ndr, "user_sid", &r->user_sid);
385 0 : ndr_print_dom_sid(ndr, "group_sid", &r->group_sid);
386 0 : ndr->depth--;
387 : }
388 :
389 5323 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_SidArray(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_SidArray *r)
390 : {
391 0 : uint32_t cntr_sids_0;
392 5323 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
393 5323 : if (ndr_flags & NDR_SCALARS) {
394 5323 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
395 5323 : NDR_CHECK(ndr_push_align(ndr, 4));
396 5323 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
397 14083 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
398 8760 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
399 : }
400 5323 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
401 : }
402 5323 : if (ndr_flags & NDR_BUFFERS) {
403 0 : }
404 5323 : return NDR_ERR_SUCCESS;
405 : }
406 :
407 2252 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_SidArray(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_SidArray *r)
408 : {
409 2252 : uint32_t size_sids_0 = 0;
410 0 : uint32_t cntr_sids_0;
411 2252 : TALLOC_CTX *_mem_save_sids_0 = NULL;
412 2252 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
413 2252 : if (ndr_flags & NDR_SCALARS) {
414 2252 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
415 2252 : NDR_CHECK(ndr_pull_align(ndr, 4));
416 2252 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
417 2252 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
418 2252 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
419 2252 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
420 2252 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
421 4518 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
422 2266 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
423 : }
424 2252 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
425 2252 : if (r->sids) {
426 2252 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
427 : }
428 2252 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
429 : }
430 2252 : if (ndr_flags & NDR_BUFFERS) {
431 0 : }
432 2252 : return NDR_ERR_SUCCESS;
433 : }
434 :
435 0 : static void ndr_print_flags_wbint_SidArray(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_SidArray *r)
436 : {
437 0 : ndr_print_wbint_SidArray(ndr, name, r);
438 0 : }
439 :
440 0 : _PUBLIC_ void ndr_print_wbint_SidArray(struct ndr_print *ndr, const char *name, const struct wbint_SidArray *r)
441 : {
442 0 : uint32_t cntr_sids_0;
443 0 : ndr_print_struct(ndr, name, "wbint_SidArray");
444 0 : if (r == NULL) { ndr_print_null(ndr); return; }
445 0 : ndr->depth++;
446 0 : ndr_print_uint32(ndr, "num_sids", r->num_sids);
447 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "sids", (uint32_t)(r->num_sids));
448 0 : ndr->depth++;
449 0 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
450 0 : ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
451 : }
452 0 : ndr->depth--;
453 0 : ndr->depth--;
454 : }
455 :
456 100 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_RidArray(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_RidArray *r)
457 : {
458 0 : uint32_t cntr_rids_0;
459 100 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
460 100 : if (ndr_flags & NDR_SCALARS) {
461 100 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
462 100 : NDR_CHECK(ndr_push_align(ndr, 4));
463 100 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
464 3548 : for (cntr_rids_0 = 0; cntr_rids_0 < (r->num_rids); cntr_rids_0++) {
465 3448 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
466 : }
467 100 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
468 : }
469 100 : if (ndr_flags & NDR_BUFFERS) {
470 0 : }
471 100 : return NDR_ERR_SUCCESS;
472 : }
473 :
474 4362 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_RidArray(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_RidArray *r)
475 : {
476 4362 : uint32_t size_rids_0 = 0;
477 0 : uint32_t cntr_rids_0;
478 4362 : TALLOC_CTX *_mem_save_rids_0 = NULL;
479 4362 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
480 4362 : if (ndr_flags & NDR_SCALARS) {
481 4362 : NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
482 4362 : NDR_CHECK(ndr_pull_align(ndr, 4));
483 4362 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
484 4362 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_0));
485 4362 : NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_0);
486 4362 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
487 4362 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
488 10899 : for (cntr_rids_0 = 0; cntr_rids_0 < (size_rids_0); cntr_rids_0++) {
489 6537 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
490 : }
491 4362 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
492 4362 : if (r->rids) {
493 4362 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->num_rids));
494 : }
495 4362 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
496 : }
497 4362 : if (ndr_flags & NDR_BUFFERS) {
498 0 : }
499 4362 : return NDR_ERR_SUCCESS;
500 : }
501 :
502 0 : static void ndr_print_flags_wbint_RidArray(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_RidArray *r)
503 : {
504 0 : ndr_print_wbint_RidArray(ndr, name, r);
505 0 : }
506 :
507 0 : _PUBLIC_ void ndr_print_wbint_RidArray(struct ndr_print *ndr, const char *name, const struct wbint_RidArray *r)
508 : {
509 0 : uint32_t cntr_rids_0;
510 0 : ndr_print_struct(ndr, name, "wbint_RidArray");
511 0 : if (r == NULL) { ndr_print_null(ndr); return; }
512 0 : ndr->depth++;
513 0 : ndr_print_uint32(ndr, "num_rids", r->num_rids);
514 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "rids", (uint32_t)(r->num_rids));
515 0 : ndr->depth++;
516 0 : for (cntr_rids_0 = 0; cntr_rids_0 < (r->num_rids); cntr_rids_0++) {
517 0 : ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
518 : }
519 0 : ndr->depth--;
520 0 : ndr->depth--;
521 : }
522 :
523 131114 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principal(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_Principal *r)
524 : {
525 131114 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
526 131114 : if (ndr_flags & NDR_SCALARS) {
527 65558 : NDR_CHECK(ndr_push_align(ndr, 5));
528 65558 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
529 65558 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
530 65558 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
531 65558 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
532 : }
533 131114 : if (ndr_flags & NDR_BUFFERS) {
534 65558 : if (r->name) {
535 65547 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
536 65547 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
537 65547 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
538 65547 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
539 : }
540 : }
541 0 : return NDR_ERR_SUCCESS;
542 : }
543 :
544 144898 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principal(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_Principal *r)
545 : {
546 131114 : uint32_t _ptr_name;
547 144898 : uint32_t size_name_1 = 0;
548 144898 : uint32_t length_name_1 = 0;
549 144898 : TALLOC_CTX *_mem_save_name_0 = NULL;
550 144898 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
551 144898 : if (ndr_flags & NDR_SCALARS) {
552 72450 : NDR_CHECK(ndr_pull_align(ndr, 5));
553 72450 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
554 72450 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
555 72450 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
556 72450 : if (_ptr_name) {
557 72435 : NDR_PULL_ALLOC(ndr, r->name);
558 : } else {
559 15 : r->name = NULL;
560 : }
561 72450 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
562 : }
563 144898 : if (ndr_flags & NDR_BUFFERS) {
564 72450 : if (r->name) {
565 72435 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
566 72435 : NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
567 72435 : NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
568 72435 : NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
569 72435 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
570 72435 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
571 72435 : if (length_name_1 > size_name_1) {
572 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_name_1, length_name_1);
573 : }
574 72435 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint8_t)));
575 72435 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint8_t), CH_UTF8));
576 72435 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
577 : }
578 : }
579 13784 : return NDR_ERR_SUCCESS;
580 : }
581 :
582 0 : static void ndr_print_flags_wbint_Principal(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_Principal *r)
583 : {
584 0 : ndr_print_wbint_Principal(ndr, name, r);
585 0 : }
586 :
587 0 : _PUBLIC_ void ndr_print_wbint_Principal(struct ndr_print *ndr, const char *name, const struct wbint_Principal *r)
588 : {
589 0 : ndr_print_struct(ndr, name, "wbint_Principal");
590 0 : if (r == NULL) { ndr_print_null(ndr); return; }
591 0 : ndr->depth++;
592 0 : ndr_print_dom_sid(ndr, "sid", &r->sid);
593 0 : ndr_print_lsa_SidType(ndr, "type", r->type);
594 0 : ndr_print_ptr(ndr, "name", r->name);
595 0 : ndr->depth++;
596 0 : if (r->name) {
597 0 : ndr_print_string(ndr, "name", r->name);
598 : }
599 0 : ndr->depth--;
600 0 : ndr->depth--;
601 : }
602 :
603 3 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principals(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_Principals *r)
604 : {
605 3 : uint32_t cntr_principals_0;
606 3 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
607 3 : if (ndr_flags & NDR_SCALARS) {
608 3 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_principals));
609 3 : NDR_CHECK(ndr_push_align(ndr, 5));
610 3 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_principals));
611 65559 : for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
612 65556 : NDR_CHECK(ndr_push_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
613 : }
614 3 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
615 : }
616 3 : if (ndr_flags & NDR_BUFFERS) {
617 65559 : for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
618 65556 : NDR_CHECK(ndr_push_wbint_Principal(ndr, NDR_BUFFERS, &r->principals[cntr_principals_0]));
619 : }
620 : }
621 0 : return NDR_ERR_SUCCESS;
622 : }
623 :
624 229 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principals(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_Principals *r)
625 : {
626 229 : uint32_t size_principals_0 = 0;
627 3 : uint32_t cntr_principals_0;
628 229 : TALLOC_CTX *_mem_save_principals_0 = NULL;
629 229 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
630 229 : if (ndr_flags & NDR_SCALARS) {
631 229 : NDR_CHECK(ndr_pull_array_size(ndr, &r->principals));
632 229 : NDR_CHECK(ndr_pull_align(ndr, 5));
633 229 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_principals));
634 229 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
635 229 : NDR_PULL_ALLOC_N(ndr, r->principals, size_principals_0);
636 229 : _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
637 229 : NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
638 72677 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
639 72448 : NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
640 : }
641 229 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
642 229 : if (r->principals) {
643 229 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->principals, r->num_principals));
644 : }
645 229 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
646 : }
647 229 : if (ndr_flags & NDR_BUFFERS) {
648 229 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
649 229 : _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
650 229 : NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
651 72677 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
652 72448 : NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_BUFFERS, &r->principals[cntr_principals_0]));
653 : }
654 229 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
655 7121 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
656 : }
657 : }
658 226 : return NDR_ERR_SUCCESS;
659 : }
660 :
661 0 : static void ndr_print_flags_wbint_Principals(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_Principals *r)
662 : {
663 0 : ndr_print_wbint_Principals(ndr, name, r);
664 0 : }
665 :
666 0 : _PUBLIC_ void ndr_print_wbint_Principals(struct ndr_print *ndr, const char *name, const struct wbint_Principals *r)
667 : {
668 0 : uint32_t cntr_principals_0;
669 0 : ndr_print_struct(ndr, name, "wbint_Principals");
670 0 : if (r == NULL) { ndr_print_null(ndr); return; }
671 0 : ndr->depth++;
672 0 : ndr_print_uint32(ndr, "num_principals", r->num_principals);
673 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "principals", (uint32_t)(r->num_principals));
674 0 : ndr->depth++;
675 0 : for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
676 0 : ndr_print_wbint_Principal(ndr, "principals", &r->principals[cntr_principals_0]);
677 : }
678 0 : ndr->depth--;
679 0 : ndr->depth--;
680 : }
681 :
682 0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfos(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_userinfos *r)
683 : {
684 0 : uint32_t cntr_userinfos_0;
685 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
686 0 : if (ndr_flags & NDR_SCALARS) {
687 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_userinfos));
688 0 : NDR_CHECK(ndr_push_align(ndr, 8));
689 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_userinfos));
690 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
691 0 : NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS, &r->userinfos[cntr_userinfos_0]));
692 : }
693 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
694 : }
695 0 : if (ndr_flags & NDR_BUFFERS) {
696 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
697 0 : NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_BUFFERS, &r->userinfos[cntr_userinfos_0]));
698 : }
699 : }
700 0 : return NDR_ERR_SUCCESS;
701 : }
702 :
703 0 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfos(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_userinfos *r)
704 : {
705 0 : uint32_t size_userinfos_0 = 0;
706 0 : uint32_t cntr_userinfos_0;
707 0 : TALLOC_CTX *_mem_save_userinfos_0 = NULL;
708 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
709 0 : if (ndr_flags & NDR_SCALARS) {
710 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->userinfos));
711 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
712 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_userinfos));
713 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->userinfos, &size_userinfos_0));
714 0 : NDR_PULL_ALLOC_N(ndr, r->userinfos, size_userinfos_0);
715 0 : _mem_save_userinfos_0 = NDR_PULL_GET_MEM_CTX(ndr);
716 0 : NDR_PULL_SET_MEM_CTX(ndr, r->userinfos, 0);
717 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
718 0 : NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS, &r->userinfos[cntr_userinfos_0]));
719 : }
720 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userinfos_0, 0);
721 0 : if (r->userinfos) {
722 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->userinfos, r->num_userinfos));
723 : }
724 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
725 : }
726 0 : if (ndr_flags & NDR_BUFFERS) {
727 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->userinfos, &size_userinfos_0));
728 0 : _mem_save_userinfos_0 = NDR_PULL_GET_MEM_CTX(ndr);
729 0 : NDR_PULL_SET_MEM_CTX(ndr, r->userinfos, 0);
730 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
731 0 : NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_BUFFERS, &r->userinfos[cntr_userinfos_0]));
732 : }
733 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userinfos_0, 0);
734 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
735 : }
736 : }
737 0 : return NDR_ERR_SUCCESS;
738 : }
739 :
740 0 : static void ndr_print_flags_wbint_userinfos(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_userinfos *r)
741 : {
742 0 : ndr_print_wbint_userinfos(ndr, name, r);
743 0 : }
744 :
745 0 : _PUBLIC_ void ndr_print_wbint_userinfos(struct ndr_print *ndr, const char *name, const struct wbint_userinfos *r)
746 : {
747 0 : uint32_t cntr_userinfos_0;
748 0 : ndr_print_struct(ndr, name, "wbint_userinfos");
749 0 : if (r == NULL) { ndr_print_null(ndr); return; }
750 0 : ndr->depth++;
751 0 : ndr_print_uint32(ndr, "num_userinfos", r->num_userinfos);
752 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "userinfos", (uint32_t)(r->num_userinfos));
753 0 : ndr->depth++;
754 0 : for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
755 0 : ndr_print_wbint_userinfo(ndr, "userinfos", &r->userinfos[cntr_userinfos_0]);
756 : }
757 0 : ndr->depth--;
758 0 : ndr->depth--;
759 : }
760 :
761 0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Validation(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_Validation *r)
762 : {
763 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
764 0 : if (ndr_flags & NDR_SCALARS) {
765 0 : NDR_CHECK(ndr_push_align(ndr, 5));
766 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->level));
767 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->validation));
768 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5ccname));
769 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
770 : }
771 0 : if (ndr_flags & NDR_BUFFERS) {
772 0 : if (r->validation) {
773 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->validation, r->level));
774 0 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
775 : }
776 0 : if (r->krb5ccname) {
777 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5ccname, CH_UTF8)));
778 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
779 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5ccname, CH_UTF8)));
780 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->krb5ccname, ndr_charset_length(r->krb5ccname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
781 : }
782 : }
783 0 : return NDR_ERR_SUCCESS;
784 : }
785 :
786 391 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Validation(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_Validation *r)
787 : {
788 0 : uint32_t _ptr_validation;
789 391 : TALLOC_CTX *_mem_save_validation_0 = NULL;
790 0 : uint32_t _ptr_krb5ccname;
791 391 : uint32_t size_krb5ccname_1 = 0;
792 391 : uint32_t length_krb5ccname_1 = 0;
793 391 : TALLOC_CTX *_mem_save_krb5ccname_0 = NULL;
794 391 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
795 391 : if (ndr_flags & NDR_SCALARS) {
796 391 : NDR_CHECK(ndr_pull_align(ndr, 5));
797 391 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->level));
798 391 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_validation));
799 391 : if (_ptr_validation) {
800 271 : NDR_PULL_ALLOC(ndr, r->validation);
801 : } else {
802 120 : r->validation = NULL;
803 : }
804 391 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5ccname));
805 391 : if (_ptr_krb5ccname) {
806 34 : NDR_PULL_ALLOC(ndr, r->krb5ccname);
807 : } else {
808 357 : r->krb5ccname = NULL;
809 : }
810 391 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
811 : }
812 391 : if (ndr_flags & NDR_BUFFERS) {
813 391 : if (r->validation) {
814 271 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
815 271 : NDR_PULL_SET_MEM_CTX(ndr, r->validation, 0);
816 271 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->validation, r->level));
817 271 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
818 271 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, 0);
819 : }
820 391 : if (r->krb5ccname) {
821 34 : _mem_save_krb5ccname_0 = NDR_PULL_GET_MEM_CTX(ndr);
822 34 : NDR_PULL_SET_MEM_CTX(ndr, r->krb5ccname, 0);
823 34 : NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5ccname));
824 34 : NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5ccname));
825 34 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->krb5ccname, &size_krb5ccname_1));
826 34 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->krb5ccname, &length_krb5ccname_1));
827 34 : if (length_krb5ccname_1 > size_krb5ccname_1) {
828 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_krb5ccname_1, length_krb5ccname_1);
829 : }
830 34 : NDR_CHECK(ndr_check_string_terminator(ndr, length_krb5ccname_1, sizeof(uint8_t)));
831 34 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->krb5ccname, length_krb5ccname_1, sizeof(uint8_t), CH_UTF8));
832 34 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5ccname_0, 0);
833 : }
834 : }
835 391 : return NDR_ERR_SUCCESS;
836 : }
837 :
838 0 : static void ndr_print_flags_wbint_Validation(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_Validation *r)
839 : {
840 0 : ndr_print_wbint_Validation(ndr, name, r);
841 0 : }
842 :
843 0 : _PUBLIC_ void ndr_print_wbint_Validation(struct ndr_print *ndr, const char *name, const struct wbint_Validation *r)
844 : {
845 0 : ndr_print_struct(ndr, name, "wbint_Validation");
846 0 : if (r == NULL) { ndr_print_null(ndr); return; }
847 0 : ndr->depth++;
848 0 : ndr_print_uint16(ndr, "level", r->level);
849 0 : ndr_print_ptr(ndr, "validation", r->validation);
850 0 : ndr->depth++;
851 0 : if (r->validation) {
852 0 : ndr_print_set_switch_value(ndr, r->validation, r->level);
853 0 : ndr_print_netr_Validation(ndr, "validation", r->validation);
854 : }
855 0 : ndr->depth--;
856 0 : ndr_print_ptr(ndr, "krb5ccname", r->krb5ccname);
857 0 : ndr->depth++;
858 0 : if (r->krb5ccname) {
859 0 : ndr_print_string(ndr, "krb5ccname", r->krb5ccname);
860 : }
861 0 : ndr->depth--;
862 0 : ndr->depth--;
863 : }
864 :
865 391 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_AuthUserInfo(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_AuthUserInfo *r)
866 : {
867 391 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
868 391 : if (ndr_flags & NDR_SCALARS) {
869 391 : NDR_CHECK(ndr_push_align(ndr, 8));
870 391 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->username));
871 : {
872 391 : libndr_flags _flags_save_uint8 = ndr->flags;
873 391 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
874 391 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
875 391 : ndr->flags = _flags_save_uint8;
876 : }
877 391 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_type));
878 391 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
879 391 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
880 : }
881 391 : if (ndr_flags & NDR_BUFFERS) {
882 391 : if (r->username) {
883 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->username, CH_UTF8)));
884 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
885 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->username, CH_UTF8)));
886 391 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->username, ndr_charset_length(r->username, CH_UTF8), sizeof(uint8_t), CH_UTF8));
887 : }
888 : {
889 391 : libndr_flags _flags_save_uint8 = ndr->flags;
890 391 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
891 391 : if (r->password) {
892 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
893 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
894 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
895 391 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
896 : }
897 391 : ndr->flags = _flags_save_uint8;
898 : }
899 391 : if (r->krb5_cc_type) {
900 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
901 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
902 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
903 391 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->krb5_cc_type, ndr_charset_length(r->krb5_cc_type, CH_UTF8), sizeof(uint8_t), CH_UTF8));
904 : }
905 : }
906 391 : return NDR_ERR_SUCCESS;
907 : }
908 :
909 0 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_AuthUserInfo(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_AuthUserInfo *r)
910 : {
911 0 : uint32_t _ptr_username;
912 0 : uint32_t size_username_1 = 0;
913 0 : uint32_t length_username_1 = 0;
914 0 : TALLOC_CTX *_mem_save_username_0 = NULL;
915 0 : uint32_t _ptr_password;
916 0 : uint32_t size_password_1 = 0;
917 0 : uint32_t length_password_1 = 0;
918 0 : TALLOC_CTX *_mem_save_password_0 = NULL;
919 0 : uint32_t _ptr_krb5_cc_type;
920 0 : uint32_t size_krb5_cc_type_1 = 0;
921 0 : uint32_t length_krb5_cc_type_1 = 0;
922 0 : TALLOC_CTX *_mem_save_krb5_cc_type_0 = NULL;
923 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
924 0 : if (ndr_flags & NDR_SCALARS) {
925 0 : NDR_CHECK(ndr_pull_align(ndr, 8));
926 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_username));
927 0 : if (_ptr_username) {
928 0 : NDR_PULL_ALLOC(ndr, r->username);
929 : } else {
930 0 : r->username = NULL;
931 : }
932 : {
933 0 : libndr_flags _flags_save_uint8 = ndr->flags;
934 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
935 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
936 0 : if (_ptr_password) {
937 0 : NDR_PULL_ALLOC(ndr, r->password);
938 : } else {
939 0 : r->password = NULL;
940 : }
941 0 : ndr->flags = _flags_save_uint8;
942 : }
943 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_type));
944 0 : if (_ptr_krb5_cc_type) {
945 0 : NDR_PULL_ALLOC(ndr, r->krb5_cc_type);
946 : } else {
947 0 : r->krb5_cc_type = NULL;
948 : }
949 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
950 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
951 : }
952 0 : if (ndr_flags & NDR_BUFFERS) {
953 0 : if (r->username) {
954 0 : _mem_save_username_0 = NDR_PULL_GET_MEM_CTX(ndr);
955 0 : NDR_PULL_SET_MEM_CTX(ndr, r->username, 0);
956 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->username));
957 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->username));
958 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->username, &size_username_1));
959 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->username, &length_username_1));
960 0 : if (length_username_1 > size_username_1) {
961 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_username_1, length_username_1);
962 : }
963 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_username_1, sizeof(uint8_t)));
964 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->username, length_username_1, sizeof(uint8_t), CH_UTF8));
965 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_username_0, 0);
966 : }
967 : {
968 0 : libndr_flags _flags_save_uint8 = ndr->flags;
969 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
970 0 : if (r->password) {
971 0 : _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
972 0 : NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
973 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
974 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
975 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->password, &size_password_1));
976 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->password, &length_password_1));
977 0 : if (length_password_1 > size_password_1) {
978 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_password_1, length_password_1);
979 : }
980 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint8_t)));
981 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, length_password_1, sizeof(uint8_t), CH_UTF8));
982 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
983 : }
984 0 : ndr->flags = _flags_save_uint8;
985 : }
986 0 : if (r->krb5_cc_type) {
987 0 : _mem_save_krb5_cc_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
988 0 : NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_type, 0);
989 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_type));
990 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_type));
991 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->krb5_cc_type, &size_krb5_cc_type_1));
992 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->krb5_cc_type, &length_krb5_cc_type_1));
993 0 : if (length_krb5_cc_type_1 > size_krb5_cc_type_1) {
994 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_krb5_cc_type_1, length_krb5_cc_type_1);
995 : }
996 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_krb5_cc_type_1, sizeof(uint8_t)));
997 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->krb5_cc_type, length_krb5_cc_type_1, sizeof(uint8_t), CH_UTF8));
998 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_type_0, 0);
999 : }
1000 : }
1001 0 : return NDR_ERR_SUCCESS;
1002 : }
1003 :
1004 0 : static void ndr_print_flags_wbint_AuthUserInfo(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_AuthUserInfo *r)
1005 : {
1006 0 : ndr_print_wbint_AuthUserInfo(ndr, name, r);
1007 0 : }
1008 :
1009 0 : _PUBLIC_ void ndr_print_wbint_AuthUserInfo(struct ndr_print *ndr, const char *name, const struct wbint_AuthUserInfo *r)
1010 : {
1011 0 : ndr_print_struct(ndr, name, "wbint_AuthUserInfo");
1012 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1013 0 : ndr->depth++;
1014 0 : ndr_print_ptr(ndr, "username", r->username);
1015 0 : ndr->depth++;
1016 0 : if (r->username) {
1017 0 : ndr_print_string(ndr, "username", r->username);
1018 : }
1019 0 : ndr->depth--;
1020 : {
1021 0 : libndr_flags _flags_save_uint8 = ndr->flags;
1022 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
1023 0 : ndr_print_ptr(ndr, "password", r->password);
1024 0 : ndr->depth++;
1025 0 : if (r->password) {
1026 0 : ndr_print_string(ndr, "password", r->password);
1027 : }
1028 0 : ndr->depth--;
1029 0 : ndr->flags = _flags_save_uint8;
1030 : }
1031 0 : ndr_print_ptr(ndr, "krb5_cc_type", r->krb5_cc_type);
1032 0 : ndr->depth++;
1033 0 : if (r->krb5_cc_type) {
1034 0 : ndr_print_string(ndr, "krb5_cc_type", r->krb5_cc_type);
1035 : }
1036 0 : ndr->depth--;
1037 0 : ndr_print_hyper(ndr, "uid", r->uid);
1038 0 : ndr->depth--;
1039 : }
1040 :
1041 0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_PamAuthCrapValidation(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct wbint_PamAuthCrapValidation *r)
1042 : {
1043 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1044 0 : if (ndr_flags & NDR_SCALARS) {
1045 0 : NDR_CHECK(ndr_push_align(ndr, 5));
1046 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->level));
1047 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->validation));
1048 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1049 : }
1050 0 : if (ndr_flags & NDR_BUFFERS) {
1051 0 : if (r->validation) {
1052 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->validation, r->level));
1053 0 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
1054 : }
1055 : }
1056 0 : return NDR_ERR_SUCCESS;
1057 : }
1058 :
1059 710 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_PamAuthCrapValidation(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct wbint_PamAuthCrapValidation *r)
1060 : {
1061 0 : uint32_t _ptr_validation;
1062 710 : TALLOC_CTX *_mem_save_validation_0 = NULL;
1063 710 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1064 710 : if (ndr_flags & NDR_SCALARS) {
1065 710 : NDR_CHECK(ndr_pull_align(ndr, 5));
1066 710 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->level));
1067 710 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_validation));
1068 710 : if (_ptr_validation) {
1069 498 : NDR_PULL_ALLOC(ndr, r->validation);
1070 : } else {
1071 212 : r->validation = NULL;
1072 : }
1073 710 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1074 : }
1075 710 : if (ndr_flags & NDR_BUFFERS) {
1076 710 : if (r->validation) {
1077 498 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
1078 498 : NDR_PULL_SET_MEM_CTX(ndr, r->validation, 0);
1079 498 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->validation, r->level));
1080 498 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
1081 498 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, 0);
1082 : }
1083 : }
1084 710 : return NDR_ERR_SUCCESS;
1085 : }
1086 :
1087 0 : static void ndr_print_flags_wbint_PamAuthCrapValidation(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct wbint_PamAuthCrapValidation *r)
1088 : {
1089 0 : ndr_print_wbint_PamAuthCrapValidation(ndr, name, r);
1090 0 : }
1091 :
1092 0 : _PUBLIC_ void ndr_print_wbint_PamAuthCrapValidation(struct ndr_print *ndr, const char *name, const struct wbint_PamAuthCrapValidation *r)
1093 : {
1094 0 : ndr_print_struct(ndr, name, "wbint_PamAuthCrapValidation");
1095 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1096 0 : ndr->depth++;
1097 0 : ndr_print_uint16(ndr, "level", r->level);
1098 0 : ndr_print_ptr(ndr, "validation", r->validation);
1099 0 : ndr->depth++;
1100 0 : if (r->validation) {
1101 0 : ndr_print_set_switch_value(ndr, r->validation, r->level);
1102 0 : ndr_print_netr_Validation(ndr, "validation", r->validation);
1103 : }
1104 0 : ndr->depth--;
1105 0 : ndr->depth--;
1106 : }
1107 :
1108 0 : static enum ndr_err_code ndr_push_DomainInfoFlags(struct ndr_push *ndr, ndr_flags_type ndr_flags, enum DomainInfoFlags r)
1109 : {
1110 0 : NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1111 0 : return NDR_ERR_SUCCESS;
1112 : }
1113 :
1114 103 : static enum ndr_err_code ndr_pull_DomainInfoFlags(struct ndr_pull *ndr, ndr_flags_type ndr_flags, enum DomainInfoFlags *r)
1115 : {
1116 0 : uint16_t v;
1117 103 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1118 103 : *r = v;
1119 103 : return NDR_ERR_SUCCESS;
1120 : }
1121 :
1122 0 : _PUBLIC_ void ndr_print_DomainInfoFlags(struct ndr_print *ndr, const char *name, enum DomainInfoFlags r)
1123 : {
1124 0 : const char *val = NULL;
1125 :
1126 0 : switch (r) {
1127 0 : case WB_DOMINFO_DOMAIN_UNKNOWN: val = "WB_DOMINFO_DOMAIN_UNKNOWN"; break;
1128 0 : case WB_DOMINFO_DOMAIN_NATIVE: val = "WB_DOMINFO_DOMAIN_NATIVE"; break;
1129 0 : case WB_DOMINFO_DOMAIN_AD: val = "WB_DOMINFO_DOMAIN_AD"; break;
1130 0 : case WB_DOMINFO_DOMAIN_PRIMARY: val = "WB_DOMINFO_DOMAIN_PRIMARY"; break;
1131 0 : case WB_DOMINFO_DOMAIN_OFFLINE: val = "WB_DOMINFO_DOMAIN_OFFLINE"; break;
1132 : }
1133 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
1134 0 : }
1135 :
1136 4 : static enum ndr_err_code ndr_push_wbint_Ping(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_Ping *r)
1137 : {
1138 4 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1139 4 : if (flags & NDR_IN) {
1140 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data));
1141 : }
1142 4 : if (flags & NDR_OUT) {
1143 0 : if (r->out.out_data == NULL) {
1144 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1145 : }
1146 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.out_data));
1147 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1148 : }
1149 4 : return NDR_ERR_SUCCESS;
1150 : }
1151 :
1152 4 : static enum ndr_err_code ndr_pull_wbint_Ping(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_Ping *r)
1153 : {
1154 4 : TALLOC_CTX *_mem_save_out_data_0 = NULL;
1155 4 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1156 4 : if (flags & NDR_IN) {
1157 0 : NDR_ZERO_STRUCT(r->out);
1158 :
1159 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.in_data));
1160 0 : NDR_PULL_ALLOC(ndr, r->out.out_data);
1161 0 : NDR_ZERO_STRUCTP(r->out.out_data);
1162 : }
1163 4 : if (flags & NDR_OUT) {
1164 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1165 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1166 4 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1167 4 : NDR_PULL_ALLOC(ndr, r->out.out_data);
1168 : }
1169 4 : _mem_save_out_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1170 4 : NDR_PULL_SET_MEM_CTX(ndr, r->out.out_data, LIBNDR_FLAG_REF_ALLOC);
1171 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.out_data));
1172 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_data_0, LIBNDR_FLAG_REF_ALLOC);
1173 4 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1174 : }
1175 4 : return NDR_ERR_SUCCESS;
1176 : }
1177 :
1178 0 : _PUBLIC_ void ndr_print_wbint_Ping(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_Ping *r)
1179 : {
1180 0 : ndr_print_struct(ndr, name, "wbint_Ping");
1181 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1182 0 : ndr->depth++;
1183 0 : if (flags & NDR_SET_VALUES) {
1184 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1185 : }
1186 0 : if (flags & NDR_IN) {
1187 0 : ndr_print_struct(ndr, "in", "wbint_Ping");
1188 0 : ndr->depth++;
1189 0 : ndr_print_uint32(ndr, "in_data", r->in.in_data);
1190 0 : ndr->depth--;
1191 : }
1192 0 : if (flags & NDR_OUT) {
1193 0 : ndr_print_struct(ndr, "out", "wbint_Ping");
1194 0 : ndr->depth++;
1195 0 : ndr_print_ptr(ndr, "out_data", r->out.out_data);
1196 0 : ndr->depth++;
1197 0 : ndr_print_uint32(ndr, "out_data", *r->out.out_data);
1198 0 : ndr->depth--;
1199 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1200 0 : ndr->depth--;
1201 : }
1202 0 : ndr->depth--;
1203 : }
1204 :
1205 17675 : static enum ndr_err_code ndr_push_wbint_LookupSid(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupSid *r)
1206 : {
1207 17675 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1208 17675 : if (flags & NDR_IN) {
1209 17675 : if (r->in.sid == NULL) {
1210 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1211 : }
1212 17675 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
1213 : }
1214 17675 : if (flags & NDR_OUT) {
1215 0 : if (r->out.type == NULL) {
1216 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1217 : }
1218 0 : if (r->out.domain == NULL) {
1219 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1220 : }
1221 0 : if (r->out.name == NULL) {
1222 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1223 : }
1224 0 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type));
1225 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain));
1226 0 : if (*r->out.domain) {
1227 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8)));
1228 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1229 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8)));
1230 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain, ndr_charset_length(*r->out.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1231 : }
1232 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name));
1233 0 : if (*r->out.name) {
1234 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
1235 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1236 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
1237 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name, ndr_charset_length(*r->out.name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1238 : }
1239 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1240 : }
1241 17675 : return NDR_ERR_SUCCESS;
1242 : }
1243 :
1244 17675 : static enum ndr_err_code ndr_pull_wbint_LookupSid(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupSid *r)
1245 : {
1246 0 : uint32_t _ptr_domain;
1247 17675 : uint32_t size_domain_2 = 0;
1248 17675 : uint32_t length_domain_2 = 0;
1249 0 : uint32_t _ptr_name;
1250 17675 : uint32_t size_name_2 = 0;
1251 17675 : uint32_t length_name_2 = 0;
1252 17675 : TALLOC_CTX *_mem_save_sid_0 = NULL;
1253 17675 : TALLOC_CTX *_mem_save_type_0 = NULL;
1254 17675 : TALLOC_CTX *_mem_save_domain_0 = NULL;
1255 17675 : TALLOC_CTX *_mem_save_domain_1 = NULL;
1256 17675 : TALLOC_CTX *_mem_save_name_0 = NULL;
1257 17675 : TALLOC_CTX *_mem_save_name_1 = NULL;
1258 17675 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1259 17675 : if (flags & NDR_IN) {
1260 0 : NDR_ZERO_STRUCT(r->out);
1261 :
1262 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1263 0 : NDR_PULL_ALLOC(ndr, r->in.sid);
1264 : }
1265 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1266 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
1267 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
1268 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
1269 0 : NDR_PULL_ALLOC(ndr, r->out.type);
1270 0 : NDR_ZERO_STRUCTP(r->out.type);
1271 0 : NDR_PULL_ALLOC(ndr, r->out.domain);
1272 0 : NDR_ZERO_STRUCTP(r->out.domain);
1273 0 : NDR_PULL_ALLOC(ndr, r->out.name);
1274 0 : NDR_ZERO_STRUCTP(r->out.name);
1275 : }
1276 17675 : if (flags & NDR_OUT) {
1277 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1278 : if (r->in.sid == NULL) {
1279 : NDR_PULL_ALLOC(ndr, r->in.sid);
1280 : NDR_ZERO_STRUCTP(r->in.sid);
1281 : }
1282 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1283 17675 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1284 17675 : NDR_PULL_ALLOC(ndr, r->out.type);
1285 : }
1286 17675 : _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1287 17675 : NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
1288 17675 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
1289 17675 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
1290 17675 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1291 17675 : NDR_PULL_ALLOC(ndr, r->out.domain);
1292 : }
1293 17675 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
1294 17675 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domain, LIBNDR_FLAG_REF_ALLOC);
1295 17675 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
1296 17675 : if (_ptr_domain) {
1297 16933 : NDR_PULL_ALLOC(ndr, *r->out.domain);
1298 : } else {
1299 742 : *r->out.domain = NULL;
1300 : }
1301 17675 : if (*r->out.domain) {
1302 16933 : _mem_save_domain_1 = NDR_PULL_GET_MEM_CTX(ndr);
1303 16933 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain, 0);
1304 16933 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain));
1305 16933 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain));
1306 16933 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain, &size_domain_2));
1307 16933 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain, &length_domain_2));
1308 16933 : if (length_domain_2 > size_domain_2) {
1309 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_2, length_domain_2);
1310 : }
1311 16933 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_2, sizeof(uint8_t)));
1312 16933 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain, length_domain_2, sizeof(uint8_t), CH_UTF8));
1313 16933 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_1, 0);
1314 : }
1315 17675 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, LIBNDR_FLAG_REF_ALLOC);
1316 17675 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1317 17675 : NDR_PULL_ALLOC(ndr, r->out.name);
1318 : }
1319 17675 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1320 17675 : NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1321 17675 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1322 17675 : if (_ptr_name) {
1323 16933 : NDR_PULL_ALLOC(ndr, *r->out.name);
1324 : } else {
1325 742 : *r->out.name = NULL;
1326 : }
1327 17675 : if (*r->out.name) {
1328 16933 : _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
1329 16933 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
1330 16933 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.name));
1331 16933 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.name));
1332 16933 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.name, &size_name_2));
1333 16933 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.name, &length_name_2));
1334 16933 : if (length_name_2 > size_name_2) {
1335 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_name_2, length_name_2);
1336 : }
1337 16933 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_2, sizeof(uint8_t)));
1338 16933 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, length_name_2, sizeof(uint8_t), CH_UTF8));
1339 16933 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
1340 : }
1341 17675 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1342 17675 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1343 : }
1344 17675 : return NDR_ERR_SUCCESS;
1345 : }
1346 :
1347 0 : _PUBLIC_ void ndr_print_wbint_LookupSid(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupSid *r)
1348 : {
1349 0 : ndr_print_struct(ndr, name, "wbint_LookupSid");
1350 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1351 0 : ndr->depth++;
1352 0 : if (flags & NDR_SET_VALUES) {
1353 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1354 : }
1355 0 : if (flags & NDR_IN) {
1356 0 : ndr_print_struct(ndr, "in", "wbint_LookupSid");
1357 0 : ndr->depth++;
1358 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
1359 0 : ndr->depth++;
1360 0 : ndr_print_dom_sid(ndr, "sid", r->in.sid);
1361 0 : ndr->depth--;
1362 0 : ndr->depth--;
1363 : }
1364 0 : if (flags & NDR_OUT) {
1365 0 : ndr_print_struct(ndr, "out", "wbint_LookupSid");
1366 0 : ndr->depth++;
1367 0 : ndr_print_ptr(ndr, "type", r->out.type);
1368 0 : ndr->depth++;
1369 0 : ndr_print_lsa_SidType(ndr, "type", *r->out.type);
1370 0 : ndr->depth--;
1371 0 : ndr_print_ptr(ndr, "domain", r->out.domain);
1372 0 : ndr->depth++;
1373 0 : ndr_print_ptr(ndr, "domain", *r->out.domain);
1374 0 : ndr->depth++;
1375 0 : if (*r->out.domain) {
1376 0 : ndr_print_string(ndr, "domain", *r->out.domain);
1377 : }
1378 0 : ndr->depth--;
1379 0 : ndr->depth--;
1380 0 : ndr_print_ptr(ndr, "name", r->out.name);
1381 0 : ndr->depth++;
1382 0 : ndr_print_ptr(ndr, "name", *r->out.name);
1383 0 : ndr->depth++;
1384 0 : if (*r->out.name) {
1385 0 : ndr_print_string(ndr, "name", *r->out.name);
1386 : }
1387 0 : ndr->depth--;
1388 0 : ndr->depth--;
1389 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1390 0 : ndr->depth--;
1391 : }
1392 0 : ndr->depth--;
1393 : }
1394 :
1395 1160 : static enum ndr_err_code ndr_push_wbint_LookupSids(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupSids *r)
1396 : {
1397 1160 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1398 1160 : if (flags & NDR_IN) {
1399 1160 : if (r->in.sids == NULL) {
1400 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1401 : }
1402 1160 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
1403 : }
1404 1160 : if (flags & NDR_OUT) {
1405 0 : if (r->out.domains == NULL) {
1406 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1407 : }
1408 0 : if (r->out.names == NULL) {
1409 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1410 : }
1411 0 : NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
1412 0 : NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
1413 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1414 : }
1415 1160 : return NDR_ERR_SUCCESS;
1416 : }
1417 :
1418 1160 : static enum ndr_err_code ndr_pull_wbint_LookupSids(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupSids *r)
1419 : {
1420 1160 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1421 1160 : TALLOC_CTX *_mem_save_domains_0 = NULL;
1422 1160 : TALLOC_CTX *_mem_save_names_0 = NULL;
1423 1160 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1424 1160 : if (flags & NDR_IN) {
1425 0 : NDR_ZERO_STRUCT(r->out);
1426 :
1427 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1428 0 : NDR_PULL_ALLOC(ndr, r->in.sids);
1429 : }
1430 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1431 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
1432 0 : NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
1433 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
1434 0 : NDR_PULL_ALLOC(ndr, r->out.domains);
1435 0 : NDR_ZERO_STRUCTP(r->out.domains);
1436 0 : NDR_PULL_ALLOC(ndr, r->out.names);
1437 0 : NDR_ZERO_STRUCTP(r->out.names);
1438 : }
1439 1160 : if (flags & NDR_OUT) {
1440 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1441 : if (r->in.sids == NULL) {
1442 : NDR_PULL_ALLOC(ndr, r->in.sids);
1443 : NDR_ZERO_STRUCTP(r->in.sids);
1444 : }
1445 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1446 1160 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1447 1160 : NDR_PULL_ALLOC(ndr, r->out.domains);
1448 : }
1449 1160 : _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1450 1160 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
1451 1160 : NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
1452 1160 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
1453 1160 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1454 1160 : NDR_PULL_ALLOC(ndr, r->out.names);
1455 : }
1456 1160 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
1457 1160 : NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
1458 1160 : NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
1459 1160 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
1460 1160 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1461 : }
1462 1160 : return NDR_ERR_SUCCESS;
1463 : }
1464 :
1465 0 : _PUBLIC_ void ndr_print_wbint_LookupSids(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupSids *r)
1466 : {
1467 0 : ndr_print_struct(ndr, name, "wbint_LookupSids");
1468 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1469 0 : ndr->depth++;
1470 0 : if (flags & NDR_SET_VALUES) {
1471 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1472 : }
1473 0 : if (flags & NDR_IN) {
1474 0 : ndr_print_struct(ndr, "in", "wbint_LookupSids");
1475 0 : ndr->depth++;
1476 0 : ndr_print_ptr(ndr, "sids", r->in.sids);
1477 0 : ndr->depth++;
1478 0 : ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
1479 0 : ndr->depth--;
1480 0 : ndr->depth--;
1481 : }
1482 0 : if (flags & NDR_OUT) {
1483 0 : ndr_print_struct(ndr, "out", "wbint_LookupSids");
1484 0 : ndr->depth++;
1485 0 : ndr_print_ptr(ndr, "domains", r->out.domains);
1486 0 : ndr->depth++;
1487 0 : ndr_print_lsa_RefDomainList(ndr, "domains", r->out.domains);
1488 0 : ndr->depth--;
1489 0 : ndr_print_ptr(ndr, "names", r->out.names);
1490 0 : ndr->depth++;
1491 0 : ndr_print_lsa_TransNameArray(ndr, "names", r->out.names);
1492 0 : ndr->depth--;
1493 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1494 0 : ndr->depth--;
1495 : }
1496 0 : ndr->depth--;
1497 : }
1498 :
1499 105693 : static enum ndr_err_code ndr_push_wbint_LookupName(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupName *r)
1500 : {
1501 105693 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1502 105693 : if (flags & NDR_IN) {
1503 105693 : if (r->in.domain == NULL) {
1504 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1505 : }
1506 105693 : if (r->in.name == NULL) {
1507 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1508 : }
1509 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
1510 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1511 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
1512 105693 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1513 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
1514 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1515 105693 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
1516 105693 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1517 105693 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
1518 : }
1519 105693 : if (flags & NDR_OUT) {
1520 0 : if (r->out.type == NULL) {
1521 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1522 : }
1523 0 : if (r->out.sid == NULL) {
1524 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1525 : }
1526 0 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type));
1527 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid));
1528 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1529 : }
1530 105693 : return NDR_ERR_SUCCESS;
1531 : }
1532 :
1533 105693 : static enum ndr_err_code ndr_pull_wbint_LookupName(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupName *r)
1534 : {
1535 105693 : uint32_t size_domain_1 = 0;
1536 105693 : uint32_t length_domain_1 = 0;
1537 105693 : uint32_t size_name_1 = 0;
1538 105693 : uint32_t length_name_1 = 0;
1539 105693 : TALLOC_CTX *_mem_save_type_0 = NULL;
1540 105693 : TALLOC_CTX *_mem_save_sid_0 = NULL;
1541 105693 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1542 105693 : if (flags & NDR_IN) {
1543 0 : NDR_ZERO_STRUCT(r->out);
1544 :
1545 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
1546 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
1547 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
1548 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
1549 0 : if (length_domain_1 > size_domain_1) {
1550 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_1, length_domain_1);
1551 : }
1552 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
1553 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
1554 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
1555 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
1556 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.name, &size_name_1));
1557 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.name, &length_name_1));
1558 0 : if (length_name_1 > size_name_1) {
1559 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_name_1, length_name_1);
1560 : }
1561 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint8_t)));
1562 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, length_name_1, sizeof(uint8_t), CH_UTF8));
1563 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
1564 0 : NDR_PULL_ALLOC(ndr, r->out.type);
1565 0 : NDR_ZERO_STRUCTP(r->out.type);
1566 0 : NDR_PULL_ALLOC(ndr, r->out.sid);
1567 0 : NDR_ZERO_STRUCTP(r->out.sid);
1568 : }
1569 105693 : if (flags & NDR_OUT) {
1570 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1571 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1572 105693 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1573 105693 : NDR_PULL_ALLOC(ndr, r->out.type);
1574 : }
1575 105693 : _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1576 105693 : NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
1577 105693 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
1578 105693 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
1579 105693 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1580 105693 : NDR_PULL_ALLOC(ndr, r->out.sid);
1581 : }
1582 105693 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1583 105693 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
1584 105693 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid));
1585 105693 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
1586 105693 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1587 : }
1588 105693 : return NDR_ERR_SUCCESS;
1589 : }
1590 :
1591 0 : _PUBLIC_ void ndr_print_wbint_LookupName(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupName *r)
1592 : {
1593 0 : ndr_print_struct(ndr, name, "wbint_LookupName");
1594 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1595 0 : ndr->depth++;
1596 0 : if (flags & NDR_SET_VALUES) {
1597 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1598 : }
1599 0 : if (flags & NDR_IN) {
1600 0 : ndr_print_struct(ndr, "in", "wbint_LookupName");
1601 0 : ndr->depth++;
1602 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
1603 0 : ndr->depth++;
1604 0 : ndr_print_string(ndr, "domain", r->in.domain);
1605 0 : ndr->depth--;
1606 0 : ndr_print_ptr(ndr, "name", r->in.name);
1607 0 : ndr->depth++;
1608 0 : ndr_print_string(ndr, "name", r->in.name);
1609 0 : ndr->depth--;
1610 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
1611 0 : ndr->depth--;
1612 : }
1613 0 : if (flags & NDR_OUT) {
1614 0 : ndr_print_struct(ndr, "out", "wbint_LookupName");
1615 0 : ndr->depth++;
1616 0 : ndr_print_ptr(ndr, "type", r->out.type);
1617 0 : ndr->depth++;
1618 0 : ndr_print_lsa_SidType(ndr, "type", *r->out.type);
1619 0 : ndr->depth--;
1620 0 : ndr_print_ptr(ndr, "sid", r->out.sid);
1621 0 : ndr->depth++;
1622 0 : ndr_print_dom_sid(ndr, "sid", r->out.sid);
1623 0 : ndr->depth--;
1624 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1625 0 : ndr->depth--;
1626 : }
1627 0 : ndr->depth--;
1628 : }
1629 :
1630 4177 : static enum ndr_err_code ndr_push_wbint_Sids2UnixIDs(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_Sids2UnixIDs *r)
1631 : {
1632 4177 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1633 4177 : if (flags & NDR_IN) {
1634 4177 : if (r->in.domains == NULL) {
1635 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1636 : }
1637 4177 : if (r->in.ids == NULL) {
1638 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1639 : }
1640 4177 : NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domains));
1641 4177 : NDR_CHECK(ndr_push_wbint_TransIDArray(ndr, NDR_SCALARS, r->in.ids));
1642 : }
1643 4177 : if (flags & NDR_OUT) {
1644 0 : if (r->out.ids == NULL) {
1645 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1646 : }
1647 0 : NDR_CHECK(ndr_push_wbint_TransIDArray(ndr, NDR_SCALARS, r->out.ids));
1648 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1649 : }
1650 4177 : return NDR_ERR_SUCCESS;
1651 : }
1652 :
1653 4177 : static enum ndr_err_code ndr_pull_wbint_Sids2UnixIDs(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_Sids2UnixIDs *r)
1654 : {
1655 4177 : TALLOC_CTX *_mem_save_domains_0 = NULL;
1656 4177 : TALLOC_CTX *_mem_save_ids_0 = NULL;
1657 4177 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1658 4177 : if (flags & NDR_IN) {
1659 0 : NDR_ZERO_STRUCT(r->out);
1660 :
1661 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1662 0 : NDR_PULL_ALLOC(ndr, r->in.domains);
1663 : }
1664 0 : _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1665 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domains, LIBNDR_FLAG_REF_ALLOC);
1666 0 : NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domains));
1667 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
1668 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1669 0 : NDR_PULL_ALLOC(ndr, r->in.ids);
1670 : }
1671 0 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1672 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.ids, LIBNDR_FLAG_REF_ALLOC);
1673 0 : NDR_CHECK(ndr_pull_wbint_TransIDArray(ndr, NDR_SCALARS, r->in.ids));
1674 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, LIBNDR_FLAG_REF_ALLOC);
1675 0 : NDR_PULL_ALLOC(ndr, r->out.ids);
1676 0 : *r->out.ids = *r->in.ids;
1677 : }
1678 4177 : if (flags & NDR_OUT) {
1679 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1680 : if (r->in.domains == NULL) {
1681 : NDR_PULL_ALLOC(ndr, r->in.domains);
1682 : NDR_ZERO_STRUCTP(r->in.domains);
1683 : }
1684 : if (r->in.ids == NULL) {
1685 : NDR_PULL_ALLOC(ndr, r->in.ids);
1686 : NDR_ZERO_STRUCTP(r->in.ids);
1687 : }
1688 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1689 4177 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1690 4177 : NDR_PULL_ALLOC(ndr, r->out.ids);
1691 : }
1692 4177 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1693 4177 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ids, LIBNDR_FLAG_REF_ALLOC);
1694 4177 : NDR_CHECK(ndr_pull_wbint_TransIDArray(ndr, NDR_SCALARS, r->out.ids));
1695 4177 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, LIBNDR_FLAG_REF_ALLOC);
1696 4177 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1697 : }
1698 4177 : return NDR_ERR_SUCCESS;
1699 : }
1700 :
1701 0 : _PUBLIC_ void ndr_print_wbint_Sids2UnixIDs(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_Sids2UnixIDs *r)
1702 : {
1703 0 : ndr_print_struct(ndr, name, "wbint_Sids2UnixIDs");
1704 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1705 0 : ndr->depth++;
1706 0 : if (flags & NDR_SET_VALUES) {
1707 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1708 : }
1709 0 : if (flags & NDR_IN) {
1710 0 : ndr_print_struct(ndr, "in", "wbint_Sids2UnixIDs");
1711 0 : ndr->depth++;
1712 0 : ndr_print_ptr(ndr, "domains", r->in.domains);
1713 0 : ndr->depth++;
1714 0 : ndr_print_lsa_RefDomainList(ndr, "domains", r->in.domains);
1715 0 : ndr->depth--;
1716 0 : ndr_print_ptr(ndr, "ids", r->in.ids);
1717 0 : ndr->depth++;
1718 0 : ndr_print_wbint_TransIDArray(ndr, "ids", r->in.ids);
1719 0 : ndr->depth--;
1720 0 : ndr->depth--;
1721 : }
1722 0 : if (flags & NDR_OUT) {
1723 0 : ndr_print_struct(ndr, "out", "wbint_Sids2UnixIDs");
1724 0 : ndr->depth++;
1725 0 : ndr_print_ptr(ndr, "ids", r->out.ids);
1726 0 : ndr->depth++;
1727 0 : ndr_print_wbint_TransIDArray(ndr, "ids", r->out.ids);
1728 0 : ndr->depth--;
1729 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1730 0 : ndr->depth--;
1731 : }
1732 0 : ndr->depth--;
1733 : }
1734 :
1735 488 : static enum ndr_err_code ndr_push_wbint_UnixIDs2Sids(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_UnixIDs2Sids *r)
1736 : {
1737 0 : uint32_t cntr_xids_0;
1738 0 : uint32_t cntr_sids_0;
1739 488 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1740 488 : if (flags & NDR_IN) {
1741 488 : if (r->in.domain_name == NULL) {
1742 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1743 : }
1744 488 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
1745 488 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1746 488 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
1747 488 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1748 488 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->in.domain_sid));
1749 488 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ids));
1750 1112 : for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
1751 624 : NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->in.xids[cntr_xids_0]));
1752 : }
1753 : }
1754 488 : if (flags & NDR_OUT) {
1755 0 : for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
1756 0 : NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->out.xids[cntr_xids_0]));
1757 : }
1758 0 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->in.num_ids); cntr_sids_0++) {
1759 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->out.sids[cntr_sids_0]));
1760 : }
1761 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1762 : }
1763 488 : return NDR_ERR_SUCCESS;
1764 : }
1765 :
1766 488 : static enum ndr_err_code ndr_pull_wbint_UnixIDs2Sids(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_UnixIDs2Sids *r)
1767 : {
1768 488 : uint32_t size_domain_name_1 = 0;
1769 488 : uint32_t length_domain_name_1 = 0;
1770 488 : uint32_t size_xids_0 = 0;
1771 0 : uint32_t cntr_xids_0;
1772 488 : uint32_t size_sids_0 = 0;
1773 0 : uint32_t cntr_sids_0;
1774 488 : TALLOC_CTX *_mem_save_xids_0 = NULL;
1775 488 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1776 488 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1777 488 : if (flags & NDR_IN) {
1778 0 : NDR_ZERO_STRUCT(r->out);
1779 :
1780 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
1781 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
1782 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
1783 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
1784 0 : if (length_domain_name_1 > size_domain_name_1) {
1785 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_name_1, length_domain_name_1);
1786 : }
1787 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
1788 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
1789 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->in.domain_sid));
1790 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ids));
1791 0 : size_xids_0 = r->in.num_ids;
1792 0 : NDR_PULL_ALLOC_N(ndr, r->in.xids, size_xids_0);
1793 0 : _mem_save_xids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1794 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.xids, 0);
1795 0 : for (cntr_xids_0 = 0; cntr_xids_0 < (size_xids_0); cntr_xids_0++) {
1796 0 : NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->in.xids[cntr_xids_0]));
1797 : }
1798 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xids_0, 0);
1799 : }
1800 488 : if (flags & NDR_OUT) {
1801 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1802 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1803 488 : size_xids_0 = r->in.num_ids;
1804 488 : NDR_PULL_ALLOC_N(ndr, r->out.xids, size_xids_0);
1805 488 : _mem_save_xids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1806 488 : NDR_PULL_SET_MEM_CTX(ndr, r->out.xids, 0);
1807 1112 : for (cntr_xids_0 = 0; cntr_xids_0 < (size_xids_0); cntr_xids_0++) {
1808 624 : NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->out.xids[cntr_xids_0]));
1809 : }
1810 488 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xids_0, 0);
1811 488 : size_sids_0 = r->in.num_ids;
1812 488 : NDR_PULL_ALLOC_N(ndr, r->out.sids, size_sids_0);
1813 488 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1814 488 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, 0);
1815 1112 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
1816 624 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->out.sids[cntr_sids_0]));
1817 : }
1818 488 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1819 488 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1820 : }
1821 488 : return NDR_ERR_SUCCESS;
1822 : }
1823 :
1824 0 : _PUBLIC_ void ndr_print_wbint_UnixIDs2Sids(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_UnixIDs2Sids *r)
1825 : {
1826 0 : uint32_t cntr_xids_0;
1827 0 : uint32_t cntr_sids_0;
1828 0 : ndr_print_struct(ndr, name, "wbint_UnixIDs2Sids");
1829 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1830 0 : ndr->depth++;
1831 0 : if (flags & NDR_SET_VALUES) {
1832 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1833 : }
1834 0 : if (flags & NDR_IN) {
1835 0 : ndr_print_struct(ndr, "in", "wbint_UnixIDs2Sids");
1836 0 : ndr->depth++;
1837 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
1838 0 : ndr->depth++;
1839 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
1840 0 : ndr->depth--;
1841 0 : ndr_print_dom_sid(ndr, "domain_sid", &r->in.domain_sid);
1842 0 : ndr_print_uint32(ndr, "num_ids", r->in.num_ids);
1843 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "xids", (uint32_t)(r->in.num_ids));
1844 0 : ndr->depth++;
1845 0 : for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
1846 0 : ndr_print_unixid(ndr, "xids", &r->in.xids[cntr_xids_0]);
1847 : }
1848 0 : ndr->depth--;
1849 0 : ndr->depth--;
1850 : }
1851 0 : if (flags & NDR_OUT) {
1852 0 : ndr_print_struct(ndr, "out", "wbint_UnixIDs2Sids");
1853 0 : ndr->depth++;
1854 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "xids", (uint32_t)(r->in.num_ids));
1855 0 : ndr->depth++;
1856 0 : for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
1857 0 : ndr_print_unixid(ndr, "xids", &r->out.xids[cntr_xids_0]);
1858 : }
1859 0 : ndr->depth--;
1860 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "sids", (uint32_t)(r->in.num_ids));
1861 0 : ndr->depth++;
1862 0 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->in.num_ids); cntr_sids_0++) {
1863 0 : ndr_print_dom_sid(ndr, "sids", &r->out.sids[cntr_sids_0]);
1864 : }
1865 0 : ndr->depth--;
1866 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1867 0 : ndr->depth--;
1868 : }
1869 0 : ndr->depth--;
1870 : }
1871 :
1872 6 : static enum ndr_err_code ndr_push_wbint_AllocateUid(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_AllocateUid *r)
1873 : {
1874 6 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1875 6 : if (flags & NDR_IN) {
1876 0 : }
1877 6 : if (flags & NDR_OUT) {
1878 0 : if (r->out.uid == NULL) {
1879 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1880 : }
1881 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.uid));
1882 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1883 : }
1884 6 : return NDR_ERR_SUCCESS;
1885 : }
1886 :
1887 6 : static enum ndr_err_code ndr_pull_wbint_AllocateUid(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_AllocateUid *r)
1888 : {
1889 6 : TALLOC_CTX *_mem_save_uid_0 = NULL;
1890 6 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1891 6 : if (flags & NDR_IN) {
1892 0 : NDR_ZERO_STRUCT(r->out);
1893 :
1894 0 : NDR_PULL_ALLOC(ndr, r->out.uid);
1895 0 : NDR_ZERO_STRUCTP(r->out.uid);
1896 : }
1897 6 : if (flags & NDR_OUT) {
1898 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1899 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1900 6 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1901 6 : NDR_PULL_ALLOC(ndr, r->out.uid);
1902 : }
1903 6 : _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1904 6 : NDR_PULL_SET_MEM_CTX(ndr, r->out.uid, LIBNDR_FLAG_REF_ALLOC);
1905 6 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.uid));
1906 6 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, LIBNDR_FLAG_REF_ALLOC);
1907 6 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1908 : }
1909 6 : return NDR_ERR_SUCCESS;
1910 : }
1911 :
1912 0 : _PUBLIC_ void ndr_print_wbint_AllocateUid(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_AllocateUid *r)
1913 : {
1914 0 : ndr_print_struct(ndr, name, "wbint_AllocateUid");
1915 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1916 0 : ndr->depth++;
1917 0 : if (flags & NDR_SET_VALUES) {
1918 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1919 : }
1920 0 : if (flags & NDR_IN) {
1921 0 : ndr_print_struct(ndr, "in", "wbint_AllocateUid");
1922 0 : ndr->depth++;
1923 0 : ndr->depth--;
1924 : }
1925 0 : if (flags & NDR_OUT) {
1926 0 : ndr_print_struct(ndr, "out", "wbint_AllocateUid");
1927 0 : ndr->depth++;
1928 0 : ndr_print_ptr(ndr, "uid", r->out.uid);
1929 0 : ndr->depth++;
1930 0 : ndr_print_hyper(ndr, "uid", *r->out.uid);
1931 0 : ndr->depth--;
1932 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1933 0 : ndr->depth--;
1934 : }
1935 0 : ndr->depth--;
1936 : }
1937 :
1938 429 : static enum ndr_err_code ndr_push_wbint_AllocateGid(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_AllocateGid *r)
1939 : {
1940 429 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1941 429 : if (flags & NDR_IN) {
1942 0 : }
1943 429 : if (flags & NDR_OUT) {
1944 0 : if (r->out.gid == NULL) {
1945 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1946 : }
1947 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.gid));
1948 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
1949 : }
1950 429 : return NDR_ERR_SUCCESS;
1951 : }
1952 :
1953 429 : static enum ndr_err_code ndr_pull_wbint_AllocateGid(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_AllocateGid *r)
1954 : {
1955 429 : TALLOC_CTX *_mem_save_gid_0 = NULL;
1956 429 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1957 429 : if (flags & NDR_IN) {
1958 0 : NDR_ZERO_STRUCT(r->out);
1959 :
1960 0 : NDR_PULL_ALLOC(ndr, r->out.gid);
1961 0 : NDR_ZERO_STRUCTP(r->out.gid);
1962 : }
1963 429 : if (flags & NDR_OUT) {
1964 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1965 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1966 429 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1967 429 : NDR_PULL_ALLOC(ndr, r->out.gid);
1968 : }
1969 429 : _mem_save_gid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1970 429 : NDR_PULL_SET_MEM_CTX(ndr, r->out.gid, LIBNDR_FLAG_REF_ALLOC);
1971 429 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.gid));
1972 429 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gid_0, LIBNDR_FLAG_REF_ALLOC);
1973 429 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1974 : }
1975 429 : return NDR_ERR_SUCCESS;
1976 : }
1977 :
1978 0 : _PUBLIC_ void ndr_print_wbint_AllocateGid(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_AllocateGid *r)
1979 : {
1980 0 : ndr_print_struct(ndr, name, "wbint_AllocateGid");
1981 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1982 0 : ndr->depth++;
1983 0 : if (flags & NDR_SET_VALUES) {
1984 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1985 : }
1986 0 : if (flags & NDR_IN) {
1987 0 : ndr_print_struct(ndr, "in", "wbint_AllocateGid");
1988 0 : ndr->depth++;
1989 0 : ndr->depth--;
1990 : }
1991 0 : if (flags & NDR_OUT) {
1992 0 : ndr_print_struct(ndr, "out", "wbint_AllocateGid");
1993 0 : ndr->depth++;
1994 0 : ndr_print_ptr(ndr, "gid", r->out.gid);
1995 0 : ndr->depth++;
1996 0 : ndr_print_hyper(ndr, "gid", *r->out.gid);
1997 0 : ndr->depth--;
1998 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
1999 0 : ndr->depth--;
2000 : }
2001 0 : ndr->depth--;
2002 : }
2003 :
2004 104620 : static enum ndr_err_code ndr_push_wbint_GetNssInfo(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_GetNssInfo *r)
2005 : {
2006 104620 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2007 104620 : if (flags & NDR_IN) {
2008 104620 : if (r->in.info == NULL) {
2009 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2010 : }
2011 104620 : NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
2012 : }
2013 104620 : if (flags & NDR_OUT) {
2014 0 : if (r->out.info == NULL) {
2015 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2016 : }
2017 0 : NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
2018 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2019 : }
2020 104620 : return NDR_ERR_SUCCESS;
2021 : }
2022 :
2023 104620 : static enum ndr_err_code ndr_pull_wbint_GetNssInfo(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_GetNssInfo *r)
2024 : {
2025 104620 : TALLOC_CTX *_mem_save_info_0 = NULL;
2026 104620 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2027 104620 : if (flags & NDR_IN) {
2028 0 : NDR_ZERO_STRUCT(r->out);
2029 :
2030 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2031 0 : NDR_PULL_ALLOC(ndr, r->in.info);
2032 : }
2033 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2034 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
2035 0 : NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
2036 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
2037 0 : NDR_PULL_ALLOC(ndr, r->out.info);
2038 0 : *r->out.info = *r->in.info;
2039 : }
2040 104620 : if (flags & NDR_OUT) {
2041 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2042 : if (r->in.info == NULL) {
2043 : NDR_PULL_ALLOC(ndr, r->in.info);
2044 : NDR_ZERO_STRUCTP(r->in.info);
2045 : }
2046 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2047 104620 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2048 104620 : NDR_PULL_ALLOC(ndr, r->out.info);
2049 : }
2050 104620 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2051 104620 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
2052 104620 : NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
2053 104620 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
2054 104620 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2055 : }
2056 104620 : return NDR_ERR_SUCCESS;
2057 : }
2058 :
2059 0 : _PUBLIC_ void ndr_print_wbint_GetNssInfo(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_GetNssInfo *r)
2060 : {
2061 0 : ndr_print_struct(ndr, name, "wbint_GetNssInfo");
2062 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2063 0 : ndr->depth++;
2064 0 : if (flags & NDR_SET_VALUES) {
2065 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2066 : }
2067 0 : if (flags & NDR_IN) {
2068 0 : ndr_print_struct(ndr, "in", "wbint_GetNssInfo");
2069 0 : ndr->depth++;
2070 0 : ndr_print_ptr(ndr, "info", r->in.info);
2071 0 : ndr->depth++;
2072 0 : ndr_print_wbint_userinfo(ndr, "info", r->in.info);
2073 0 : ndr->depth--;
2074 0 : ndr->depth--;
2075 : }
2076 0 : if (flags & NDR_OUT) {
2077 0 : ndr_print_struct(ndr, "out", "wbint_GetNssInfo");
2078 0 : ndr->depth++;
2079 0 : ndr_print_ptr(ndr, "info", r->out.info);
2080 0 : ndr->depth++;
2081 0 : ndr_print_wbint_userinfo(ndr, "info", r->out.info);
2082 0 : ndr->depth--;
2083 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2084 0 : ndr->depth--;
2085 : }
2086 0 : ndr->depth--;
2087 : }
2088 :
2089 4222 : static enum ndr_err_code ndr_push_wbint_LookupUserAliases(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupUserAliases *r)
2090 : {
2091 4222 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2092 4222 : if (flags & NDR_IN) {
2093 4222 : if (r->in.sids == NULL) {
2094 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2095 : }
2096 4222 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids));
2097 : }
2098 4222 : if (flags & NDR_OUT) {
2099 0 : if (r->out.rids == NULL) {
2100 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2101 : }
2102 0 : NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2103 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2104 : }
2105 4222 : return NDR_ERR_SUCCESS;
2106 : }
2107 :
2108 4222 : static enum ndr_err_code ndr_pull_wbint_LookupUserAliases(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupUserAliases *r)
2109 : {
2110 4222 : TALLOC_CTX *_mem_save_sids_0 = NULL;
2111 4222 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2112 4222 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2113 4222 : if (flags & NDR_IN) {
2114 0 : NDR_ZERO_STRUCT(r->out);
2115 :
2116 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2117 0 : NDR_PULL_ALLOC(ndr, r->in.sids);
2118 : }
2119 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2120 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
2121 0 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids));
2122 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
2123 0 : NDR_PULL_ALLOC(ndr, r->out.rids);
2124 0 : NDR_ZERO_STRUCTP(r->out.rids);
2125 : }
2126 4222 : if (flags & NDR_OUT) {
2127 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2128 : if (r->in.sids == NULL) {
2129 : NDR_PULL_ALLOC(ndr, r->in.sids);
2130 : NDR_ZERO_STRUCTP(r->in.sids);
2131 : }
2132 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2133 4222 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2134 4222 : NDR_PULL_ALLOC(ndr, r->out.rids);
2135 : }
2136 4222 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2137 4222 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
2138 4222 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2139 4222 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2140 4222 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2141 : }
2142 4222 : return NDR_ERR_SUCCESS;
2143 : }
2144 :
2145 0 : _PUBLIC_ void ndr_print_wbint_LookupUserAliases(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupUserAliases *r)
2146 : {
2147 0 : ndr_print_struct(ndr, name, "wbint_LookupUserAliases");
2148 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2149 0 : ndr->depth++;
2150 0 : if (flags & NDR_SET_VALUES) {
2151 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2152 : }
2153 0 : if (flags & NDR_IN) {
2154 0 : ndr_print_struct(ndr, "in", "wbint_LookupUserAliases");
2155 0 : ndr->depth++;
2156 0 : ndr_print_ptr(ndr, "sids", r->in.sids);
2157 0 : ndr->depth++;
2158 0 : ndr_print_wbint_SidArray(ndr, "sids", r->in.sids);
2159 0 : ndr->depth--;
2160 0 : ndr->depth--;
2161 : }
2162 0 : if (flags & NDR_OUT) {
2163 0 : ndr_print_struct(ndr, "out", "wbint_LookupUserAliases");
2164 0 : ndr->depth++;
2165 0 : ndr_print_ptr(ndr, "rids", r->out.rids);
2166 0 : ndr->depth++;
2167 0 : ndr_print_wbint_RidArray(ndr, "rids", r->out.rids);
2168 0 : ndr->depth--;
2169 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2170 0 : ndr->depth--;
2171 : }
2172 0 : ndr->depth--;
2173 : }
2174 :
2175 2250 : static enum ndr_err_code ndr_push_wbint_LookupUserGroups(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupUserGroups *r)
2176 : {
2177 2250 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2178 2250 : if (flags & NDR_IN) {
2179 2250 : if (r->in.sid == NULL) {
2180 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2181 : }
2182 2250 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2183 : }
2184 2250 : if (flags & NDR_OUT) {
2185 0 : if (r->out.sids == NULL) {
2186 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2187 : }
2188 0 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
2189 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2190 : }
2191 2250 : return NDR_ERR_SUCCESS;
2192 : }
2193 :
2194 2250 : static enum ndr_err_code ndr_pull_wbint_LookupUserGroups(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupUserGroups *r)
2195 : {
2196 2250 : TALLOC_CTX *_mem_save_sid_0 = NULL;
2197 2250 : TALLOC_CTX *_mem_save_sids_0 = NULL;
2198 2250 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2199 2250 : if (flags & NDR_IN) {
2200 0 : NDR_ZERO_STRUCT(r->out);
2201 :
2202 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2203 0 : NDR_PULL_ALLOC(ndr, r->in.sid);
2204 : }
2205 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2206 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
2207 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2208 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
2209 0 : NDR_PULL_ALLOC(ndr, r->out.sids);
2210 0 : NDR_ZERO_STRUCTP(r->out.sids);
2211 : }
2212 2250 : if (flags & NDR_OUT) {
2213 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2214 : if (r->in.sid == NULL) {
2215 : NDR_PULL_ALLOC(ndr, r->in.sid);
2216 : NDR_ZERO_STRUCTP(r->in.sid);
2217 : }
2218 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2219 2250 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2220 2250 : NDR_PULL_ALLOC(ndr, r->out.sids);
2221 : }
2222 2250 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2223 2250 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
2224 2250 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
2225 2250 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
2226 2250 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2227 : }
2228 2250 : return NDR_ERR_SUCCESS;
2229 : }
2230 :
2231 0 : _PUBLIC_ void ndr_print_wbint_LookupUserGroups(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupUserGroups *r)
2232 : {
2233 0 : ndr_print_struct(ndr, name, "wbint_LookupUserGroups");
2234 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2235 0 : ndr->depth++;
2236 0 : if (flags & NDR_SET_VALUES) {
2237 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2238 : }
2239 0 : if (flags & NDR_IN) {
2240 0 : ndr_print_struct(ndr, "in", "wbint_LookupUserGroups");
2241 0 : ndr->depth++;
2242 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
2243 0 : ndr->depth++;
2244 0 : ndr_print_dom_sid(ndr, "sid", r->in.sid);
2245 0 : ndr->depth--;
2246 0 : ndr->depth--;
2247 : }
2248 0 : if (flags & NDR_OUT) {
2249 0 : ndr_print_struct(ndr, "out", "wbint_LookupUserGroups");
2250 0 : ndr->depth++;
2251 0 : ndr_print_ptr(ndr, "sids", r->out.sids);
2252 0 : ndr->depth++;
2253 0 : ndr_print_wbint_SidArray(ndr, "sids", r->out.sids);
2254 0 : ndr->depth--;
2255 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2256 0 : ndr->depth--;
2257 : }
2258 0 : ndr->depth--;
2259 : }
2260 :
2261 32 : static enum ndr_err_code ndr_push_wbint_QuerySequenceNumber(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_QuerySequenceNumber *r)
2262 : {
2263 32 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2264 32 : if (flags & NDR_IN) {
2265 0 : }
2266 32 : if (flags & NDR_OUT) {
2267 0 : if (r->out.sequence == NULL) {
2268 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2269 : }
2270 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sequence));
2271 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2272 : }
2273 32 : return NDR_ERR_SUCCESS;
2274 : }
2275 :
2276 32 : static enum ndr_err_code ndr_pull_wbint_QuerySequenceNumber(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_QuerySequenceNumber *r)
2277 : {
2278 32 : TALLOC_CTX *_mem_save_sequence_0 = NULL;
2279 32 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2280 32 : if (flags & NDR_IN) {
2281 0 : NDR_ZERO_STRUCT(r->out);
2282 :
2283 0 : NDR_PULL_ALLOC(ndr, r->out.sequence);
2284 0 : NDR_ZERO_STRUCTP(r->out.sequence);
2285 : }
2286 32 : if (flags & NDR_OUT) {
2287 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2288 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2289 32 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2290 32 : NDR_PULL_ALLOC(ndr, r->out.sequence);
2291 : }
2292 32 : _mem_save_sequence_0 = NDR_PULL_GET_MEM_CTX(ndr);
2293 32 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence, LIBNDR_FLAG_REF_ALLOC);
2294 32 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sequence));
2295 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_0, LIBNDR_FLAG_REF_ALLOC);
2296 32 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2297 : }
2298 32 : return NDR_ERR_SUCCESS;
2299 : }
2300 :
2301 0 : _PUBLIC_ void ndr_print_wbint_QuerySequenceNumber(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_QuerySequenceNumber *r)
2302 : {
2303 0 : ndr_print_struct(ndr, name, "wbint_QuerySequenceNumber");
2304 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2305 0 : ndr->depth++;
2306 0 : if (flags & NDR_SET_VALUES) {
2307 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2308 : }
2309 0 : if (flags & NDR_IN) {
2310 0 : ndr_print_struct(ndr, "in", "wbint_QuerySequenceNumber");
2311 0 : ndr->depth++;
2312 0 : ndr->depth--;
2313 : }
2314 0 : if (flags & NDR_OUT) {
2315 0 : ndr_print_struct(ndr, "out", "wbint_QuerySequenceNumber");
2316 0 : ndr->depth++;
2317 0 : ndr_print_ptr(ndr, "sequence", r->out.sequence);
2318 0 : ndr->depth++;
2319 0 : ndr_print_uint32(ndr, "sequence", *r->out.sequence);
2320 0 : ndr->depth--;
2321 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2322 0 : ndr->depth--;
2323 : }
2324 0 : ndr->depth--;
2325 : }
2326 :
2327 14 : static enum ndr_err_code ndr_push_wbint_LookupGroupMembers(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupGroupMembers *r)
2328 : {
2329 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2330 14 : if (flags & NDR_IN) {
2331 14 : if (r->in.sid == NULL) {
2332 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2333 : }
2334 14 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2335 14 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->in.type));
2336 : }
2337 14 : if (flags & NDR_OUT) {
2338 0 : if (r->out.members == NULL) {
2339 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2340 : }
2341 0 : NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.members));
2342 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2343 : }
2344 14 : return NDR_ERR_SUCCESS;
2345 : }
2346 :
2347 14 : static enum ndr_err_code ndr_pull_wbint_LookupGroupMembers(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupGroupMembers *r)
2348 : {
2349 14 : TALLOC_CTX *_mem_save_sid_0 = NULL;
2350 14 : TALLOC_CTX *_mem_save_members_0 = NULL;
2351 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2352 14 : if (flags & NDR_IN) {
2353 0 : NDR_ZERO_STRUCT(r->out);
2354 :
2355 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2356 0 : NDR_PULL_ALLOC(ndr, r->in.sid);
2357 : }
2358 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2359 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
2360 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2361 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
2362 0 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->in.type));
2363 0 : NDR_PULL_ALLOC(ndr, r->out.members);
2364 0 : NDR_ZERO_STRUCTP(r->out.members);
2365 : }
2366 14 : if (flags & NDR_OUT) {
2367 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2368 : if (r->in.sid == NULL) {
2369 : NDR_PULL_ALLOC(ndr, r->in.sid);
2370 : NDR_ZERO_STRUCTP(r->in.sid);
2371 : }
2372 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2373 14 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2374 14 : NDR_PULL_ALLOC(ndr, r->out.members);
2375 : }
2376 14 : _mem_save_members_0 = NDR_PULL_GET_MEM_CTX(ndr);
2377 14 : NDR_PULL_SET_MEM_CTX(ndr, r->out.members, LIBNDR_FLAG_REF_ALLOC);
2378 14 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.members));
2379 14 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_members_0, LIBNDR_FLAG_REF_ALLOC);
2380 14 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2381 : }
2382 14 : return NDR_ERR_SUCCESS;
2383 : }
2384 :
2385 0 : _PUBLIC_ void ndr_print_wbint_LookupGroupMembers(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupGroupMembers *r)
2386 : {
2387 0 : ndr_print_struct(ndr, name, "wbint_LookupGroupMembers");
2388 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2389 0 : ndr->depth++;
2390 0 : if (flags & NDR_SET_VALUES) {
2391 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2392 : }
2393 0 : if (flags & NDR_IN) {
2394 0 : ndr_print_struct(ndr, "in", "wbint_LookupGroupMembers");
2395 0 : ndr->depth++;
2396 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
2397 0 : ndr->depth++;
2398 0 : ndr_print_dom_sid(ndr, "sid", r->in.sid);
2399 0 : ndr->depth--;
2400 0 : ndr_print_lsa_SidType(ndr, "type", r->in.type);
2401 0 : ndr->depth--;
2402 : }
2403 0 : if (flags & NDR_OUT) {
2404 0 : ndr_print_struct(ndr, "out", "wbint_LookupGroupMembers");
2405 0 : ndr->depth++;
2406 0 : ndr_print_ptr(ndr, "members", r->out.members);
2407 0 : ndr->depth++;
2408 0 : ndr_print_wbint_Principals(ndr, "members", r->out.members);
2409 0 : ndr->depth--;
2410 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2411 0 : ndr->depth--;
2412 : }
2413 0 : ndr->depth--;
2414 : }
2415 :
2416 2 : static enum ndr_err_code ndr_push_wbint_LookupAliasMembers(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupAliasMembers *r)
2417 : {
2418 2 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2419 2 : if (flags & NDR_IN) {
2420 2 : if (r->in.sid == NULL) {
2421 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2422 : }
2423 2 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2424 2 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->in.type));
2425 : }
2426 2 : if (flags & NDR_OUT) {
2427 0 : if (r->out.sids == NULL) {
2428 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2429 : }
2430 0 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
2431 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2432 : }
2433 2 : return NDR_ERR_SUCCESS;
2434 : }
2435 :
2436 2 : static enum ndr_err_code ndr_pull_wbint_LookupAliasMembers(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupAliasMembers *r)
2437 : {
2438 2 : TALLOC_CTX *_mem_save_sid_0 = NULL;
2439 2 : TALLOC_CTX *_mem_save_sids_0 = NULL;
2440 2 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2441 2 : if (flags & NDR_IN) {
2442 0 : NDR_ZERO_STRUCT(r->out);
2443 :
2444 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2445 0 : NDR_PULL_ALLOC(ndr, r->in.sid);
2446 : }
2447 0 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2448 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
2449 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2450 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
2451 0 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->in.type));
2452 0 : NDR_PULL_ALLOC(ndr, r->out.sids);
2453 0 : NDR_ZERO_STRUCTP(r->out.sids);
2454 : }
2455 2 : if (flags & NDR_OUT) {
2456 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2457 : if (r->in.sid == NULL) {
2458 : NDR_PULL_ALLOC(ndr, r->in.sid);
2459 : NDR_ZERO_STRUCTP(r->in.sid);
2460 : }
2461 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2462 2 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2463 2 : NDR_PULL_ALLOC(ndr, r->out.sids);
2464 : }
2465 2 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2466 2 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
2467 2 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
2468 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
2469 2 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2470 : }
2471 2 : return NDR_ERR_SUCCESS;
2472 : }
2473 :
2474 0 : _PUBLIC_ void ndr_print_wbint_LookupAliasMembers(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupAliasMembers *r)
2475 : {
2476 0 : ndr_print_struct(ndr, name, "wbint_LookupAliasMembers");
2477 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2478 0 : ndr->depth++;
2479 0 : if (flags & NDR_SET_VALUES) {
2480 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2481 : }
2482 0 : if (flags & NDR_IN) {
2483 0 : ndr_print_struct(ndr, "in", "wbint_LookupAliasMembers");
2484 0 : ndr->depth++;
2485 0 : ndr_print_ptr(ndr, "sid", r->in.sid);
2486 0 : ndr->depth++;
2487 0 : ndr_print_dom_sid(ndr, "sid", r->in.sid);
2488 0 : ndr->depth--;
2489 0 : ndr_print_lsa_SidType(ndr, "type", r->in.type);
2490 0 : ndr->depth--;
2491 : }
2492 0 : if (flags & NDR_OUT) {
2493 0 : ndr_print_struct(ndr, "out", "wbint_LookupAliasMembers");
2494 0 : ndr->depth++;
2495 0 : ndr_print_ptr(ndr, "sids", r->out.sids);
2496 0 : ndr->depth++;
2497 0 : ndr_print_wbint_SidArray(ndr, "sids", r->out.sids);
2498 0 : ndr->depth--;
2499 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2500 0 : ndr->depth--;
2501 : }
2502 0 : ndr->depth--;
2503 : }
2504 :
2505 112 : static enum ndr_err_code ndr_push_wbint_QueryGroupList(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_QueryGroupList *r)
2506 : {
2507 112 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2508 112 : if (flags & NDR_IN) {
2509 0 : }
2510 112 : if (flags & NDR_OUT) {
2511 0 : if (r->out.groups == NULL) {
2512 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2513 : }
2514 0 : NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
2515 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2516 : }
2517 112 : return NDR_ERR_SUCCESS;
2518 : }
2519 :
2520 112 : static enum ndr_err_code ndr_pull_wbint_QueryGroupList(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_QueryGroupList *r)
2521 : {
2522 112 : TALLOC_CTX *_mem_save_groups_0 = NULL;
2523 112 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2524 112 : if (flags & NDR_IN) {
2525 0 : NDR_ZERO_STRUCT(r->out);
2526 :
2527 0 : NDR_PULL_ALLOC(ndr, r->out.groups);
2528 0 : NDR_ZERO_STRUCTP(r->out.groups);
2529 : }
2530 112 : if (flags & NDR_OUT) {
2531 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2532 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2533 112 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2534 112 : NDR_PULL_ALLOC(ndr, r->out.groups);
2535 : }
2536 112 : _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
2537 112 : NDR_PULL_SET_MEM_CTX(ndr, r->out.groups, LIBNDR_FLAG_REF_ALLOC);
2538 112 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
2539 112 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, LIBNDR_FLAG_REF_ALLOC);
2540 112 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2541 : }
2542 112 : return NDR_ERR_SUCCESS;
2543 : }
2544 :
2545 0 : _PUBLIC_ void ndr_print_wbint_QueryGroupList(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_QueryGroupList *r)
2546 : {
2547 0 : ndr_print_struct(ndr, name, "wbint_QueryGroupList");
2548 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2549 0 : ndr->depth++;
2550 0 : if (flags & NDR_SET_VALUES) {
2551 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2552 : }
2553 0 : if (flags & NDR_IN) {
2554 0 : ndr_print_struct(ndr, "in", "wbint_QueryGroupList");
2555 0 : ndr->depth++;
2556 0 : ndr->depth--;
2557 : }
2558 0 : if (flags & NDR_OUT) {
2559 0 : ndr_print_struct(ndr, "out", "wbint_QueryGroupList");
2560 0 : ndr->depth++;
2561 0 : ndr_print_ptr(ndr, "groups", r->out.groups);
2562 0 : ndr->depth++;
2563 0 : ndr_print_wbint_Principals(ndr, "groups", r->out.groups);
2564 0 : ndr->depth--;
2565 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2566 0 : ndr->depth--;
2567 : }
2568 0 : ndr->depth--;
2569 : }
2570 :
2571 140 : static enum ndr_err_code ndr_push_wbint_QueryUserRidList(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_QueryUserRidList *r)
2572 : {
2573 140 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2574 140 : if (flags & NDR_IN) {
2575 0 : }
2576 140 : if (flags & NDR_OUT) {
2577 0 : if (r->out.rids == NULL) {
2578 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2579 : }
2580 0 : NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2581 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2582 : }
2583 140 : return NDR_ERR_SUCCESS;
2584 : }
2585 :
2586 140 : static enum ndr_err_code ndr_pull_wbint_QueryUserRidList(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_QueryUserRidList *r)
2587 : {
2588 140 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2589 140 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2590 140 : if (flags & NDR_IN) {
2591 0 : NDR_ZERO_STRUCT(r->out);
2592 :
2593 0 : NDR_PULL_ALLOC(ndr, r->out.rids);
2594 0 : NDR_ZERO_STRUCTP(r->out.rids);
2595 : }
2596 140 : if (flags & NDR_OUT) {
2597 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2598 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2599 140 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2600 140 : NDR_PULL_ALLOC(ndr, r->out.rids);
2601 : }
2602 140 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2603 140 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
2604 140 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2605 140 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2606 140 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2607 : }
2608 140 : return NDR_ERR_SUCCESS;
2609 : }
2610 :
2611 0 : _PUBLIC_ void ndr_print_wbint_QueryUserRidList(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_QueryUserRidList *r)
2612 : {
2613 0 : ndr_print_struct(ndr, name, "wbint_QueryUserRidList");
2614 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2615 0 : ndr->depth++;
2616 0 : if (flags & NDR_SET_VALUES) {
2617 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2618 : }
2619 0 : if (flags & NDR_IN) {
2620 0 : ndr_print_struct(ndr, "in", "wbint_QueryUserRidList");
2621 0 : ndr->depth++;
2622 0 : ndr->depth--;
2623 : }
2624 0 : if (flags & NDR_OUT) {
2625 0 : ndr_print_struct(ndr, "out", "wbint_QueryUserRidList");
2626 0 : ndr->depth++;
2627 0 : ndr_print_ptr(ndr, "rids", r->out.rids);
2628 0 : ndr->depth++;
2629 0 : ndr_print_wbint_RidArray(ndr, "rids", r->out.rids);
2630 0 : ndr->depth--;
2631 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2632 0 : ndr->depth--;
2633 : }
2634 0 : ndr->depth--;
2635 : }
2636 :
2637 88 : static enum ndr_err_code ndr_push_wbint_DsGetDcName(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_DsGetDcName *r)
2638 : {
2639 88 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2640 88 : if (flags & NDR_IN) {
2641 88 : if (r->in.domain_name == NULL) {
2642 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2643 : }
2644 88 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
2645 88 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2646 88 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
2647 88 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2648 88 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
2649 88 : if (r->in.domain_guid) {
2650 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
2651 : }
2652 88 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
2653 88 : if (r->in.site_name) {
2654 26 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
2655 26 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2656 26 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
2657 26 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2658 : }
2659 88 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
2660 : }
2661 88 : if (flags & NDR_OUT) {
2662 0 : if (r->out.dc_info == NULL) {
2663 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2664 : }
2665 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dc_info));
2666 0 : if (*r->out.dc_info) {
2667 0 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
2668 : }
2669 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2670 : }
2671 88 : return NDR_ERR_SUCCESS;
2672 : }
2673 :
2674 88 : static enum ndr_err_code ndr_pull_wbint_DsGetDcName(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_DsGetDcName *r)
2675 : {
2676 88 : uint32_t size_domain_name_1 = 0;
2677 88 : uint32_t length_domain_name_1 = 0;
2678 0 : uint32_t _ptr_domain_guid;
2679 0 : uint32_t _ptr_site_name;
2680 88 : uint32_t size_site_name_1 = 0;
2681 88 : uint32_t length_site_name_1 = 0;
2682 0 : uint32_t _ptr_dc_info;
2683 88 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
2684 88 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
2685 88 : TALLOC_CTX *_mem_save_dc_info_0 = NULL;
2686 88 : TALLOC_CTX *_mem_save_dc_info_1 = NULL;
2687 88 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2688 88 : if (flags & NDR_IN) {
2689 0 : NDR_ZERO_STRUCT(r->out);
2690 :
2691 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
2692 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
2693 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
2694 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
2695 0 : if (length_domain_name_1 > size_domain_name_1) {
2696 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_name_1, length_domain_name_1);
2697 : }
2698 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
2699 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
2700 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
2701 0 : if (_ptr_domain_guid) {
2702 0 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
2703 : } else {
2704 0 : r->in.domain_guid = NULL;
2705 : }
2706 0 : if (r->in.domain_guid) {
2707 0 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2708 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
2709 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
2710 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
2711 : }
2712 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
2713 0 : if (_ptr_site_name) {
2714 0 : NDR_PULL_ALLOC(ndr, r->in.site_name);
2715 : } else {
2716 0 : r->in.site_name = NULL;
2717 : }
2718 0 : if (r->in.site_name) {
2719 0 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2720 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
2721 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
2722 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
2723 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
2724 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
2725 0 : if (length_site_name_1 > size_site_name_1) {
2726 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_site_name_1, length_site_name_1);
2727 : }
2728 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint8_t)));
2729 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint8_t), CH_UTF8));
2730 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
2731 : }
2732 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
2733 0 : NDR_PULL_ALLOC(ndr, r->out.dc_info);
2734 0 : NDR_ZERO_STRUCTP(r->out.dc_info);
2735 : }
2736 88 : if (flags & NDR_OUT) {
2737 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2738 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2739 88 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2740 88 : NDR_PULL_ALLOC(ndr, r->out.dc_info);
2741 : }
2742 88 : _mem_save_dc_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2743 88 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dc_info, LIBNDR_FLAG_REF_ALLOC);
2744 88 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_info));
2745 88 : if (_ptr_dc_info) {
2746 70 : NDR_PULL_ALLOC(ndr, *r->out.dc_info);
2747 : } else {
2748 18 : *r->out.dc_info = NULL;
2749 : }
2750 88 : if (*r->out.dc_info) {
2751 70 : _mem_save_dc_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
2752 70 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dc_info, 0);
2753 70 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
2754 70 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_1, 0);
2755 : }
2756 88 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_0, LIBNDR_FLAG_REF_ALLOC);
2757 88 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2758 : }
2759 88 : return NDR_ERR_SUCCESS;
2760 : }
2761 :
2762 0 : _PUBLIC_ void ndr_print_wbint_DsGetDcName(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_DsGetDcName *r)
2763 : {
2764 0 : ndr_print_struct(ndr, name, "wbint_DsGetDcName");
2765 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2766 0 : ndr->depth++;
2767 0 : if (flags & NDR_SET_VALUES) {
2768 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2769 : }
2770 0 : if (flags & NDR_IN) {
2771 0 : ndr_print_struct(ndr, "in", "wbint_DsGetDcName");
2772 0 : ndr->depth++;
2773 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
2774 0 : ndr->depth++;
2775 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
2776 0 : ndr->depth--;
2777 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
2778 0 : ndr->depth++;
2779 0 : if (r->in.domain_guid) {
2780 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
2781 : }
2782 0 : ndr->depth--;
2783 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
2784 0 : ndr->depth++;
2785 0 : if (r->in.site_name) {
2786 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
2787 : }
2788 0 : ndr->depth--;
2789 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
2790 0 : ndr->depth--;
2791 : }
2792 0 : if (flags & NDR_OUT) {
2793 0 : ndr_print_struct(ndr, "out", "wbint_DsGetDcName");
2794 0 : ndr->depth++;
2795 0 : ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
2796 0 : ndr->depth++;
2797 0 : ndr_print_ptr(ndr, "dc_info", *r->out.dc_info);
2798 0 : ndr->depth++;
2799 0 : if (*r->out.dc_info) {
2800 0 : ndr_print_netr_DsRGetDCNameInfo(ndr, "dc_info", *r->out.dc_info);
2801 : }
2802 0 : ndr->depth--;
2803 0 : ndr->depth--;
2804 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2805 0 : ndr->depth--;
2806 : }
2807 0 : ndr->depth--;
2808 : }
2809 :
2810 100 : static enum ndr_err_code ndr_push_wbint_LookupRids(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_LookupRids *r)
2811 : {
2812 100 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2813 100 : if (flags & NDR_IN) {
2814 100 : if (r->in.domain_sid == NULL) {
2815 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2816 : }
2817 100 : if (r->in.rids == NULL) {
2818 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2819 : }
2820 100 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
2821 100 : NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
2822 : }
2823 100 : if (flags & NDR_OUT) {
2824 0 : if (r->out.domain_name == NULL) {
2825 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2826 : }
2827 0 : if (r->out.names == NULL) {
2828 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2829 : }
2830 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain_name));
2831 0 : if (*r->out.domain_name) {
2832 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
2833 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2834 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
2835 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain_name, ndr_charset_length(*r->out.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2836 : }
2837 0 : NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
2838 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2839 : }
2840 100 : return NDR_ERR_SUCCESS;
2841 : }
2842 :
2843 100 : static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_LookupRids *r)
2844 : {
2845 0 : uint32_t _ptr_domain_name;
2846 100 : uint32_t size_domain_name_2 = 0;
2847 100 : uint32_t length_domain_name_2 = 0;
2848 100 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
2849 100 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2850 100 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
2851 100 : TALLOC_CTX *_mem_save_domain_name_1 = NULL;
2852 100 : TALLOC_CTX *_mem_save_names_0 = NULL;
2853 100 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2854 100 : if (flags & NDR_IN) {
2855 0 : NDR_ZERO_STRUCT(r->out);
2856 :
2857 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2858 0 : NDR_PULL_ALLOC(ndr, r->in.domain_sid);
2859 : }
2860 0 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2861 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_sid, LIBNDR_FLAG_REF_ALLOC);
2862 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
2863 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, LIBNDR_FLAG_REF_ALLOC);
2864 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2865 0 : NDR_PULL_ALLOC(ndr, r->in.rids);
2866 : }
2867 0 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2868 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, LIBNDR_FLAG_REF_ALLOC);
2869 0 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
2870 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2871 0 : NDR_PULL_ALLOC(ndr, r->out.domain_name);
2872 0 : NDR_ZERO_STRUCTP(r->out.domain_name);
2873 0 : NDR_PULL_ALLOC(ndr, r->out.names);
2874 0 : NDR_ZERO_STRUCTP(r->out.names);
2875 : }
2876 100 : if (flags & NDR_OUT) {
2877 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2878 : if (r->in.domain_sid == NULL) {
2879 : NDR_PULL_ALLOC(ndr, r->in.domain_sid);
2880 : NDR_ZERO_STRUCTP(r->in.domain_sid);
2881 : }
2882 : if (r->in.rids == NULL) {
2883 : NDR_PULL_ALLOC(ndr, r->in.rids);
2884 : NDR_ZERO_STRUCTP(r->in.rids);
2885 : }
2886 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2887 100 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2888 100 : NDR_PULL_ALLOC(ndr, r->out.domain_name);
2889 : }
2890 100 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2891 100 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_name, LIBNDR_FLAG_REF_ALLOC);
2892 100 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
2893 100 : if (_ptr_domain_name) {
2894 44 : NDR_PULL_ALLOC(ndr, *r->out.domain_name);
2895 : } else {
2896 56 : *r->out.domain_name = NULL;
2897 : }
2898 100 : if (*r->out.domain_name) {
2899 44 : _mem_save_domain_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
2900 44 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain_name, 0);
2901 44 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain_name));
2902 44 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain_name));
2903 44 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain_name, &size_domain_name_2));
2904 44 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain_name, &length_domain_name_2));
2905 44 : if (length_domain_name_2 > size_domain_name_2) {
2906 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_name_2, length_domain_name_2);
2907 : }
2908 44 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_2, sizeof(uint8_t)));
2909 44 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain_name, length_domain_name_2, sizeof(uint8_t), CH_UTF8));
2910 44 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_1, 0);
2911 : }
2912 100 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
2913 100 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2914 100 : NDR_PULL_ALLOC(ndr, r->out.names);
2915 : }
2916 100 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
2917 100 : NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
2918 100 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
2919 100 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
2920 100 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2921 : }
2922 100 : return NDR_ERR_SUCCESS;
2923 : }
2924 :
2925 0 : _PUBLIC_ void ndr_print_wbint_LookupRids(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_LookupRids *r)
2926 : {
2927 0 : ndr_print_struct(ndr, name, "wbint_LookupRids");
2928 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2929 0 : ndr->depth++;
2930 0 : if (flags & NDR_SET_VALUES) {
2931 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2932 : }
2933 0 : if (flags & NDR_IN) {
2934 0 : ndr_print_struct(ndr, "in", "wbint_LookupRids");
2935 0 : ndr->depth++;
2936 0 : ndr_print_ptr(ndr, "domain_sid", r->in.domain_sid);
2937 0 : ndr->depth++;
2938 0 : ndr_print_dom_sid(ndr, "domain_sid", r->in.domain_sid);
2939 0 : ndr->depth--;
2940 0 : ndr_print_ptr(ndr, "rids", r->in.rids);
2941 0 : ndr->depth++;
2942 0 : ndr_print_wbint_RidArray(ndr, "rids", r->in.rids);
2943 0 : ndr->depth--;
2944 0 : ndr->depth--;
2945 : }
2946 0 : if (flags & NDR_OUT) {
2947 0 : ndr_print_struct(ndr, "out", "wbint_LookupRids");
2948 0 : ndr->depth++;
2949 0 : ndr_print_ptr(ndr, "domain_name", r->out.domain_name);
2950 0 : ndr->depth++;
2951 0 : ndr_print_ptr(ndr, "domain_name", *r->out.domain_name);
2952 0 : ndr->depth++;
2953 0 : if (*r->out.domain_name) {
2954 0 : ndr_print_string(ndr, "domain_name", *r->out.domain_name);
2955 : }
2956 0 : ndr->depth--;
2957 0 : ndr->depth--;
2958 0 : ndr_print_ptr(ndr, "names", r->out.names);
2959 0 : ndr->depth++;
2960 0 : ndr_print_wbint_Principals(ndr, "names", r->out.names);
2961 0 : ndr->depth--;
2962 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2963 0 : ndr->depth--;
2964 : }
2965 0 : ndr->depth--;
2966 : }
2967 :
2968 14 : static enum ndr_err_code ndr_push_wbint_CheckMachineAccount(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_CheckMachineAccount *r)
2969 : {
2970 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2971 14 : if (flags & NDR_IN) {
2972 0 : }
2973 14 : if (flags & NDR_OUT) {
2974 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2975 : }
2976 14 : return NDR_ERR_SUCCESS;
2977 : }
2978 :
2979 14 : static enum ndr_err_code ndr_pull_wbint_CheckMachineAccount(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_CheckMachineAccount *r)
2980 : {
2981 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2982 14 : if (flags & NDR_IN) {
2983 0 : }
2984 14 : if (flags & NDR_OUT) {
2985 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2986 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2987 14 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2988 : }
2989 14 : return NDR_ERR_SUCCESS;
2990 : }
2991 :
2992 0 : _PUBLIC_ void ndr_print_wbint_CheckMachineAccount(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_CheckMachineAccount *r)
2993 : {
2994 0 : ndr_print_struct(ndr, name, "wbint_CheckMachineAccount");
2995 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2996 0 : ndr->depth++;
2997 0 : if (flags & NDR_SET_VALUES) {
2998 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2999 : }
3000 0 : if (flags & NDR_IN) {
3001 0 : ndr_print_struct(ndr, "in", "wbint_CheckMachineAccount");
3002 0 : ndr->depth++;
3003 0 : ndr->depth--;
3004 : }
3005 0 : if (flags & NDR_OUT) {
3006 0 : ndr_print_struct(ndr, "out", "wbint_CheckMachineAccount");
3007 0 : ndr->depth++;
3008 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3009 0 : ndr->depth--;
3010 : }
3011 0 : ndr->depth--;
3012 : }
3013 :
3014 16 : static enum ndr_err_code ndr_push_wbint_ChangeMachineAccount(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_ChangeMachineAccount *r)
3015 : {
3016 16 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3017 16 : if (flags & NDR_IN) {
3018 16 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dcname));
3019 16 : if (r->in.dcname) {
3020 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
3021 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3022 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
3023 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dcname, ndr_charset_length(r->in.dcname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3024 : }
3025 : }
3026 16 : if (flags & NDR_OUT) {
3027 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3028 : }
3029 16 : return NDR_ERR_SUCCESS;
3030 : }
3031 :
3032 16 : static enum ndr_err_code ndr_pull_wbint_ChangeMachineAccount(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_ChangeMachineAccount *r)
3033 : {
3034 0 : uint32_t _ptr_dcname;
3035 16 : uint32_t size_dcname_1 = 0;
3036 16 : uint32_t length_dcname_1 = 0;
3037 16 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
3038 16 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3039 16 : if (flags & NDR_IN) {
3040 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
3041 0 : if (_ptr_dcname) {
3042 0 : NDR_PULL_ALLOC(ndr, r->in.dcname);
3043 : } else {
3044 0 : r->in.dcname = NULL;
3045 : }
3046 0 : if (r->in.dcname) {
3047 0 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3048 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dcname, 0);
3049 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dcname));
3050 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dcname));
3051 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dcname, &size_dcname_1));
3052 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dcname, &length_dcname_1));
3053 0 : if (length_dcname_1 > size_dcname_1) {
3054 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_dcname_1, length_dcname_1);
3055 : }
3056 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_1, sizeof(uint8_t)));
3057 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dcname, length_dcname_1, sizeof(uint8_t), CH_UTF8));
3058 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, 0);
3059 : }
3060 : }
3061 16 : if (flags & NDR_OUT) {
3062 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3063 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3064 16 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3065 : }
3066 16 : return NDR_ERR_SUCCESS;
3067 : }
3068 :
3069 0 : _PUBLIC_ void ndr_print_wbint_ChangeMachineAccount(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_ChangeMachineAccount *r)
3070 : {
3071 0 : ndr_print_struct(ndr, name, "wbint_ChangeMachineAccount");
3072 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3073 0 : ndr->depth++;
3074 0 : if (flags & NDR_SET_VALUES) {
3075 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3076 : }
3077 0 : if (flags & NDR_IN) {
3078 0 : ndr_print_struct(ndr, "in", "wbint_ChangeMachineAccount");
3079 0 : ndr->depth++;
3080 0 : ndr_print_ptr(ndr, "dcname", r->in.dcname);
3081 0 : ndr->depth++;
3082 0 : if (r->in.dcname) {
3083 0 : ndr_print_string(ndr, "dcname", r->in.dcname);
3084 : }
3085 0 : ndr->depth--;
3086 0 : ndr->depth--;
3087 : }
3088 0 : if (flags & NDR_OUT) {
3089 0 : ndr_print_struct(ndr, "out", "wbint_ChangeMachineAccount");
3090 0 : ndr->depth++;
3091 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3092 0 : ndr->depth--;
3093 : }
3094 0 : ndr->depth--;
3095 : }
3096 :
3097 74 : static enum ndr_err_code ndr_push_wbint_PingDc(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PingDc *r)
3098 : {
3099 74 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3100 74 : if (flags & NDR_IN) {
3101 0 : }
3102 74 : if (flags & NDR_OUT) {
3103 0 : if (r->out.dcname == NULL) {
3104 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3105 : }
3106 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
3107 0 : if (*r->out.dcname) {
3108 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
3109 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3110 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
3111 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3112 : }
3113 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3114 : }
3115 74 : return NDR_ERR_SUCCESS;
3116 : }
3117 :
3118 74 : static enum ndr_err_code ndr_pull_wbint_PingDc(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PingDc *r)
3119 : {
3120 0 : uint32_t _ptr_dcname;
3121 74 : uint32_t size_dcname_2 = 0;
3122 74 : uint32_t length_dcname_2 = 0;
3123 74 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
3124 74 : TALLOC_CTX *_mem_save_dcname_1 = NULL;
3125 74 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3126 74 : if (flags & NDR_IN) {
3127 0 : NDR_ZERO_STRUCT(r->out);
3128 :
3129 0 : NDR_PULL_ALLOC(ndr, r->out.dcname);
3130 0 : NDR_ZERO_STRUCTP(r->out.dcname);
3131 : }
3132 74 : if (flags & NDR_OUT) {
3133 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3134 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3135 74 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3136 74 : NDR_PULL_ALLOC(ndr, r->out.dcname);
3137 : }
3138 74 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3139 74 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
3140 74 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
3141 74 : if (_ptr_dcname) {
3142 48 : NDR_PULL_ALLOC(ndr, *r->out.dcname);
3143 : } else {
3144 26 : *r->out.dcname = NULL;
3145 : }
3146 74 : if (*r->out.dcname) {
3147 48 : _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
3148 48 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
3149 48 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
3150 48 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
3151 48 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
3152 48 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
3153 48 : if (length_dcname_2 > size_dcname_2) {
3154 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_dcname_2, length_dcname_2);
3155 : }
3156 48 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint8_t)));
3157 48 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint8_t), CH_UTF8));
3158 48 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
3159 : }
3160 74 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
3161 74 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3162 : }
3163 74 : return NDR_ERR_SUCCESS;
3164 : }
3165 :
3166 0 : _PUBLIC_ void ndr_print_wbint_PingDc(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PingDc *r)
3167 : {
3168 0 : ndr_print_struct(ndr, name, "wbint_PingDc");
3169 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3170 0 : ndr->depth++;
3171 0 : if (flags & NDR_SET_VALUES) {
3172 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3173 : }
3174 0 : if (flags & NDR_IN) {
3175 0 : ndr_print_struct(ndr, "in", "wbint_PingDc");
3176 0 : ndr->depth++;
3177 0 : ndr->depth--;
3178 : }
3179 0 : if (flags & NDR_OUT) {
3180 0 : ndr_print_struct(ndr, "out", "wbint_PingDc");
3181 0 : ndr->depth++;
3182 0 : ndr_print_ptr(ndr, "dcname", r->out.dcname);
3183 0 : ndr->depth++;
3184 0 : ndr_print_ptr(ndr, "dcname", *r->out.dcname);
3185 0 : ndr->depth++;
3186 0 : if (*r->out.dcname) {
3187 0 : ndr_print_string(ndr, "dcname", *r->out.dcname);
3188 : }
3189 0 : ndr->depth--;
3190 0 : ndr->depth--;
3191 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3192 0 : ndr->depth--;
3193 : }
3194 0 : ndr->depth--;
3195 : }
3196 :
3197 8 : static enum ndr_err_code ndr_push_wbint_ListTrustedDomains(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_ListTrustedDomains *r)
3198 : {
3199 8 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3200 8 : if (flags & NDR_IN) {
3201 8 : if (r->in.client_name == NULL) {
3202 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3203 : }
3204 8 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3205 8 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3206 8 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3207 8 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3208 8 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3209 : }
3210 8 : if (flags & NDR_OUT) {
3211 0 : if (r->out.domains == NULL) {
3212 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3213 : }
3214 0 : NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
3215 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3216 : }
3217 8 : return NDR_ERR_SUCCESS;
3218 : }
3219 :
3220 8 : static enum ndr_err_code ndr_pull_wbint_ListTrustedDomains(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_ListTrustedDomains *r)
3221 : {
3222 8 : uint32_t size_client_name_1 = 0;
3223 8 : uint32_t length_client_name_1 = 0;
3224 8 : TALLOC_CTX *_mem_save_domains_0 = NULL;
3225 8 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3226 8 : if (flags & NDR_IN) {
3227 0 : NDR_ZERO_STRUCT(r->out);
3228 :
3229 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3230 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3231 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3232 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3233 0 : if (length_client_name_1 > size_client_name_1) {
3234 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
3235 : }
3236 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3237 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3238 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3239 0 : NDR_PULL_ALLOC(ndr, r->out.domains);
3240 0 : NDR_ZERO_STRUCTP(r->out.domains);
3241 : }
3242 8 : if (flags & NDR_OUT) {
3243 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3244 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3245 8 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3246 8 : NDR_PULL_ALLOC(ndr, r->out.domains);
3247 : }
3248 8 : _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
3249 8 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
3250 8 : NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
3251 8 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
3252 8 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3253 : }
3254 8 : return NDR_ERR_SUCCESS;
3255 : }
3256 :
3257 0 : _PUBLIC_ void ndr_print_wbint_ListTrustedDomains(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_ListTrustedDomains *r)
3258 : {
3259 0 : ndr_print_struct(ndr, name, "wbint_ListTrustedDomains");
3260 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3261 0 : ndr->depth++;
3262 0 : if (flags & NDR_SET_VALUES) {
3263 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3264 : }
3265 0 : if (flags & NDR_IN) {
3266 0 : ndr_print_struct(ndr, "in", "wbint_ListTrustedDomains");
3267 0 : ndr->depth++;
3268 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3269 0 : ndr->depth++;
3270 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3271 0 : ndr->depth--;
3272 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3273 0 : ndr->depth--;
3274 : }
3275 0 : if (flags & NDR_OUT) {
3276 0 : ndr_print_struct(ndr, "out", "wbint_ListTrustedDomains");
3277 0 : ndr->depth++;
3278 0 : ndr_print_ptr(ndr, "domains", r->out.domains);
3279 0 : ndr->depth++;
3280 0 : ndr_print_netr_DomainTrustList(ndr, "domains", r->out.domains);
3281 0 : ndr->depth--;
3282 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3283 0 : ndr->depth--;
3284 : }
3285 0 : ndr->depth--;
3286 : }
3287 :
3288 391 : static enum ndr_err_code ndr_push_wbint_PamAuth(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PamAuth *r)
3289 : {
3290 391 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3291 391 : if (flags & NDR_IN) {
3292 391 : if (r->in.client_name == NULL) {
3293 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3294 : }
3295 391 : if (r->in.info == NULL) {
3296 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3297 : }
3298 391 : if (r->in.require_membership_of_sid == NULL) {
3299 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3300 : }
3301 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3302 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3303 391 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3304 391 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3305 391 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3306 391 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3307 391 : NDR_CHECK(ndr_push_wbint_AuthUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
3308 391 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3309 : }
3310 391 : if (flags & NDR_OUT) {
3311 0 : if (r->out.validation == NULL) {
3312 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3313 : }
3314 0 : NDR_CHECK(ndr_push_wbint_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3315 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3316 : }
3317 391 : return NDR_ERR_SUCCESS;
3318 : }
3319 :
3320 391 : static enum ndr_err_code ndr_pull_wbint_PamAuth(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PamAuth *r)
3321 : {
3322 391 : uint32_t size_client_name_1 = 0;
3323 391 : uint32_t length_client_name_1 = 0;
3324 391 : TALLOC_CTX *_mem_save_info_0 = NULL;
3325 391 : TALLOC_CTX *_mem_save_require_membership_of_sid_0 = NULL;
3326 391 : TALLOC_CTX *_mem_save_validation_0 = NULL;
3327 391 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3328 391 : if (flags & NDR_IN) {
3329 0 : NDR_ZERO_STRUCT(r->out);
3330 :
3331 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3332 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3333 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3334 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3335 0 : if (length_client_name_1 > size_client_name_1) {
3336 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
3337 : }
3338 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3339 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3340 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3341 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3342 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3343 0 : NDR_PULL_ALLOC(ndr, r->in.info);
3344 : }
3345 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3346 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
3347 0 : NDR_CHECK(ndr_pull_wbint_AuthUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
3348 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
3349 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3350 0 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3351 : }
3352 0 : _mem_save_require_membership_of_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3353 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.require_membership_of_sid, LIBNDR_FLAG_REF_ALLOC);
3354 0 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3355 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sid_0, LIBNDR_FLAG_REF_ALLOC);
3356 0 : NDR_PULL_ALLOC(ndr, r->out.validation);
3357 0 : NDR_ZERO_STRUCTP(r->out.validation);
3358 : }
3359 391 : if (flags & NDR_OUT) {
3360 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3361 : if (r->in.info == NULL) {
3362 : NDR_PULL_ALLOC(ndr, r->in.info);
3363 : NDR_ZERO_STRUCTP(r->in.info);
3364 : }
3365 : if (r->in.require_membership_of_sid == NULL) {
3366 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3367 : NDR_ZERO_STRUCTP(r->in.require_membership_of_sid);
3368 : }
3369 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3370 391 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3371 391 : NDR_PULL_ALLOC(ndr, r->out.validation);
3372 : }
3373 391 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
3374 391 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
3375 391 : NDR_CHECK(ndr_pull_wbint_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3376 391 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
3377 391 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3378 : }
3379 391 : return NDR_ERR_SUCCESS;
3380 : }
3381 :
3382 0 : _PUBLIC_ void ndr_print_wbint_PamAuth(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PamAuth *r)
3383 : {
3384 0 : ndr_print_struct(ndr, name, "wbint_PamAuth");
3385 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3386 0 : ndr->depth++;
3387 0 : if (flags & NDR_SET_VALUES) {
3388 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3389 : }
3390 0 : if (flags & NDR_IN) {
3391 0 : ndr_print_struct(ndr, "in", "wbint_PamAuth");
3392 0 : ndr->depth++;
3393 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3394 0 : ndr->depth++;
3395 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3396 0 : ndr->depth--;
3397 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3398 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3399 0 : ndr_print_ptr(ndr, "info", r->in.info);
3400 0 : ndr->depth++;
3401 0 : ndr_print_wbint_AuthUserInfo(ndr, "info", r->in.info);
3402 0 : ndr->depth--;
3403 0 : ndr_print_ptr(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3404 0 : ndr->depth++;
3405 0 : ndr_print_wbint_SidArray(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3406 0 : ndr->depth--;
3407 0 : ndr->depth--;
3408 : }
3409 0 : if (flags & NDR_OUT) {
3410 0 : ndr_print_struct(ndr, "out", "wbint_PamAuth");
3411 0 : ndr->depth++;
3412 0 : ndr_print_ptr(ndr, "validation", r->out.validation);
3413 0 : ndr->depth++;
3414 0 : ndr_print_wbint_Validation(ndr, "validation", r->out.validation);
3415 0 : ndr->depth--;
3416 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3417 0 : ndr->depth--;
3418 : }
3419 0 : ndr->depth--;
3420 : }
3421 :
3422 710 : static enum ndr_err_code ndr_push_wbint_PamAuthCrap(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PamAuthCrap *r)
3423 : {
3424 710 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3425 710 : if (flags & NDR_IN) {
3426 710 : if (r->in.client_name == NULL) {
3427 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3428 : }
3429 710 : if (r->in.user == NULL) {
3430 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3431 : }
3432 710 : if (r->in.domain == NULL) {
3433 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3434 : }
3435 710 : if (r->in.workstation == NULL) {
3436 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3437 : }
3438 710 : if (r->in.require_membership_of_sid == NULL) {
3439 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3440 : }
3441 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3442 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3443 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3444 710 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3445 710 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3446 710 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3447 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3448 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3449 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3450 710 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3451 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3452 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3453 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3454 710 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3455 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF8)));
3456 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3457 710 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF8)));
3458 710 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3459 : {
3460 710 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3461 710 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3462 710 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.lm_resp));
3463 710 : ndr->flags = _flags_save_DATA_BLOB;
3464 : }
3465 : {
3466 710 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3467 710 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3468 710 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.nt_resp));
3469 710 : ndr->flags = _flags_save_DATA_BLOB;
3470 : }
3471 : {
3472 710 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3473 710 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3474 710 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.chal));
3475 710 : ndr->flags = _flags_save_DATA_BLOB;
3476 : }
3477 710 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.logon_parameters));
3478 710 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3479 : }
3480 710 : if (flags & NDR_OUT) {
3481 0 : if (r->out.authoritative == NULL) {
3482 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3483 : }
3484 0 : if (r->out.validation == NULL) {
3485 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3486 : }
3487 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
3488 0 : NDR_CHECK(ndr_push_wbint_PamAuthCrapValidation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3489 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3490 : }
3491 710 : return NDR_ERR_SUCCESS;
3492 : }
3493 :
3494 710 : static enum ndr_err_code ndr_pull_wbint_PamAuthCrap(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PamAuthCrap *r)
3495 : {
3496 710 : uint32_t size_client_name_1 = 0;
3497 710 : uint32_t length_client_name_1 = 0;
3498 710 : uint32_t size_user_1 = 0;
3499 710 : uint32_t length_user_1 = 0;
3500 710 : uint32_t size_domain_1 = 0;
3501 710 : uint32_t length_domain_1 = 0;
3502 710 : uint32_t size_workstation_1 = 0;
3503 710 : uint32_t length_workstation_1 = 0;
3504 710 : TALLOC_CTX *_mem_save_require_membership_of_sid_0 = NULL;
3505 710 : TALLOC_CTX *_mem_save_authoritative_0 = NULL;
3506 710 : TALLOC_CTX *_mem_save_validation_0 = NULL;
3507 710 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3508 710 : if (flags & NDR_IN) {
3509 0 : NDR_ZERO_STRUCT(r->out);
3510 :
3511 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3512 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3513 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3514 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3515 0 : if (length_client_name_1 > size_client_name_1) {
3516 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
3517 : }
3518 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3519 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3520 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3521 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3522 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3523 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3524 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3525 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3526 0 : if (length_user_1 > size_user_1) {
3527 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_user_1, length_user_1);
3528 : }
3529 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3530 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3531 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
3532 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
3533 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
3534 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
3535 0 : if (length_domain_1 > size_domain_1) {
3536 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_1, length_domain_1);
3537 : }
3538 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
3539 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
3540 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
3541 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
3542 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
3543 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
3544 0 : if (length_workstation_1 > size_workstation_1) {
3545 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_workstation_1, length_workstation_1);
3546 : }
3547 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint8_t)));
3548 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint8_t), CH_UTF8));
3549 : {
3550 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3551 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3552 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.lm_resp));
3553 0 : ndr->flags = _flags_save_DATA_BLOB;
3554 : }
3555 : {
3556 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3557 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3558 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.nt_resp));
3559 0 : ndr->flags = _flags_save_DATA_BLOB;
3560 : }
3561 : {
3562 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3563 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3564 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.chal));
3565 0 : ndr->flags = _flags_save_DATA_BLOB;
3566 : }
3567 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.logon_parameters));
3568 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3569 0 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3570 : }
3571 0 : _mem_save_require_membership_of_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3572 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.require_membership_of_sid, LIBNDR_FLAG_REF_ALLOC);
3573 0 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3574 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sid_0, LIBNDR_FLAG_REF_ALLOC);
3575 0 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
3576 0 : NDR_ZERO_STRUCTP(r->out.authoritative);
3577 0 : NDR_PULL_ALLOC(ndr, r->out.validation);
3578 0 : NDR_ZERO_STRUCTP(r->out.validation);
3579 : }
3580 710 : if (flags & NDR_OUT) {
3581 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3582 : if (r->in.require_membership_of_sid == NULL) {
3583 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3584 : NDR_ZERO_STRUCTP(r->in.require_membership_of_sid);
3585 : }
3586 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3587 710 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3588 710 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
3589 : }
3590 710 : _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
3591 710 : NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
3592 710 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
3593 710 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
3594 710 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3595 710 : NDR_PULL_ALLOC(ndr, r->out.validation);
3596 : }
3597 710 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
3598 710 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
3599 710 : NDR_CHECK(ndr_pull_wbint_PamAuthCrapValidation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3600 710 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
3601 710 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3602 : }
3603 710 : return NDR_ERR_SUCCESS;
3604 : }
3605 :
3606 0 : _PUBLIC_ void ndr_print_wbint_PamAuthCrap(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PamAuthCrap *r)
3607 : {
3608 0 : ndr_print_struct(ndr, name, "wbint_PamAuthCrap");
3609 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3610 0 : ndr->depth++;
3611 0 : if (flags & NDR_SET_VALUES) {
3612 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3613 : }
3614 0 : if (flags & NDR_IN) {
3615 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthCrap");
3616 0 : ndr->depth++;
3617 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3618 0 : ndr->depth++;
3619 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3620 0 : ndr->depth--;
3621 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3622 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3623 0 : ndr_print_ptr(ndr, "user", r->in.user);
3624 0 : ndr->depth++;
3625 0 : ndr_print_string(ndr, "user", r->in.user);
3626 0 : ndr->depth--;
3627 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
3628 0 : ndr->depth++;
3629 0 : ndr_print_string(ndr, "domain", r->in.domain);
3630 0 : ndr->depth--;
3631 0 : ndr_print_ptr(ndr, "workstation", r->in.workstation);
3632 0 : ndr->depth++;
3633 0 : ndr_print_string(ndr, "workstation", r->in.workstation);
3634 0 : ndr->depth--;
3635 : {
3636 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3637 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3638 0 : ndr_print_DATA_BLOB(ndr, "lm_resp", r->in.lm_resp);
3639 0 : ndr->flags = _flags_save_DATA_BLOB;
3640 : }
3641 : {
3642 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3643 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3644 0 : ndr_print_DATA_BLOB(ndr, "nt_resp", r->in.nt_resp);
3645 0 : ndr->flags = _flags_save_DATA_BLOB;
3646 : }
3647 : {
3648 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3649 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3650 0 : ndr_print_DATA_BLOB(ndr, "chal", r->in.chal);
3651 0 : ndr->flags = _flags_save_DATA_BLOB;
3652 : }
3653 0 : ndr_print_uint32(ndr, "logon_parameters", r->in.logon_parameters);
3654 0 : ndr_print_ptr(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3655 0 : ndr->depth++;
3656 0 : ndr_print_wbint_SidArray(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3657 0 : ndr->depth--;
3658 0 : ndr->depth--;
3659 : }
3660 0 : if (flags & NDR_OUT) {
3661 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthCrap");
3662 0 : ndr->depth++;
3663 0 : ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
3664 0 : ndr->depth++;
3665 0 : ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
3666 0 : ndr->depth--;
3667 0 : ndr_print_ptr(ndr, "validation", r->out.validation);
3668 0 : ndr->depth++;
3669 0 : ndr_print_wbint_PamAuthCrapValidation(ndr, "validation", r->out.validation);
3670 0 : ndr->depth--;
3671 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3672 0 : ndr->depth--;
3673 : }
3674 0 : ndr->depth--;
3675 : }
3676 :
3677 20 : static enum ndr_err_code ndr_push_wbint_PamLogOff(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PamLogOff *r)
3678 : {
3679 20 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3680 20 : if (flags & NDR_IN) {
3681 20 : if (r->in.client_name == NULL) {
3682 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3683 : }
3684 20 : if (r->in.user == NULL) {
3685 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3686 : }
3687 20 : if (r->in.krb5ccname == NULL) {
3688 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3689 : }
3690 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3691 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3692 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3693 20 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3694 20 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3695 20 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3696 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3697 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3698 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3699 20 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3700 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.krb5ccname, CH_UTF8)));
3701 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3702 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.krb5ccname, CH_UTF8)));
3703 20 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.krb5ccname, ndr_charset_length(r->in.krb5ccname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3704 20 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uid));
3705 : }
3706 20 : if (flags & NDR_OUT) {
3707 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3708 : }
3709 20 : return NDR_ERR_SUCCESS;
3710 : }
3711 :
3712 20 : static enum ndr_err_code ndr_pull_wbint_PamLogOff(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PamLogOff *r)
3713 : {
3714 20 : uint32_t size_client_name_1 = 0;
3715 20 : uint32_t length_client_name_1 = 0;
3716 20 : uint32_t size_user_1 = 0;
3717 20 : uint32_t length_user_1 = 0;
3718 20 : uint32_t size_krb5ccname_1 = 0;
3719 20 : uint32_t length_krb5ccname_1 = 0;
3720 20 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3721 20 : if (flags & NDR_IN) {
3722 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3723 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3724 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3725 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3726 0 : if (length_client_name_1 > size_client_name_1) {
3727 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
3728 : }
3729 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3730 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3731 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3732 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3733 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3734 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3735 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3736 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3737 0 : if (length_user_1 > size_user_1) {
3738 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_user_1, length_user_1);
3739 : }
3740 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3741 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3742 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.krb5ccname));
3743 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.krb5ccname));
3744 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.krb5ccname, &size_krb5ccname_1));
3745 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.krb5ccname, &length_krb5ccname_1));
3746 0 : if (length_krb5ccname_1 > size_krb5ccname_1) {
3747 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_krb5ccname_1, length_krb5ccname_1);
3748 : }
3749 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_krb5ccname_1, sizeof(uint8_t)));
3750 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.krb5ccname, length_krb5ccname_1, sizeof(uint8_t), CH_UTF8));
3751 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uid));
3752 : }
3753 20 : if (flags & NDR_OUT) {
3754 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3755 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3756 20 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3757 : }
3758 20 : return NDR_ERR_SUCCESS;
3759 : }
3760 :
3761 0 : _PUBLIC_ void ndr_print_wbint_PamLogOff(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PamLogOff *r)
3762 : {
3763 0 : ndr_print_struct(ndr, name, "wbint_PamLogOff");
3764 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3765 0 : ndr->depth++;
3766 0 : if (flags & NDR_SET_VALUES) {
3767 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3768 : }
3769 0 : if (flags & NDR_IN) {
3770 0 : ndr_print_struct(ndr, "in", "wbint_PamLogOff");
3771 0 : ndr->depth++;
3772 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3773 0 : ndr->depth++;
3774 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3775 0 : ndr->depth--;
3776 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3777 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3778 0 : ndr_print_ptr(ndr, "user", r->in.user);
3779 0 : ndr->depth++;
3780 0 : ndr_print_string(ndr, "user", r->in.user);
3781 0 : ndr->depth--;
3782 0 : ndr_print_ptr(ndr, "krb5ccname", r->in.krb5ccname);
3783 0 : ndr->depth++;
3784 0 : ndr_print_string(ndr, "krb5ccname", r->in.krb5ccname);
3785 0 : ndr->depth--;
3786 0 : ndr_print_hyper(ndr, "uid", r->in.uid);
3787 0 : ndr->depth--;
3788 : }
3789 0 : if (flags & NDR_OUT) {
3790 0 : ndr_print_struct(ndr, "out", "wbint_PamLogOff");
3791 0 : ndr->depth++;
3792 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3793 0 : ndr->depth--;
3794 : }
3795 0 : ndr->depth--;
3796 : }
3797 :
3798 2 : static enum ndr_err_code ndr_push_wbint_PamAuthCrapChangePassword(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PamAuthCrapChangePassword *r)
3799 : {
3800 2 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3801 2 : if (flags & NDR_IN) {
3802 2 : if (r->in.client_name == NULL) {
3803 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3804 : }
3805 2 : if (r->in.user == NULL) {
3806 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3807 : }
3808 2 : if (r->in.domain == NULL) {
3809 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3810 : }
3811 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3812 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3813 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3814 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3815 2 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3816 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3817 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3818 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3819 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3820 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3821 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3822 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3823 2 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3824 : {
3825 2 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3826 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3827 2 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.new_nt_pswd));
3828 2 : ndr->flags = _flags_save_DATA_BLOB;
3829 : }
3830 : {
3831 2 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3832 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3833 2 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.old_nt_hash_enc));
3834 2 : ndr->flags = _flags_save_DATA_BLOB;
3835 : }
3836 : {
3837 2 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3838 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3839 2 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.new_lm_pswd));
3840 2 : ndr->flags = _flags_save_DATA_BLOB;
3841 : }
3842 : {
3843 2 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3844 2 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3845 2 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.old_lm_hash_enc));
3846 2 : ndr->flags = _flags_save_DATA_BLOB;
3847 : }
3848 : }
3849 2 : if (flags & NDR_OUT) {
3850 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3851 : }
3852 2 : return NDR_ERR_SUCCESS;
3853 : }
3854 :
3855 2 : static enum ndr_err_code ndr_pull_wbint_PamAuthCrapChangePassword(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PamAuthCrapChangePassword *r)
3856 : {
3857 2 : uint32_t size_client_name_1 = 0;
3858 2 : uint32_t length_client_name_1 = 0;
3859 2 : uint32_t size_user_1 = 0;
3860 2 : uint32_t length_user_1 = 0;
3861 2 : uint32_t size_domain_1 = 0;
3862 2 : uint32_t length_domain_1 = 0;
3863 2 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3864 2 : if (flags & NDR_IN) {
3865 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3866 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3867 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3868 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3869 0 : if (length_client_name_1 > size_client_name_1) {
3870 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
3871 : }
3872 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3873 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3874 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3875 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3876 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3877 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3878 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3879 0 : if (length_user_1 > size_user_1) {
3880 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_user_1, length_user_1);
3881 : }
3882 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3883 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3884 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
3885 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
3886 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
3887 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
3888 0 : if (length_domain_1 > size_domain_1) {
3889 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_domain_1, length_domain_1);
3890 : }
3891 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
3892 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
3893 : {
3894 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3895 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3896 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.new_nt_pswd));
3897 0 : ndr->flags = _flags_save_DATA_BLOB;
3898 : }
3899 : {
3900 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3901 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3902 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.old_nt_hash_enc));
3903 0 : ndr->flags = _flags_save_DATA_BLOB;
3904 : }
3905 : {
3906 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3907 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3908 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.new_lm_pswd));
3909 0 : ndr->flags = _flags_save_DATA_BLOB;
3910 : }
3911 : {
3912 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3913 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3914 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.old_lm_hash_enc));
3915 0 : ndr->flags = _flags_save_DATA_BLOB;
3916 : }
3917 : }
3918 2 : if (flags & NDR_OUT) {
3919 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3920 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3921 2 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3922 : }
3923 2 : return NDR_ERR_SUCCESS;
3924 : }
3925 :
3926 0 : _PUBLIC_ void ndr_print_wbint_PamAuthCrapChangePassword(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PamAuthCrapChangePassword *r)
3927 : {
3928 0 : ndr_print_struct(ndr, name, "wbint_PamAuthCrapChangePassword");
3929 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3930 0 : ndr->depth++;
3931 0 : if (flags & NDR_SET_VALUES) {
3932 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3933 : }
3934 0 : if (flags & NDR_IN) {
3935 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthCrapChangePassword");
3936 0 : ndr->depth++;
3937 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3938 0 : ndr->depth++;
3939 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3940 0 : ndr->depth--;
3941 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3942 0 : ndr_print_ptr(ndr, "user", r->in.user);
3943 0 : ndr->depth++;
3944 0 : ndr_print_string(ndr, "user", r->in.user);
3945 0 : ndr->depth--;
3946 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
3947 0 : ndr->depth++;
3948 0 : ndr_print_string(ndr, "domain", r->in.domain);
3949 0 : ndr->depth--;
3950 : {
3951 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3952 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3953 0 : ndr_print_DATA_BLOB(ndr, "new_nt_pswd", r->in.new_nt_pswd);
3954 0 : ndr->flags = _flags_save_DATA_BLOB;
3955 : }
3956 : {
3957 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3958 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3959 0 : ndr_print_DATA_BLOB(ndr, "old_nt_hash_enc", r->in.old_nt_hash_enc);
3960 0 : ndr->flags = _flags_save_DATA_BLOB;
3961 : }
3962 : {
3963 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3964 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3965 0 : ndr_print_DATA_BLOB(ndr, "new_lm_pswd", r->in.new_lm_pswd);
3966 0 : ndr->flags = _flags_save_DATA_BLOB;
3967 : }
3968 : {
3969 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
3970 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3971 0 : ndr_print_DATA_BLOB(ndr, "old_lm_hash_enc", r->in.old_lm_hash_enc);
3972 0 : ndr->flags = _flags_save_DATA_BLOB;
3973 : }
3974 0 : ndr->depth--;
3975 : }
3976 0 : if (flags & NDR_OUT) {
3977 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthCrapChangePassword");
3978 0 : ndr->depth++;
3979 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3980 0 : ndr->depth--;
3981 : }
3982 0 : ndr->depth--;
3983 : }
3984 :
3985 14 : static enum ndr_err_code ndr_push_wbint_PamAuthChangePassword(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_PamAuthChangePassword *r)
3986 : {
3987 14 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3988 14 : if (flags & NDR_IN) {
3989 14 : if (r->in.client_name == NULL) {
3990 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3991 : }
3992 14 : if (r->in.user == NULL) {
3993 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3994 : }
3995 14 : if (r->in.old_password == NULL) {
3996 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3997 : }
3998 14 : if (r->in.new_password == NULL) {
3999 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4000 : }
4001 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
4002 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4003 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
4004 14 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_name, ndr_charset_length(r->in.client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4005 14 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
4006 14 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
4007 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
4008 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4009 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
4010 14 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4011 : {
4012 14 : libndr_flags _flags_save_uint8 = ndr->flags;
4013 14 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4014 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.old_password, CH_UTF8)));
4015 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4016 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.old_password, CH_UTF8)));
4017 14 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.old_password, ndr_charset_length(r->in.old_password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4018 14 : ndr->flags = _flags_save_uint8;
4019 : }
4020 : {
4021 14 : libndr_flags _flags_save_uint8 = ndr->flags;
4022 14 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4023 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.new_password, CH_UTF8)));
4024 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4025 14 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.new_password, CH_UTF8)));
4026 14 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.new_password, ndr_charset_length(r->in.new_password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4027 14 : ndr->flags = _flags_save_uint8;
4028 : }
4029 : }
4030 14 : if (flags & NDR_OUT) {
4031 0 : if (r->out.dominfo == NULL) {
4032 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4033 : }
4034 0 : if (r->out.reject_reason == NULL) {
4035 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4036 : }
4037 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
4038 0 : if (*r->out.dominfo) {
4039 0 : NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
4040 : }
4041 0 : NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, *r->out.reject_reason));
4042 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4043 : }
4044 14 : return NDR_ERR_SUCCESS;
4045 : }
4046 :
4047 14 : static enum ndr_err_code ndr_pull_wbint_PamAuthChangePassword(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_PamAuthChangePassword *r)
4048 : {
4049 14 : uint32_t size_client_name_1 = 0;
4050 14 : uint32_t length_client_name_1 = 0;
4051 14 : uint32_t size_user_1 = 0;
4052 14 : uint32_t length_user_1 = 0;
4053 14 : uint32_t size_old_password_1 = 0;
4054 14 : uint32_t length_old_password_1 = 0;
4055 14 : uint32_t size_new_password_1 = 0;
4056 14 : uint32_t length_new_password_1 = 0;
4057 0 : uint32_t _ptr_dominfo;
4058 14 : TALLOC_CTX *_mem_save_dominfo_0 = NULL;
4059 14 : TALLOC_CTX *_mem_save_dominfo_1 = NULL;
4060 14 : TALLOC_CTX *_mem_save_reject_reason_0 = NULL;
4061 14 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4062 14 : if (flags & NDR_IN) {
4063 0 : NDR_ZERO_STRUCT(r->out);
4064 :
4065 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
4066 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
4067 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
4068 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
4069 0 : if (length_client_name_1 > size_client_name_1) {
4070 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_client_name_1, length_client_name_1);
4071 : }
4072 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
4073 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
4074 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
4075 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4076 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
4077 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
4078 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
4079 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
4080 0 : if (length_user_1 > size_user_1) {
4081 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_user_1, length_user_1);
4082 : }
4083 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
4084 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
4085 : {
4086 0 : libndr_flags _flags_save_uint8 = ndr->flags;
4087 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4088 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.old_password));
4089 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.old_password));
4090 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.old_password, &size_old_password_1));
4091 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.old_password, &length_old_password_1));
4092 0 : if (length_old_password_1 > size_old_password_1) {
4093 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_old_password_1, length_old_password_1);
4094 : }
4095 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_old_password_1, sizeof(uint8_t)));
4096 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.old_password, length_old_password_1, sizeof(uint8_t), CH_UTF8));
4097 0 : ndr->flags = _flags_save_uint8;
4098 : }
4099 : {
4100 0 : libndr_flags _flags_save_uint8 = ndr->flags;
4101 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4102 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.new_password));
4103 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.new_password));
4104 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.new_password, &size_new_password_1));
4105 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.new_password, &length_new_password_1));
4106 0 : if (length_new_password_1 > size_new_password_1) {
4107 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_new_password_1, length_new_password_1);
4108 : }
4109 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_new_password_1, sizeof(uint8_t)));
4110 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.new_password, length_new_password_1, sizeof(uint8_t), CH_UTF8));
4111 0 : ndr->flags = _flags_save_uint8;
4112 : }
4113 0 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
4114 0 : NDR_ZERO_STRUCTP(r->out.dominfo);
4115 0 : NDR_PULL_ALLOC(ndr, r->out.reject_reason);
4116 0 : NDR_ZERO_STRUCTP(r->out.reject_reason);
4117 : }
4118 14 : if (flags & NDR_OUT) {
4119 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4120 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4121 14 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4122 14 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
4123 : }
4124 14 : _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
4125 14 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
4126 14 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
4127 14 : if (_ptr_dominfo) {
4128 0 : NDR_PULL_ALLOC(ndr, *r->out.dominfo);
4129 : } else {
4130 14 : *r->out.dominfo = NULL;
4131 : }
4132 14 : if (*r->out.dominfo) {
4133 0 : _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
4134 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
4135 0 : NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
4136 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
4137 : }
4138 14 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
4139 14 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4140 14 : NDR_PULL_ALLOC(ndr, r->out.reject_reason);
4141 : }
4142 14 : _mem_save_reject_reason_0 = NDR_PULL_GET_MEM_CTX(ndr);
4143 14 : NDR_PULL_SET_MEM_CTX(ndr, r->out.reject_reason, LIBNDR_FLAG_REF_ALLOC);
4144 14 : NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, r->out.reject_reason));
4145 14 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_reason_0, LIBNDR_FLAG_REF_ALLOC);
4146 14 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4147 : }
4148 14 : return NDR_ERR_SUCCESS;
4149 : }
4150 :
4151 0 : _PUBLIC_ void ndr_print_wbint_PamAuthChangePassword(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_PamAuthChangePassword *r)
4152 : {
4153 0 : ndr_print_struct(ndr, name, "wbint_PamAuthChangePassword");
4154 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4155 0 : ndr->depth++;
4156 0 : if (flags & NDR_SET_VALUES) {
4157 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4158 : }
4159 0 : if (flags & NDR_IN) {
4160 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthChangePassword");
4161 0 : ndr->depth++;
4162 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
4163 0 : ndr->depth++;
4164 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
4165 0 : ndr->depth--;
4166 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
4167 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
4168 0 : ndr_print_ptr(ndr, "user", r->in.user);
4169 0 : ndr->depth++;
4170 0 : ndr_print_string(ndr, "user", r->in.user);
4171 0 : ndr->depth--;
4172 : {
4173 0 : libndr_flags _flags_save_uint8 = ndr->flags;
4174 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4175 0 : ndr_print_ptr(ndr, "old_password", r->in.old_password);
4176 0 : ndr->depth++;
4177 0 : ndr_print_string(ndr, "old_password", r->in.old_password);
4178 0 : ndr->depth--;
4179 0 : ndr->flags = _flags_save_uint8;
4180 : }
4181 : {
4182 0 : libndr_flags _flags_save_uint8 = ndr->flags;
4183 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4184 0 : ndr_print_ptr(ndr, "new_password", r->in.new_password);
4185 0 : ndr->depth++;
4186 0 : ndr_print_string(ndr, "new_password", r->in.new_password);
4187 0 : ndr->depth--;
4188 0 : ndr->flags = _flags_save_uint8;
4189 : }
4190 0 : ndr->depth--;
4191 : }
4192 0 : if (flags & NDR_OUT) {
4193 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthChangePassword");
4194 0 : ndr->depth++;
4195 0 : ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
4196 0 : ndr->depth++;
4197 0 : ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
4198 0 : ndr->depth++;
4199 0 : if (*r->out.dominfo) {
4200 0 : ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
4201 : }
4202 0 : ndr->depth--;
4203 0 : ndr->depth--;
4204 0 : ndr_print_ptr(ndr, "reject_reason", r->out.reject_reason);
4205 0 : ndr->depth++;
4206 0 : ndr_print_samPwdChangeReason(ndr, "reject_reason", *r->out.reject_reason);
4207 0 : ndr->depth--;
4208 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4209 0 : ndr->depth--;
4210 : }
4211 0 : ndr->depth--;
4212 : }
4213 :
4214 103 : static enum ndr_err_code ndr_push_wbint_InitConnection(struct ndr_push *ndr, ndr_flags_type flags, const struct wbint_InitConnection *r)
4215 : {
4216 103 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4217 103 : if (flags & NDR_IN) {
4218 103 : if (r->in.dcname == NULL) {
4219 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4220 : }
4221 103 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
4222 103 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4223 103 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
4224 103 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dcname, ndr_charset_length(r->in.dcname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4225 : }
4226 103 : if (flags & NDR_OUT) {
4227 0 : if (r->out.name == NULL) {
4228 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4229 : }
4230 0 : if (r->out.alt_name == NULL) {
4231 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4232 : }
4233 0 : if (r->out.sid == NULL) {
4234 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4235 : }
4236 0 : if (r->out.flags == NULL) {
4237 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4238 : }
4239 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name));
4240 0 : if (*r->out.name) {
4241 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
4242 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4243 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
4244 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name, ndr_charset_length(*r->out.name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4245 : }
4246 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.alt_name));
4247 0 : if (*r->out.alt_name) {
4248 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.alt_name, CH_UTF8)));
4249 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4250 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.alt_name, CH_UTF8)));
4251 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.alt_name, ndr_charset_length(*r->out.alt_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4252 : }
4253 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid));
4254 0 : NDR_CHECK(ndr_push_DomainInfoFlags(ndr, NDR_SCALARS, *r->out.flags));
4255 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4256 : }
4257 103 : return NDR_ERR_SUCCESS;
4258 : }
4259 :
4260 103 : static enum ndr_err_code ndr_pull_wbint_InitConnection(struct ndr_pull *ndr, ndr_flags_type flags, struct wbint_InitConnection *r)
4261 : {
4262 103 : uint32_t size_dcname_1 = 0;
4263 103 : uint32_t length_dcname_1 = 0;
4264 0 : uint32_t _ptr_name;
4265 103 : uint32_t size_name_2 = 0;
4266 103 : uint32_t length_name_2 = 0;
4267 0 : uint32_t _ptr_alt_name;
4268 103 : uint32_t size_alt_name_2 = 0;
4269 103 : uint32_t length_alt_name_2 = 0;
4270 103 : TALLOC_CTX *_mem_save_name_0 = NULL;
4271 103 : TALLOC_CTX *_mem_save_name_1 = NULL;
4272 103 : TALLOC_CTX *_mem_save_alt_name_0 = NULL;
4273 103 : TALLOC_CTX *_mem_save_alt_name_1 = NULL;
4274 103 : TALLOC_CTX *_mem_save_sid_0 = NULL;
4275 103 : TALLOC_CTX *_mem_save_flags_0 = NULL;
4276 103 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4277 103 : if (flags & NDR_IN) {
4278 0 : NDR_ZERO_STRUCT(r->out);
4279 :
4280 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dcname));
4281 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dcname));
4282 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dcname, &size_dcname_1));
4283 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dcname, &length_dcname_1));
4284 0 : if (length_dcname_1 > size_dcname_1) {
4285 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_dcname_1, length_dcname_1);
4286 : }
4287 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_1, sizeof(uint8_t)));
4288 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dcname, length_dcname_1, sizeof(uint8_t), CH_UTF8));
4289 0 : NDR_PULL_ALLOC(ndr, r->out.name);
4290 0 : NDR_ZERO_STRUCTP(r->out.name);
4291 0 : NDR_PULL_ALLOC(ndr, r->out.alt_name);
4292 0 : NDR_ZERO_STRUCTP(r->out.alt_name);
4293 0 : NDR_PULL_ALLOC(ndr, r->out.sid);
4294 0 : NDR_ZERO_STRUCTP(r->out.sid);
4295 0 : NDR_PULL_ALLOC(ndr, r->out.flags);
4296 0 : NDR_ZERO_STRUCTP(r->out.flags);
4297 : }
4298 103 : if (flags & NDR_OUT) {
4299 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4300 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4301 103 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4302 103 : NDR_PULL_ALLOC(ndr, r->out.name);
4303 : }
4304 103 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4305 103 : NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
4306 103 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4307 103 : if (_ptr_name) {
4308 103 : NDR_PULL_ALLOC(ndr, *r->out.name);
4309 : } else {
4310 0 : *r->out.name = NULL;
4311 : }
4312 103 : if (*r->out.name) {
4313 103 : _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
4314 103 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
4315 103 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.name));
4316 103 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.name));
4317 103 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.name, &size_name_2));
4318 103 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.name, &length_name_2));
4319 103 : if (length_name_2 > size_name_2) {
4320 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_name_2, length_name_2);
4321 : }
4322 103 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_2, sizeof(uint8_t)));
4323 103 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, length_name_2, sizeof(uint8_t), CH_UTF8));
4324 103 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
4325 : }
4326 103 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
4327 103 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4328 103 : NDR_PULL_ALLOC(ndr, r->out.alt_name);
4329 : }
4330 103 : _mem_save_alt_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4331 103 : NDR_PULL_SET_MEM_CTX(ndr, r->out.alt_name, LIBNDR_FLAG_REF_ALLOC);
4332 103 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alt_name));
4333 103 : if (_ptr_alt_name) {
4334 39 : NDR_PULL_ALLOC(ndr, *r->out.alt_name);
4335 : } else {
4336 64 : *r->out.alt_name = NULL;
4337 : }
4338 103 : if (*r->out.alt_name) {
4339 39 : _mem_save_alt_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
4340 39 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.alt_name, 0);
4341 39 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.alt_name));
4342 39 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.alt_name));
4343 39 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.alt_name, &size_alt_name_2));
4344 39 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.alt_name, &length_alt_name_2));
4345 39 : if (length_alt_name_2 > size_alt_name_2) {
4346 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_alt_name_2, length_alt_name_2);
4347 : }
4348 39 : NDR_CHECK(ndr_check_string_terminator(ndr, length_alt_name_2, sizeof(uint8_t)));
4349 39 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.alt_name, length_alt_name_2, sizeof(uint8_t), CH_UTF8));
4350 39 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alt_name_1, 0);
4351 : }
4352 103 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alt_name_0, LIBNDR_FLAG_REF_ALLOC);
4353 103 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4354 103 : NDR_PULL_ALLOC(ndr, r->out.sid);
4355 : }
4356 103 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4357 103 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
4358 103 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid));
4359 103 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
4360 103 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4361 103 : NDR_PULL_ALLOC(ndr, r->out.flags);
4362 : }
4363 103 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
4364 103 : NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
4365 103 : NDR_CHECK(ndr_pull_DomainInfoFlags(ndr, NDR_SCALARS, r->out.flags));
4366 103 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
4367 103 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4368 : }
4369 103 : return NDR_ERR_SUCCESS;
4370 : }
4371 :
4372 0 : _PUBLIC_ void ndr_print_wbint_InitConnection(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct wbint_InitConnection *r)
4373 : {
4374 0 : ndr_print_struct(ndr, name, "wbint_InitConnection");
4375 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4376 0 : ndr->depth++;
4377 0 : if (flags & NDR_SET_VALUES) {
4378 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4379 : }
4380 0 : if (flags & NDR_IN) {
4381 0 : ndr_print_struct(ndr, "in", "wbint_InitConnection");
4382 0 : ndr->depth++;
4383 0 : ndr_print_ptr(ndr, "dcname", r->in.dcname);
4384 0 : ndr->depth++;
4385 0 : ndr_print_string(ndr, "dcname", r->in.dcname);
4386 0 : ndr->depth--;
4387 0 : ndr->depth--;
4388 : }
4389 0 : if (flags & NDR_OUT) {
4390 0 : ndr_print_struct(ndr, "out", "wbint_InitConnection");
4391 0 : ndr->depth++;
4392 0 : ndr_print_ptr(ndr, "name", r->out.name);
4393 0 : ndr->depth++;
4394 0 : ndr_print_ptr(ndr, "name", *r->out.name);
4395 0 : ndr->depth++;
4396 0 : if (*r->out.name) {
4397 0 : ndr_print_string(ndr, "name", *r->out.name);
4398 : }
4399 0 : ndr->depth--;
4400 0 : ndr->depth--;
4401 0 : ndr_print_ptr(ndr, "alt_name", r->out.alt_name);
4402 0 : ndr->depth++;
4403 0 : ndr_print_ptr(ndr, "alt_name", *r->out.alt_name);
4404 0 : ndr->depth++;
4405 0 : if (*r->out.alt_name) {
4406 0 : ndr_print_string(ndr, "alt_name", *r->out.alt_name);
4407 : }
4408 0 : ndr->depth--;
4409 0 : ndr->depth--;
4410 0 : ndr_print_ptr(ndr, "sid", r->out.sid);
4411 0 : ndr->depth++;
4412 0 : ndr_print_dom_sid(ndr, "sid", r->out.sid);
4413 0 : ndr->depth--;
4414 0 : ndr_print_ptr(ndr, "flags", r->out.flags);
4415 0 : ndr->depth++;
4416 0 : ndr_print_DomainInfoFlags(ndr, "flags", *r->out.flags);
4417 0 : ndr->depth--;
4418 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4419 0 : ndr->depth--;
4420 : }
4421 0 : ndr->depth--;
4422 : }
4423 :
4424 1572 : static enum ndr_err_code ndr_push_winbind_SamLogon(struct ndr_push *ndr, ndr_flags_type flags, const struct winbind_SamLogon *r)
4425 : {
4426 1572 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4427 1572 : if (flags & NDR_IN) {
4428 1572 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
4429 1572 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
4430 1572 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
4431 1572 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
4432 : }
4433 1572 : if (flags & NDR_OUT) {
4434 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
4435 0 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
4436 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->out.authoritative));
4437 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4438 : }
4439 1566 : return NDR_ERR_SUCCESS;
4440 : }
4441 :
4442 1570 : static enum ndr_err_code ndr_pull_winbind_SamLogon(struct ndr_pull *ndr, ndr_flags_type flags, struct winbind_SamLogon *r)
4443 : {
4444 1570 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4445 1570 : if (flags & NDR_IN) {
4446 0 : NDR_ZERO_STRUCT(r->out);
4447 :
4448 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
4449 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
4450 0 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
4451 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
4452 : }
4453 1570 : if (flags & NDR_OUT) {
4454 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4455 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4456 1570 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
4457 1570 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
4458 1570 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->out.authoritative));
4459 1570 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4460 : }
4461 1564 : return NDR_ERR_SUCCESS;
4462 : }
4463 :
4464 0 : _PUBLIC_ void ndr_print_winbind_SamLogon(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct winbind_SamLogon *r)
4465 : {
4466 0 : ndr_print_struct(ndr, name, "winbind_SamLogon");
4467 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4468 0 : ndr->depth++;
4469 0 : if (flags & NDR_SET_VALUES) {
4470 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4471 : }
4472 0 : if (flags & NDR_IN) {
4473 0 : ndr_print_struct(ndr, "in", "winbind_SamLogon");
4474 0 : ndr->depth++;
4475 0 : ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
4476 0 : ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
4477 0 : ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
4478 0 : ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
4479 0 : ndr->depth--;
4480 : }
4481 0 : if (flags & NDR_OUT) {
4482 0 : ndr_print_struct(ndr, "out", "winbind_SamLogon");
4483 0 : ndr->depth++;
4484 0 : ndr_print_set_switch_value(ndr, &r->out.validation, r->in.validation_level);
4485 0 : ndr_print_netr_Validation(ndr, "validation", &r->out.validation);
4486 0 : ndr_print_uint8(ndr, "authoritative", r->out.authoritative);
4487 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4488 0 : ndr->depth--;
4489 : }
4490 0 : ndr->depth--;
4491 : }
4492 :
4493 5 : static enum ndr_err_code ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_push *ndr, ndr_flags_type flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4494 : {
4495 5 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4496 5 : if (flags & NDR_IN) {
4497 5 : if (r->in.dns_names == NULL) {
4498 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4499 : }
4500 5 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
4501 5 : if (r->in.site_name) {
4502 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
4503 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4504 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
4505 5 : 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));
4506 : }
4507 5 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dns_ttl));
4508 5 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
4509 : }
4510 5 : if (flags & NDR_OUT) {
4511 0 : if (r->out.dns_names == NULL) {
4512 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4513 : }
4514 0 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
4515 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4516 : }
4517 5 : return NDR_ERR_SUCCESS;
4518 : }
4519 :
4520 5 : static enum ndr_err_code ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_pull *ndr, ndr_flags_type flags, struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4521 : {
4522 0 : uint32_t _ptr_site_name;
4523 5 : uint32_t size_site_name_1 = 0;
4524 5 : uint32_t length_site_name_1 = 0;
4525 5 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
4526 5 : TALLOC_CTX *_mem_save_dns_names_0 = NULL;
4527 5 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4528 5 : if (flags & NDR_IN) {
4529 0 : NDR_ZERO_STRUCT(r->out);
4530 :
4531 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
4532 0 : if (_ptr_site_name) {
4533 0 : NDR_PULL_ALLOC(ndr, r->in.site_name);
4534 : } else {
4535 0 : r->in.site_name = NULL;
4536 : }
4537 0 : if (r->in.site_name) {
4538 0 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4539 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
4540 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
4541 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
4542 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
4543 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
4544 0 : if (length_site_name_1 > size_site_name_1) {
4545 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_site_name_1, length_site_name_1);
4546 : }
4547 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
4548 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
4549 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
4550 : }
4551 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dns_ttl));
4552 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4553 0 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
4554 : }
4555 0 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4556 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dns_names, LIBNDR_FLAG_REF_ALLOC);
4557 0 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
4558 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
4559 0 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
4560 0 : *r->out.dns_names = *r->in.dns_names;
4561 : }
4562 5 : if (flags & NDR_OUT) {
4563 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4564 : if (r->in.dns_names == NULL) {
4565 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
4566 : NDR_ZERO_STRUCTP(r->in.dns_names);
4567 : }
4568 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4569 5 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4570 5 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
4571 : }
4572 5 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4573 5 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dns_names, LIBNDR_FLAG_REF_ALLOC);
4574 5 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
4575 5 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
4576 5 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4577 : }
4578 5 : return NDR_ERR_SUCCESS;
4579 : }
4580 :
4581 0 : _PUBLIC_ void ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4582 : {
4583 0 : ndr_print_struct(ndr, name, "winbind_DsrUpdateReadOnlyServerDnsRecords");
4584 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4585 0 : ndr->depth++;
4586 0 : if (flags & NDR_SET_VALUES) {
4587 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4588 : }
4589 0 : if (flags & NDR_IN) {
4590 0 : ndr_print_struct(ndr, "in", "winbind_DsrUpdateReadOnlyServerDnsRecords");
4591 0 : ndr->depth++;
4592 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
4593 0 : ndr->depth++;
4594 0 : if (r->in.site_name) {
4595 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
4596 : }
4597 0 : ndr->depth--;
4598 0 : ndr_print_uint32(ndr, "dns_ttl", r->in.dns_ttl);
4599 0 : ndr_print_ptr(ndr, "dns_names", r->in.dns_names);
4600 0 : ndr->depth++;
4601 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->in.dns_names);
4602 0 : ndr->depth--;
4603 0 : ndr->depth--;
4604 : }
4605 0 : if (flags & NDR_OUT) {
4606 0 : ndr_print_struct(ndr, "out", "winbind_DsrUpdateReadOnlyServerDnsRecords");
4607 0 : ndr->depth++;
4608 0 : ndr_print_ptr(ndr, "dns_names", r->out.dns_names);
4609 0 : ndr->depth++;
4610 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->out.dns_names);
4611 0 : ndr->depth--;
4612 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4613 0 : ndr->depth--;
4614 : }
4615 0 : ndr->depth--;
4616 : }
4617 :
4618 165 : static enum ndr_err_code ndr_push_winbind_LogonControl(struct ndr_push *ndr, ndr_flags_type flags, const struct winbind_LogonControl *r)
4619 : {
4620 165 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4621 165 : if (flags & NDR_IN) {
4622 165 : if (r->in.data == NULL) {
4623 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4624 : }
4625 165 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
4626 165 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
4627 165 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
4628 165 : NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
4629 : }
4630 165 : if (flags & NDR_OUT) {
4631 0 : if (r->out.query == NULL) {
4632 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4633 : }
4634 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
4635 0 : NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
4636 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4637 : }
4638 149 : return NDR_ERR_SUCCESS;
4639 : }
4640 :
4641 165 : static enum ndr_err_code ndr_pull_winbind_LogonControl(struct ndr_pull *ndr, ndr_flags_type flags, struct winbind_LogonControl *r)
4642 : {
4643 165 : TALLOC_CTX *_mem_save_data_0 = NULL;
4644 165 : TALLOC_CTX *_mem_save_query_0 = NULL;
4645 165 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4646 165 : if (flags & NDR_IN) {
4647 0 : NDR_ZERO_STRUCT(r->out);
4648 :
4649 0 : NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
4650 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
4651 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4652 0 : NDR_PULL_ALLOC(ndr, r->in.data);
4653 : }
4654 0 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4655 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
4656 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
4657 0 : NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
4658 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
4659 0 : NDR_PULL_ALLOC(ndr, r->out.query);
4660 0 : NDR_ZERO_STRUCTP(r->out.query);
4661 : }
4662 165 : if (flags & NDR_OUT) {
4663 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4664 : if (r->in.data == NULL) {
4665 : NDR_PULL_ALLOC(ndr, r->in.data);
4666 : NDR_ZERO_STRUCTP(r->in.data);
4667 : }
4668 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4669 165 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4670 165 : NDR_PULL_ALLOC(ndr, r->out.query);
4671 : }
4672 165 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
4673 165 : NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
4674 165 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
4675 165 : NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
4676 165 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
4677 165 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4678 : }
4679 149 : return NDR_ERR_SUCCESS;
4680 : }
4681 :
4682 0 : _PUBLIC_ void ndr_print_winbind_LogonControl(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct winbind_LogonControl *r)
4683 : {
4684 0 : ndr_print_struct(ndr, name, "winbind_LogonControl");
4685 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4686 0 : ndr->depth++;
4687 0 : if (flags & NDR_SET_VALUES) {
4688 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4689 : }
4690 0 : if (flags & NDR_IN) {
4691 0 : ndr_print_struct(ndr, "in", "winbind_LogonControl");
4692 0 : ndr->depth++;
4693 0 : ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
4694 0 : ndr_print_uint32(ndr, "level", r->in.level);
4695 0 : ndr_print_ptr(ndr, "data", r->in.data);
4696 0 : ndr->depth++;
4697 0 : ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
4698 0 : ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
4699 0 : ndr->depth--;
4700 0 : ndr->depth--;
4701 : }
4702 0 : if (flags & NDR_OUT) {
4703 0 : ndr_print_struct(ndr, "out", "winbind_LogonControl");
4704 0 : ndr->depth++;
4705 0 : ndr_print_ptr(ndr, "query", r->out.query);
4706 0 : ndr->depth++;
4707 0 : ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
4708 0 : ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
4709 0 : ndr->depth--;
4710 0 : ndr_print_WERROR(ndr, "result", r->out.result);
4711 0 : ndr->depth--;
4712 : }
4713 0 : ndr->depth--;
4714 : }
4715 :
4716 20 : static enum ndr_err_code ndr_push_winbind_GetForestTrustInformation(struct ndr_push *ndr, ndr_flags_type flags, const struct winbind_GetForestTrustInformation *r)
4717 : {
4718 20 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4719 20 : if (flags & NDR_IN) {
4720 20 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
4721 20 : if (r->in.trusted_domain_name) {
4722 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
4723 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4724 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
4725 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));
4726 : }
4727 20 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
4728 : }
4729 20 : if (flags & NDR_OUT) {
4730 0 : if (r->out.forest_trust_info == NULL) {
4731 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4732 : }
4733 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
4734 0 : if (*r->out.forest_trust_info) {
4735 0 : NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
4736 : }
4737 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4738 : }
4739 20 : return NDR_ERR_SUCCESS;
4740 : }
4741 :
4742 20 : static enum ndr_err_code ndr_pull_winbind_GetForestTrustInformation(struct ndr_pull *ndr, ndr_flags_type flags, struct winbind_GetForestTrustInformation *r)
4743 : {
4744 0 : uint32_t _ptr_trusted_domain_name;
4745 20 : uint32_t size_trusted_domain_name_1 = 0;
4746 20 : uint32_t length_trusted_domain_name_1 = 0;
4747 0 : uint32_t _ptr_forest_trust_info;
4748 20 : TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
4749 20 : TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
4750 20 : TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
4751 20 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4752 20 : if (flags & NDR_IN) {
4753 0 : NDR_ZERO_STRUCT(r->out);
4754 :
4755 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
4756 0 : if (_ptr_trusted_domain_name) {
4757 0 : NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
4758 : } else {
4759 0 : r->in.trusted_domain_name = NULL;
4760 : }
4761 0 : if (r->in.trusted_domain_name) {
4762 0 : _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4763 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
4764 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
4765 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
4766 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.trusted_domain_name, &size_trusted_domain_name_1));
4767 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.trusted_domain_name, &length_trusted_domain_name_1));
4768 0 : if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
4769 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_trusted_domain_name_1, length_trusted_domain_name_1);
4770 : }
4771 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
4772 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
4773 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
4774 : }
4775 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4776 0 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
4777 0 : NDR_ZERO_STRUCTP(r->out.forest_trust_info);
4778 : }
4779 20 : if (flags & NDR_OUT) {
4780 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4781 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4782 20 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4783 20 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
4784 : }
4785 20 : _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4786 20 : NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
4787 20 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
4788 20 : if (_ptr_forest_trust_info) {
4789 20 : NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
4790 : } else {
4791 0 : *r->out.forest_trust_info = NULL;
4792 : }
4793 20 : if (*r->out.forest_trust_info) {
4794 20 : _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
4795 20 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
4796 20 : NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
4797 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
4798 : }
4799 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
4800 20 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4801 : }
4802 20 : return NDR_ERR_SUCCESS;
4803 : }
4804 :
4805 0 : _PUBLIC_ void ndr_print_winbind_GetForestTrustInformation(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct winbind_GetForestTrustInformation *r)
4806 : {
4807 0 : ndr_print_struct(ndr, name, "winbind_GetForestTrustInformation");
4808 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4809 0 : ndr->depth++;
4810 0 : if (flags & NDR_SET_VALUES) {
4811 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4812 : }
4813 0 : if (flags & NDR_IN) {
4814 0 : ndr_print_struct(ndr, "in", "winbind_GetForestTrustInformation");
4815 0 : ndr->depth++;
4816 0 : ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
4817 0 : ndr->depth++;
4818 0 : if (r->in.trusted_domain_name) {
4819 0 : ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
4820 : }
4821 0 : ndr->depth--;
4822 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
4823 0 : ndr->depth--;
4824 : }
4825 0 : if (flags & NDR_OUT) {
4826 0 : ndr_print_struct(ndr, "out", "winbind_GetForestTrustInformation");
4827 0 : ndr->depth++;
4828 0 : ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
4829 0 : ndr->depth++;
4830 0 : ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
4831 0 : ndr->depth++;
4832 0 : if (*r->out.forest_trust_info) {
4833 0 : ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
4834 : }
4835 0 : ndr->depth--;
4836 0 : ndr->depth--;
4837 0 : ndr_print_WERROR(ndr, "result", r->out.result);
4838 0 : ndr->depth--;
4839 : }
4840 0 : ndr->depth--;
4841 : }
4842 :
4843 17 : static enum ndr_err_code ndr_push_winbind_SendToSam(struct ndr_push *ndr, ndr_flags_type flags, const struct winbind_SendToSam *r)
4844 : {
4845 17 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4846 17 : if (flags & NDR_IN) {
4847 17 : NDR_CHECK(ndr_push_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
4848 : }
4849 17 : if (flags & NDR_OUT) {
4850 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4851 : }
4852 17 : return NDR_ERR_SUCCESS;
4853 : }
4854 :
4855 0 : static enum ndr_err_code ndr_pull_winbind_SendToSam(struct ndr_pull *ndr, ndr_flags_type flags, struct winbind_SendToSam *r)
4856 : {
4857 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4858 0 : if (flags & NDR_IN) {
4859 0 : NDR_CHECK(ndr_pull_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
4860 : }
4861 0 : if (flags & NDR_OUT) {
4862 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4863 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4864 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4865 : }
4866 0 : return NDR_ERR_SUCCESS;
4867 : }
4868 :
4869 0 : _PUBLIC_ void ndr_print_winbind_SendToSam(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct winbind_SendToSam *r)
4870 : {
4871 0 : ndr_print_struct(ndr, name, "winbind_SendToSam");
4872 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4873 0 : ndr->depth++;
4874 0 : if (flags & NDR_SET_VALUES) {
4875 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4876 : }
4877 0 : if (flags & NDR_IN) {
4878 0 : ndr_print_struct(ndr, "in", "winbind_SendToSam");
4879 0 : ndr->depth++;
4880 0 : ndr_print_netr_SendToSamBase(ndr, "message", &r->in.message);
4881 0 : ndr->depth--;
4882 : }
4883 0 : if (flags & NDR_OUT) {
4884 0 : ndr_print_struct(ndr, "out", "winbind_SendToSam");
4885 0 : ndr->depth++;
4886 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4887 0 : ndr->depth--;
4888 : }
4889 0 : ndr->depth--;
4890 : }
4891 :
4892 : #ifndef SKIP_NDR_TABLE_winbind
4893 : static const struct ndr_interface_public_struct winbind_public_structs[] = {
4894 : {
4895 : .name = "wbint_userinfo",
4896 : .struct_size = sizeof(struct wbint_userinfo ),
4897 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfo,
4898 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfo,
4899 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfo,
4900 : },
4901 : {
4902 : .name = "wbint_SidArray",
4903 : .struct_size = sizeof(struct wbint_SidArray ),
4904 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_SidArray,
4905 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_SidArray,
4906 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_SidArray,
4907 : },
4908 : {
4909 : .name = "wbint_RidArray",
4910 : .struct_size = sizeof(struct wbint_RidArray ),
4911 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_RidArray,
4912 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_RidArray,
4913 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_RidArray,
4914 : },
4915 : {
4916 : .name = "wbint_Principal",
4917 : .struct_size = sizeof(struct wbint_Principal ),
4918 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principal,
4919 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principal,
4920 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principal,
4921 : },
4922 : {
4923 : .name = "wbint_Principals",
4924 : .struct_size = sizeof(struct wbint_Principals ),
4925 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principals,
4926 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principals,
4927 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principals,
4928 : },
4929 : {
4930 : .name = "wbint_userinfos",
4931 : .struct_size = sizeof(struct wbint_userinfos ),
4932 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfos,
4933 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfos,
4934 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfos,
4935 : },
4936 : {
4937 : .name = "wbint_Validation",
4938 : .struct_size = sizeof(struct wbint_Validation ),
4939 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Validation,
4940 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Validation,
4941 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Validation,
4942 : },
4943 : {
4944 : .name = "wbint_AuthUserInfo",
4945 : .struct_size = sizeof(struct wbint_AuthUserInfo ),
4946 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_AuthUserInfo,
4947 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_AuthUserInfo,
4948 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_AuthUserInfo,
4949 : },
4950 : {
4951 : .name = "wbint_PamAuthCrapValidation",
4952 : .struct_size = sizeof(struct wbint_PamAuthCrapValidation ),
4953 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrapValidation,
4954 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrapValidation,
4955 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_PamAuthCrapValidation,
4956 : },
4957 : { .name = NULL }
4958 : };
4959 :
4960 : static const struct ndr_interface_call winbind_calls[] = {
4961 : {
4962 : "wbint_Ping",
4963 : sizeof(struct wbint_Ping),
4964 : (ndr_push_flags_fn_t) ndr_push_wbint_Ping,
4965 : (ndr_pull_flags_fn_t) ndr_pull_wbint_Ping,
4966 : (ndr_print_function_t) ndr_print_wbint_Ping,
4967 : { 0, NULL },
4968 : { 0, NULL },
4969 : },
4970 : {
4971 : "wbint_LookupSid",
4972 : sizeof(struct wbint_LookupSid),
4973 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupSid,
4974 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSid,
4975 : (ndr_print_function_t) ndr_print_wbint_LookupSid,
4976 : { 0, NULL },
4977 : { 0, NULL },
4978 : },
4979 : {
4980 : "wbint_LookupSids",
4981 : sizeof(struct wbint_LookupSids),
4982 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupSids,
4983 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSids,
4984 : (ndr_print_function_t) ndr_print_wbint_LookupSids,
4985 : { 0, NULL },
4986 : { 0, NULL },
4987 : },
4988 : {
4989 : "wbint_LookupName",
4990 : sizeof(struct wbint_LookupName),
4991 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupName,
4992 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupName,
4993 : (ndr_print_function_t) ndr_print_wbint_LookupName,
4994 : { 0, NULL },
4995 : { 0, NULL },
4996 : },
4997 : {
4998 : "wbint_Sids2UnixIDs",
4999 : sizeof(struct wbint_Sids2UnixIDs),
5000 : (ndr_push_flags_fn_t) ndr_push_wbint_Sids2UnixIDs,
5001 : (ndr_pull_flags_fn_t) ndr_pull_wbint_Sids2UnixIDs,
5002 : (ndr_print_function_t) ndr_print_wbint_Sids2UnixIDs,
5003 : { 0, NULL },
5004 : { 0, NULL },
5005 : },
5006 : {
5007 : "wbint_UnixIDs2Sids",
5008 : sizeof(struct wbint_UnixIDs2Sids),
5009 : (ndr_push_flags_fn_t) ndr_push_wbint_UnixIDs2Sids,
5010 : (ndr_pull_flags_fn_t) ndr_pull_wbint_UnixIDs2Sids,
5011 : (ndr_print_function_t) ndr_print_wbint_UnixIDs2Sids,
5012 : { 0, NULL },
5013 : { 0, NULL },
5014 : },
5015 : {
5016 : "wbint_AllocateUid",
5017 : sizeof(struct wbint_AllocateUid),
5018 : (ndr_push_flags_fn_t) ndr_push_wbint_AllocateUid,
5019 : (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateUid,
5020 : (ndr_print_function_t) ndr_print_wbint_AllocateUid,
5021 : { 0, NULL },
5022 : { 0, NULL },
5023 : },
5024 : {
5025 : "wbint_AllocateGid",
5026 : sizeof(struct wbint_AllocateGid),
5027 : (ndr_push_flags_fn_t) ndr_push_wbint_AllocateGid,
5028 : (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateGid,
5029 : (ndr_print_function_t) ndr_print_wbint_AllocateGid,
5030 : { 0, NULL },
5031 : { 0, NULL },
5032 : },
5033 : {
5034 : "wbint_GetNssInfo",
5035 : sizeof(struct wbint_GetNssInfo),
5036 : (ndr_push_flags_fn_t) ndr_push_wbint_GetNssInfo,
5037 : (ndr_pull_flags_fn_t) ndr_pull_wbint_GetNssInfo,
5038 : (ndr_print_function_t) ndr_print_wbint_GetNssInfo,
5039 : { 0, NULL },
5040 : { 0, NULL },
5041 : },
5042 : {
5043 : "wbint_LookupUserAliases",
5044 : sizeof(struct wbint_LookupUserAliases),
5045 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserAliases,
5046 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserAliases,
5047 : (ndr_print_function_t) ndr_print_wbint_LookupUserAliases,
5048 : { 0, NULL },
5049 : { 0, NULL },
5050 : },
5051 : {
5052 : "wbint_LookupUserGroups",
5053 : sizeof(struct wbint_LookupUserGroups),
5054 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserGroups,
5055 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserGroups,
5056 : (ndr_print_function_t) ndr_print_wbint_LookupUserGroups,
5057 : { 0, NULL },
5058 : { 0, NULL },
5059 : },
5060 : {
5061 : "wbint_QuerySequenceNumber",
5062 : sizeof(struct wbint_QuerySequenceNumber),
5063 : (ndr_push_flags_fn_t) ndr_push_wbint_QuerySequenceNumber,
5064 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QuerySequenceNumber,
5065 : (ndr_print_function_t) ndr_print_wbint_QuerySequenceNumber,
5066 : { 0, NULL },
5067 : { 0, NULL },
5068 : },
5069 : {
5070 : "wbint_LookupGroupMembers",
5071 : sizeof(struct wbint_LookupGroupMembers),
5072 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupGroupMembers,
5073 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupGroupMembers,
5074 : (ndr_print_function_t) ndr_print_wbint_LookupGroupMembers,
5075 : { 0, NULL },
5076 : { 0, NULL },
5077 : },
5078 : {
5079 : "wbint_LookupAliasMembers",
5080 : sizeof(struct wbint_LookupAliasMembers),
5081 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupAliasMembers,
5082 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupAliasMembers,
5083 : (ndr_print_function_t) ndr_print_wbint_LookupAliasMembers,
5084 : { 0, NULL },
5085 : { 0, NULL },
5086 : },
5087 : {
5088 : "wbint_QueryGroupList",
5089 : sizeof(struct wbint_QueryGroupList),
5090 : (ndr_push_flags_fn_t) ndr_push_wbint_QueryGroupList,
5091 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryGroupList,
5092 : (ndr_print_function_t) ndr_print_wbint_QueryGroupList,
5093 : { 0, NULL },
5094 : { 0, NULL },
5095 : },
5096 : {
5097 : "wbint_QueryUserRidList",
5098 : sizeof(struct wbint_QueryUserRidList),
5099 : (ndr_push_flags_fn_t) ndr_push_wbint_QueryUserRidList,
5100 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryUserRidList,
5101 : (ndr_print_function_t) ndr_print_wbint_QueryUserRidList,
5102 : { 0, NULL },
5103 : { 0, NULL },
5104 : },
5105 : {
5106 : "wbint_DsGetDcName",
5107 : sizeof(struct wbint_DsGetDcName),
5108 : (ndr_push_flags_fn_t) ndr_push_wbint_DsGetDcName,
5109 : (ndr_pull_flags_fn_t) ndr_pull_wbint_DsGetDcName,
5110 : (ndr_print_function_t) ndr_print_wbint_DsGetDcName,
5111 : { 0, NULL },
5112 : { 0, NULL },
5113 : },
5114 : {
5115 : "wbint_LookupRids",
5116 : sizeof(struct wbint_LookupRids),
5117 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupRids,
5118 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupRids,
5119 : (ndr_print_function_t) ndr_print_wbint_LookupRids,
5120 : { 0, NULL },
5121 : { 0, NULL },
5122 : },
5123 : {
5124 : "wbint_CheckMachineAccount",
5125 : sizeof(struct wbint_CheckMachineAccount),
5126 : (ndr_push_flags_fn_t) ndr_push_wbint_CheckMachineAccount,
5127 : (ndr_pull_flags_fn_t) ndr_pull_wbint_CheckMachineAccount,
5128 : (ndr_print_function_t) ndr_print_wbint_CheckMachineAccount,
5129 : { 0, NULL },
5130 : { 0, NULL },
5131 : },
5132 : {
5133 : "wbint_ChangeMachineAccount",
5134 : sizeof(struct wbint_ChangeMachineAccount),
5135 : (ndr_push_flags_fn_t) ndr_push_wbint_ChangeMachineAccount,
5136 : (ndr_pull_flags_fn_t) ndr_pull_wbint_ChangeMachineAccount,
5137 : (ndr_print_function_t) ndr_print_wbint_ChangeMachineAccount,
5138 : { 0, NULL },
5139 : { 0, NULL },
5140 : },
5141 : {
5142 : "wbint_PingDc",
5143 : sizeof(struct wbint_PingDc),
5144 : (ndr_push_flags_fn_t) ndr_push_wbint_PingDc,
5145 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PingDc,
5146 : (ndr_print_function_t) ndr_print_wbint_PingDc,
5147 : { 0, NULL },
5148 : { 0, NULL },
5149 : },
5150 : {
5151 : "wbint_ListTrustedDomains",
5152 : sizeof(struct wbint_ListTrustedDomains),
5153 : (ndr_push_flags_fn_t) ndr_push_wbint_ListTrustedDomains,
5154 : (ndr_pull_flags_fn_t) ndr_pull_wbint_ListTrustedDomains,
5155 : (ndr_print_function_t) ndr_print_wbint_ListTrustedDomains,
5156 : { 0, NULL },
5157 : { 0, NULL },
5158 : },
5159 : {
5160 : "wbint_PamAuth",
5161 : sizeof(struct wbint_PamAuth),
5162 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuth,
5163 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuth,
5164 : (ndr_print_function_t) ndr_print_wbint_PamAuth,
5165 : { 0, NULL },
5166 : { 0, NULL },
5167 : },
5168 : {
5169 : "wbint_PamAuthCrap",
5170 : sizeof(struct wbint_PamAuthCrap),
5171 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrap,
5172 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrap,
5173 : (ndr_print_function_t) ndr_print_wbint_PamAuthCrap,
5174 : { 0, NULL },
5175 : { 0, NULL },
5176 : },
5177 : {
5178 : "wbint_PamLogOff",
5179 : sizeof(struct wbint_PamLogOff),
5180 : (ndr_push_flags_fn_t) ndr_push_wbint_PamLogOff,
5181 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamLogOff,
5182 : (ndr_print_function_t) ndr_print_wbint_PamLogOff,
5183 : { 0, NULL },
5184 : { 0, NULL },
5185 : },
5186 : {
5187 : "wbint_PamAuthCrapChangePassword",
5188 : sizeof(struct wbint_PamAuthCrapChangePassword),
5189 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrapChangePassword,
5190 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrapChangePassword,
5191 : (ndr_print_function_t) ndr_print_wbint_PamAuthCrapChangePassword,
5192 : { 0, NULL },
5193 : { 0, NULL },
5194 : },
5195 : {
5196 : "wbint_PamAuthChangePassword",
5197 : sizeof(struct wbint_PamAuthChangePassword),
5198 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthChangePassword,
5199 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthChangePassword,
5200 : (ndr_print_function_t) ndr_print_wbint_PamAuthChangePassword,
5201 : { 0, NULL },
5202 : { 0, NULL },
5203 : },
5204 : {
5205 : "wbint_InitConnection",
5206 : sizeof(struct wbint_InitConnection),
5207 : (ndr_push_flags_fn_t) ndr_push_wbint_InitConnection,
5208 : (ndr_pull_flags_fn_t) ndr_pull_wbint_InitConnection,
5209 : (ndr_print_function_t) ndr_print_wbint_InitConnection,
5210 : { 0, NULL },
5211 : { 0, NULL },
5212 : },
5213 : {
5214 : "winbind_SamLogon",
5215 : sizeof(struct winbind_SamLogon),
5216 : (ndr_push_flags_fn_t) ndr_push_winbind_SamLogon,
5217 : (ndr_pull_flags_fn_t) ndr_pull_winbind_SamLogon,
5218 : (ndr_print_function_t) ndr_print_winbind_SamLogon,
5219 : { 0, NULL },
5220 : { 0, NULL },
5221 : },
5222 : {
5223 : "winbind_DsrUpdateReadOnlyServerDnsRecords",
5224 : sizeof(struct winbind_DsrUpdateReadOnlyServerDnsRecords),
5225 : (ndr_push_flags_fn_t) ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords,
5226 : (ndr_pull_flags_fn_t) ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords,
5227 : (ndr_print_function_t) ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords,
5228 : { 0, NULL },
5229 : { 0, NULL },
5230 : },
5231 : {
5232 : "winbind_LogonControl",
5233 : sizeof(struct winbind_LogonControl),
5234 : (ndr_push_flags_fn_t) ndr_push_winbind_LogonControl,
5235 : (ndr_pull_flags_fn_t) ndr_pull_winbind_LogonControl,
5236 : (ndr_print_function_t) ndr_print_winbind_LogonControl,
5237 : { 0, NULL },
5238 : { 0, NULL },
5239 : },
5240 : {
5241 : "winbind_GetForestTrustInformation",
5242 : sizeof(struct winbind_GetForestTrustInformation),
5243 : (ndr_push_flags_fn_t) ndr_push_winbind_GetForestTrustInformation,
5244 : (ndr_pull_flags_fn_t) ndr_pull_winbind_GetForestTrustInformation,
5245 : (ndr_print_function_t) ndr_print_winbind_GetForestTrustInformation,
5246 : { 0, NULL },
5247 : { 0, NULL },
5248 : },
5249 : {
5250 : "winbind_SendToSam",
5251 : sizeof(struct winbind_SendToSam),
5252 : (ndr_push_flags_fn_t) ndr_push_winbind_SendToSam,
5253 : (ndr_pull_flags_fn_t) ndr_pull_winbind_SendToSam,
5254 : (ndr_print_function_t) ndr_print_winbind_SendToSam,
5255 : { 0, NULL },
5256 : { 0, NULL },
5257 : },
5258 : { .name = NULL }
5259 : };
5260 :
5261 : static const char * const winbind_endpoint_strings[] = {
5262 : "ncalrpc:",
5263 : };
5264 :
5265 : static const struct ndr_interface_string_array winbind_endpoints = {
5266 : .count = 1,
5267 : .names = winbind_endpoint_strings
5268 : };
5269 :
5270 : static const char * const winbind_authservice_strings[] = {
5271 : "host",
5272 : };
5273 :
5274 : static const struct ndr_interface_string_array winbind_authservices = {
5275 : .count = 1,
5276 : .names = winbind_authservice_strings
5277 : };
5278 :
5279 :
5280 : const struct ndr_interface_table ndr_table_winbind = {
5281 : .name = "winbind",
5282 : .syntax_id = {
5283 : {0xbf09192c,0xed60,0x4928,{0x9d,0xff},{0xd0,0xd7,0xbc,0xb0,0x3e,0xd8}},
5284 : NDR_WINBIND_VERSION
5285 : },
5286 : .helpstring = NDR_WINBIND_HELPSTRING,
5287 : .num_calls = 33,
5288 : .calls = winbind_calls,
5289 : .num_public_structs = 9,
5290 : .public_structs = winbind_public_structs,
5291 : .endpoints = &winbind_endpoints,
5292 : .authservices = &winbind_authservices
5293 : };
5294 :
5295 : #endif /* SKIP_NDR_TABLE_winbind */
|