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 1159 : static enum ndr_err_code ndr_push_wbint_TransID(struct ndr_push *ndr, int ndr_flags, const struct wbint_TransID *r)
13 : {
14 1159 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
15 1159 : if (ndr_flags & NDR_SCALARS) {
16 1159 : NDR_CHECK(ndr_push_align(ndr, 4));
17 1159 : NDR_CHECK(ndr_push_id_type(ndr, NDR_SCALARS, r->type_hint));
18 1159 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_index));
19 1159 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
20 1159 : NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->xid));
21 1159 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
22 : }
23 1159 : if (ndr_flags & NDR_BUFFERS) {
24 : }
25 1159 : return NDR_ERR_SUCCESS;
26 : }
27 :
28 1159 : static enum ndr_err_code ndr_pull_wbint_TransID(struct ndr_pull *ndr, int ndr_flags, struct wbint_TransID *r)
29 : {
30 1159 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
31 1159 : if (ndr_flags & NDR_SCALARS) {
32 1159 : NDR_CHECK(ndr_pull_align(ndr, 4));
33 1159 : NDR_CHECK(ndr_pull_id_type(ndr, NDR_SCALARS, &r->type_hint));
34 1159 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_index));
35 1159 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
36 1159 : NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->xid));
37 1159 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
38 : }
39 1159 : if (ndr_flags & NDR_BUFFERS) {
40 : }
41 1159 : 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 975 : static enum ndr_err_code ndr_push_wbint_TransIDArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_TransIDArray *r)
57 : {
58 : uint32_t cntr_ids_0;
59 975 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
60 975 : if (ndr_flags & NDR_SCALARS) {
61 975 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_ids));
62 975 : NDR_CHECK(ndr_push_align(ndr, 4));
63 975 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_ids));
64 2134 : for (cntr_ids_0 = 0; cntr_ids_0 < (r->num_ids); cntr_ids_0++) {
65 1159 : NDR_CHECK(ndr_push_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
66 : }
67 975 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
68 : }
69 975 : if (ndr_flags & NDR_BUFFERS) {
70 : }
71 975 : return NDR_ERR_SUCCESS;
72 : }
73 :
74 975 : static enum ndr_err_code ndr_pull_wbint_TransIDArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_TransIDArray *r)
75 : {
76 975 : uint32_t size_ids_0 = 0;
77 : uint32_t cntr_ids_0;
78 975 : TALLOC_CTX *_mem_save_ids_0 = NULL;
79 975 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
80 975 : if (ndr_flags & NDR_SCALARS) {
81 975 : NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
82 975 : NDR_CHECK(ndr_pull_align(ndr, 4));
83 975 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_ids));
84 975 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->ids, &size_ids_0));
85 975 : NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_0);
86 975 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
87 975 : NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
88 2134 : for (cntr_ids_0 = 0; cntr_ids_0 < (size_ids_0); cntr_ids_0++) {
89 1159 : NDR_CHECK(ndr_pull_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
90 : }
91 975 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
92 975 : if (r->ids) {
93 975 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->ids, r->num_ids));
94 : }
95 975 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
96 : }
97 975 : if (ndr_flags & NDR_BUFFERS) {
98 : }
99 975 : 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 : 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(%d)", "ids", (int)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 2306 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfo(struct ndr_push *ndr, int ndr_flags, const struct wbint_userinfo *r)
119 : {
120 2306 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
121 2306 : if (ndr_flags & NDR_SCALARS) {
122 2306 : NDR_CHECK(ndr_push_align(ndr, 8));
123 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
124 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->acct_name));
125 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->full_name));
126 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->homedir));
127 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->shell));
128 2306 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
129 2306 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid));
130 2306 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->primary_group_name));
131 2306 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
132 2306 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
133 2306 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
134 : }
135 2306 : if (ndr_flags & NDR_BUFFERS) {
136 2306 : if (r->domain_name) {
137 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
138 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
139 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
140 2306 : 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 2306 : if (r->acct_name) {
143 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
144 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
145 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
146 2306 : 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 2306 : if (r->full_name) {
149 1850 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
150 1850 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
151 1850 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
152 1850 : 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 2306 : if (r->homedir) {
155 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
156 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
157 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
158 2306 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
159 : }
160 2306 : if (r->shell) {
161 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
162 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
163 2306 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
164 2306 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
165 : }
166 2306 : 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 2306 : return NDR_ERR_SUCCESS;
174 : }
175 :
176 2306 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfo(struct ndr_pull *ndr, int ndr_flags, struct wbint_userinfo *r)
177 : {
178 : uint32_t _ptr_domain_name;
179 2306 : uint32_t size_domain_name_1 = 0;
180 2306 : uint32_t length_domain_name_1 = 0;
181 2306 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
182 : uint32_t _ptr_acct_name;
183 2306 : uint32_t size_acct_name_1 = 0;
184 2306 : uint32_t length_acct_name_1 = 0;
185 2306 : TALLOC_CTX *_mem_save_acct_name_0 = NULL;
186 : uint32_t _ptr_full_name;
187 2306 : uint32_t size_full_name_1 = 0;
188 2306 : uint32_t length_full_name_1 = 0;
189 2306 : TALLOC_CTX *_mem_save_full_name_0 = NULL;
190 : uint32_t _ptr_homedir;
191 2306 : uint32_t size_homedir_1 = 0;
192 2306 : uint32_t length_homedir_1 = 0;
193 2306 : TALLOC_CTX *_mem_save_homedir_0 = NULL;
194 : uint32_t _ptr_shell;
195 2306 : uint32_t size_shell_1 = 0;
196 2306 : uint32_t length_shell_1 = 0;
197 2306 : TALLOC_CTX *_mem_save_shell_0 = NULL;
198 : uint32_t _ptr_primary_group_name;
199 2306 : uint32_t size_primary_group_name_1 = 0;
200 2306 : uint32_t length_primary_group_name_1 = 0;
201 2306 : TALLOC_CTX *_mem_save_primary_group_name_0 = NULL;
202 2306 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
203 2306 : if (ndr_flags & NDR_SCALARS) {
204 2306 : NDR_CHECK(ndr_pull_align(ndr, 8));
205 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
206 2306 : if (_ptr_domain_name) {
207 2306 : NDR_PULL_ALLOC(ndr, r->domain_name);
208 : } else {
209 0 : r->domain_name = NULL;
210 : }
211 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_acct_name));
212 2306 : if (_ptr_acct_name) {
213 2306 : NDR_PULL_ALLOC(ndr, r->acct_name);
214 : } else {
215 0 : r->acct_name = NULL;
216 : }
217 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_full_name));
218 2306 : if (_ptr_full_name) {
219 1852 : NDR_PULL_ALLOC(ndr, r->full_name);
220 : } else {
221 454 : r->full_name = NULL;
222 : }
223 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_homedir));
224 2306 : if (_ptr_homedir) {
225 2306 : NDR_PULL_ALLOC(ndr, r->homedir);
226 : } else {
227 0 : r->homedir = NULL;
228 : }
229 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_shell));
230 2306 : if (_ptr_shell) {
231 2306 : NDR_PULL_ALLOC(ndr, r->shell);
232 : } else {
233 0 : r->shell = NULL;
234 : }
235 2306 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
236 2306 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid));
237 2306 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_group_name));
238 2306 : if (_ptr_primary_group_name) {
239 0 : NDR_PULL_ALLOC(ndr, r->primary_group_name);
240 : } else {
241 2306 : r->primary_group_name = NULL;
242 : }
243 2306 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
244 2306 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
245 2306 : NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
246 : }
247 2306 : if (ndr_flags & NDR_BUFFERS) {
248 2306 : if (r->domain_name) {
249 2306 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
250 2306 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
251 2306 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
252 2306 : NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
253 2306 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
254 2306 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
255 2306 : if (length_domain_name_1 > size_domain_name_1) {
256 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
257 : }
258 2306 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
259 2306 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
260 2306 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
261 : }
262 2306 : if (r->acct_name) {
263 2306 : _mem_save_acct_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
264 2306 : NDR_PULL_SET_MEM_CTX(ndr, r->acct_name, 0);
265 2306 : NDR_CHECK(ndr_pull_array_size(ndr, &r->acct_name));
266 2306 : NDR_CHECK(ndr_pull_array_length(ndr, &r->acct_name));
267 2306 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->acct_name, &size_acct_name_1));
268 2306 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->acct_name, &length_acct_name_1));
269 2306 : if (length_acct_name_1 > size_acct_name_1) {
270 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_acct_name_1, length_acct_name_1);
271 : }
272 2306 : NDR_CHECK(ndr_check_string_terminator(ndr, length_acct_name_1, sizeof(uint8_t)));
273 2306 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->acct_name, length_acct_name_1, sizeof(uint8_t), CH_UTF8));
274 2306 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_name_0, 0);
275 : }
276 2306 : if (r->full_name) {
277 1852 : _mem_save_full_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
278 1852 : NDR_PULL_SET_MEM_CTX(ndr, r->full_name, 0);
279 1852 : NDR_CHECK(ndr_pull_array_size(ndr, &r->full_name));
280 1852 : NDR_CHECK(ndr_pull_array_length(ndr, &r->full_name));
281 1852 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->full_name, &size_full_name_1));
282 1852 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->full_name, &length_full_name_1));
283 1852 : if (length_full_name_1 > size_full_name_1) {
284 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_full_name_1, length_full_name_1);
285 : }
286 1852 : NDR_CHECK(ndr_check_string_terminator(ndr, length_full_name_1, sizeof(uint8_t)));
287 1852 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->full_name, length_full_name_1, sizeof(uint8_t), CH_UTF8));
288 1852 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_full_name_0, 0);
289 : }
290 2306 : if (r->homedir) {
291 2306 : _mem_save_homedir_0 = NDR_PULL_GET_MEM_CTX(ndr);
292 2306 : NDR_PULL_SET_MEM_CTX(ndr, r->homedir, 0);
293 2306 : NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
294 2306 : NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
295 2306 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->homedir, &size_homedir_1));
296 2306 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->homedir, &length_homedir_1));
297 2306 : if (length_homedir_1 > size_homedir_1) {
298 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_homedir_1, length_homedir_1);
299 : }
300 2306 : NDR_CHECK(ndr_check_string_terminator(ndr, length_homedir_1, sizeof(uint8_t)));
301 2306 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, length_homedir_1, sizeof(uint8_t), CH_UTF8));
302 2306 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_homedir_0, 0);
303 : }
304 2306 : if (r->shell) {
305 2306 : _mem_save_shell_0 = NDR_PULL_GET_MEM_CTX(ndr);
306 2306 : NDR_PULL_SET_MEM_CTX(ndr, r->shell, 0);
307 2306 : NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
308 2306 : NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
309 2306 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->shell, &size_shell_1));
310 2306 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->shell, &length_shell_1));
311 2306 : if (length_shell_1 > size_shell_1) {
312 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_shell_1, length_shell_1);
313 : }
314 2306 : NDR_CHECK(ndr_check_string_terminator(ndr, length_shell_1, sizeof(uint8_t)));
315 2306 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, length_shell_1, sizeof(uint8_t), CH_UTF8));
316 2306 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_shell_0, 0);
317 : }
318 2306 : 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 %u should exceed array length %u", 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 2306 : return NDR_ERR_SUCCESS;
334 : }
335 :
336 0 : static void ndr_print_flags_wbint_userinfo(struct ndr_print *ndr, const char *name, int 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 827 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_SidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_SidArray *r)
390 : {
391 : uint32_t cntr_sids_0;
392 827 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
393 827 : if (ndr_flags & NDR_SCALARS) {
394 827 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
395 827 : NDR_CHECK(ndr_push_align(ndr, 4));
396 827 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
397 1403 : for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
398 576 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
399 : }
400 827 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
401 : }
402 827 : if (ndr_flags & NDR_BUFFERS) {
403 : }
404 827 : return NDR_ERR_SUCCESS;
405 : }
406 :
407 26 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_SidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_SidArray *r)
408 : {
409 26 : uint32_t size_sids_0 = 0;
410 : uint32_t cntr_sids_0;
411 26 : TALLOC_CTX *_mem_save_sids_0 = NULL;
412 26 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
413 26 : if (ndr_flags & NDR_SCALARS) {
414 26 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
415 26 : NDR_CHECK(ndr_pull_align(ndr, 4));
416 26 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
417 26 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
418 26 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
419 26 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
420 26 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
421 58 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
422 32 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
423 : }
424 26 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
425 26 : if (r->sids) {
426 26 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
427 : }
428 26 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
429 : }
430 26 : if (ndr_flags & NDR_BUFFERS) {
431 : }
432 26 : return NDR_ERR_SUCCESS;
433 : }
434 :
435 0 : static void ndr_print_flags_wbint_SidArray(struct ndr_print *ndr, const char *name, int 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 : 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(%d)", "sids", (int)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 44 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_RidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_RidArray *r)
457 : {
458 : uint32_t cntr_rids_0;
459 44 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
460 44 : if (ndr_flags & NDR_SCALARS) {
461 44 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
462 44 : NDR_CHECK(ndr_push_align(ndr, 4));
463 44 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
464 215 : for (cntr_rids_0 = 0; cntr_rids_0 < (r->num_rids); cntr_rids_0++) {
465 171 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
466 : }
467 44 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
468 : }
469 44 : if (ndr_flags & NDR_BUFFERS) {
470 : }
471 44 : return NDR_ERR_SUCCESS;
472 : }
473 :
474 228 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_RidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_RidArray *r)
475 : {
476 228 : uint32_t size_rids_0 = 0;
477 : uint32_t cntr_rids_0;
478 228 : TALLOC_CTX *_mem_save_rids_0 = NULL;
479 228 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
480 228 : if (ndr_flags & NDR_SCALARS) {
481 228 : NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
482 228 : NDR_CHECK(ndr_pull_align(ndr, 4));
483 228 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
484 228 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_0));
485 228 : NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_0);
486 228 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
487 228 : NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
488 598 : for (cntr_rids_0 = 0; cntr_rids_0 < (size_rids_0); cntr_rids_0++) {
489 370 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
490 : }
491 228 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
492 228 : if (r->rids) {
493 228 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->num_rids));
494 : }
495 228 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
496 : }
497 228 : if (ndr_flags & NDR_BUFFERS) {
498 : }
499 228 : return NDR_ERR_SUCCESS;
500 : }
501 :
502 0 : static void ndr_print_flags_wbint_RidArray(struct ndr_print *ndr, const char *name, int 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 : 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(%d)", "rids", (int)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 0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principal(struct ndr_push *ndr, int ndr_flags, const struct wbint_Principal *r)
524 : {
525 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
526 0 : if (ndr_flags & NDR_SCALARS) {
527 0 : NDR_CHECK(ndr_push_align(ndr, 5));
528 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
529 0 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
530 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
531 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
532 : }
533 0 : if (ndr_flags & NDR_BUFFERS) {
534 0 : if (r->name) {
535 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
536 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
537 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
538 0 : 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 5502 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principal(struct ndr_pull *ndr, int ndr_flags, struct wbint_Principal *r)
545 : {
546 : uint32_t _ptr_name;
547 5502 : uint32_t size_name_1 = 0;
548 5502 : uint32_t length_name_1 = 0;
549 5502 : TALLOC_CTX *_mem_save_name_0 = NULL;
550 5502 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
551 5502 : if (ndr_flags & NDR_SCALARS) {
552 2751 : NDR_CHECK(ndr_pull_align(ndr, 5));
553 2751 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
554 2751 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
555 2751 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
556 2751 : if (_ptr_name) {
557 2751 : NDR_PULL_ALLOC(ndr, r->name);
558 : } else {
559 0 : r->name = NULL;
560 : }
561 2751 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
562 : }
563 5502 : if (ndr_flags & NDR_BUFFERS) {
564 2751 : if (r->name) {
565 2751 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
566 2751 : NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
567 2751 : NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
568 2751 : NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
569 2751 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
570 2751 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
571 2751 : if (length_name_1 > size_name_1) {
572 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
573 : }
574 2751 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint8_t)));
575 2751 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint8_t), CH_UTF8));
576 2751 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
577 : }
578 : }
579 5502 : return NDR_ERR_SUCCESS;
580 : }
581 :
582 0 : static void ndr_print_flags_wbint_Principal(struct ndr_print *ndr, const char *name, int 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 0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principals(struct ndr_push *ndr, int ndr_flags, const struct wbint_Principals *r)
604 : {
605 : uint32_t cntr_principals_0;
606 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
607 0 : if (ndr_flags & NDR_SCALARS) {
608 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_principals));
609 0 : NDR_CHECK(ndr_push_align(ndr, 5));
610 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_principals));
611 0 : for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
612 0 : NDR_CHECK(ndr_push_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
613 : }
614 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
615 : }
616 0 : if (ndr_flags & NDR_BUFFERS) {
617 0 : for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
618 0 : 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 612 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principals(struct ndr_pull *ndr, int ndr_flags, struct wbint_Principals *r)
625 : {
626 612 : uint32_t size_principals_0 = 0;
627 : uint32_t cntr_principals_0;
628 612 : TALLOC_CTX *_mem_save_principals_0 = NULL;
629 612 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
630 612 : if (ndr_flags & NDR_SCALARS) {
631 612 : NDR_CHECK(ndr_pull_array_size(ndr, &r->principals));
632 612 : NDR_CHECK(ndr_pull_align(ndr, 5));
633 612 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_principals));
634 612 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
635 612 : NDR_PULL_ALLOC_N(ndr, r->principals, size_principals_0);
636 612 : _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
637 612 : NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
638 3363 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
639 2751 : NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
640 : }
641 612 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
642 612 : if (r->principals) {
643 612 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->principals, r->num_principals));
644 : }
645 612 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
646 : }
647 612 : if (ndr_flags & NDR_BUFFERS) {
648 612 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
649 612 : _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
650 612 : NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
651 3363 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
652 2751 : NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_BUFFERS, &r->principals[cntr_principals_0]));
653 : }
654 612 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
655 3363 : for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
656 : }
657 : }
658 612 : return NDR_ERR_SUCCESS;
659 : }
660 :
661 0 : static void ndr_print_flags_wbint_Principals(struct ndr_print *ndr, const char *name, int 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 : 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(%d)", "principals", (int)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, int ndr_flags, const struct wbint_userinfos *r)
683 : {
684 : 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, int ndr_flags, struct wbint_userinfos *r)
704 : {
705 0 : uint32_t size_userinfos_0 = 0;
706 : 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, int 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 : 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(%d)", "userinfos", (int)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, int 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 331 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Validation(struct ndr_pull *ndr, int ndr_flags, struct wbint_Validation *r)
787 : {
788 : uint32_t _ptr_validation;
789 331 : TALLOC_CTX *_mem_save_validation_0 = NULL;
790 : uint32_t _ptr_krb5ccname;
791 331 : uint32_t size_krb5ccname_1 = 0;
792 331 : uint32_t length_krb5ccname_1 = 0;
793 331 : TALLOC_CTX *_mem_save_krb5ccname_0 = NULL;
794 331 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
795 331 : if (ndr_flags & NDR_SCALARS) {
796 331 : NDR_CHECK(ndr_pull_align(ndr, 5));
797 331 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->level));
798 331 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_validation));
799 331 : if (_ptr_validation) {
800 233 : NDR_PULL_ALLOC(ndr, r->validation);
801 : } else {
802 98 : r->validation = NULL;
803 : }
804 331 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5ccname));
805 331 : if (_ptr_krb5ccname) {
806 34 : NDR_PULL_ALLOC(ndr, r->krb5ccname);
807 : } else {
808 297 : r->krb5ccname = NULL;
809 : }
810 331 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
811 : }
812 331 : if (ndr_flags & NDR_BUFFERS) {
813 331 : if (r->validation) {
814 233 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
815 233 : NDR_PULL_SET_MEM_CTX(ndr, r->validation, 0);
816 233 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->validation, r->level));
817 233 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
818 233 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, 0);
819 : }
820 331 : 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 %u should exceed array length %u", 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 331 : return NDR_ERR_SUCCESS;
836 : }
837 :
838 0 : static void ndr_print_flags_wbint_Validation(struct ndr_print *ndr, const char *name, int 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 331 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_AuthUserInfo(struct ndr_push *ndr, int ndr_flags, const struct wbint_AuthUserInfo *r)
866 : {
867 331 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
868 331 : if (ndr_flags & NDR_SCALARS) {
869 331 : NDR_CHECK(ndr_push_align(ndr, 8));
870 331 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->username));
871 : {
872 331 : uint32_t _flags_save_uint8 = ndr->flags;
873 331 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
874 331 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
875 331 : ndr->flags = _flags_save_uint8;
876 : }
877 331 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_type));
878 331 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
879 331 : NDR_CHECK(ndr_push_trailer_align(ndr, 8));
880 : }
881 331 : if (ndr_flags & NDR_BUFFERS) {
882 331 : if (r->username) {
883 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->username, CH_UTF8)));
884 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
885 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->username, CH_UTF8)));
886 331 : 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 331 : uint32_t _flags_save_uint8 = ndr->flags;
890 331 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
891 331 : if (r->password) {
892 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
893 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
894 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
895 331 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
896 : }
897 331 : ndr->flags = _flags_save_uint8;
898 : }
899 331 : if (r->krb5_cc_type) {
900 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
901 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
902 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
903 331 : 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 331 : return NDR_ERR_SUCCESS;
907 : }
908 :
909 0 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_AuthUserInfo(struct ndr_pull *ndr, int ndr_flags, struct wbint_AuthUserInfo *r)
910 : {
911 : 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 : 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 : 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 : uint32_t _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 %u should exceed array length %u", 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 : uint32_t _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 %u should exceed array length %u", 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 %u should exceed array length %u", 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, int 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 : uint32_t _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, int 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 344 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_PamAuthCrapValidation(struct ndr_pull *ndr, int ndr_flags, struct wbint_PamAuthCrapValidation *r)
1060 : {
1061 : uint32_t _ptr_validation;
1062 344 : TALLOC_CTX *_mem_save_validation_0 = NULL;
1063 344 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1064 344 : if (ndr_flags & NDR_SCALARS) {
1065 344 : NDR_CHECK(ndr_pull_align(ndr, 5));
1066 344 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->level));
1067 344 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_validation));
1068 344 : if (_ptr_validation) {
1069 258 : NDR_PULL_ALLOC(ndr, r->validation);
1070 : } else {
1071 86 : r->validation = NULL;
1072 : }
1073 344 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1074 : }
1075 344 : if (ndr_flags & NDR_BUFFERS) {
1076 344 : if (r->validation) {
1077 258 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
1078 258 : NDR_PULL_SET_MEM_CTX(ndr, r->validation, 0);
1079 258 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->validation, r->level));
1080 258 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->validation));
1081 258 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, 0);
1082 : }
1083 : }
1084 344 : return NDR_ERR_SUCCESS;
1085 : }
1086 :
1087 0 : static void ndr_print_flags_wbint_PamAuthCrapValidation(struct ndr_print *ndr, const char *name, int 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, int 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 69 : static enum ndr_err_code ndr_pull_DomainInfoFlags(struct ndr_pull *ndr, int ndr_flags, enum DomainInfoFlags *r)
1115 : {
1116 : uint16_t v;
1117 69 : NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1118 69 : *r = v;
1119 69 : 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, int 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, int 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, int 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 5678 : static enum ndr_err_code ndr_push_wbint_LookupSid(struct ndr_push *ndr, int flags, const struct wbint_LookupSid *r)
1206 : {
1207 5678 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1208 5678 : if (flags & NDR_IN) {
1209 5678 : if (r->in.sid == NULL) {
1210 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1211 : }
1212 5678 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
1213 : }
1214 5678 : 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 5678 : return NDR_ERR_SUCCESS;
1242 : }
1243 :
1244 5678 : static enum ndr_err_code ndr_pull_wbint_LookupSid(struct ndr_pull *ndr, int flags, struct wbint_LookupSid *r)
1245 : {
1246 : uint32_t _ptr_domain;
1247 5678 : uint32_t size_domain_2 = 0;
1248 5678 : uint32_t length_domain_2 = 0;
1249 : uint32_t _ptr_name;
1250 5678 : uint32_t size_name_2 = 0;
1251 5678 : uint32_t length_name_2 = 0;
1252 5678 : TALLOC_CTX *_mem_save_sid_0 = NULL;
1253 5678 : TALLOC_CTX *_mem_save_type_0 = NULL;
1254 5678 : TALLOC_CTX *_mem_save_domain_0 = NULL;
1255 5678 : TALLOC_CTX *_mem_save_domain_1 = NULL;
1256 5678 : TALLOC_CTX *_mem_save_name_0 = NULL;
1257 5678 : TALLOC_CTX *_mem_save_name_1 = NULL;
1258 5678 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1259 5678 : 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 5678 : 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 5678 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1284 5678 : NDR_PULL_ALLOC(ndr, r->out.type);
1285 : }
1286 5678 : _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1287 5678 : NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
1288 5678 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
1289 5678 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
1290 5678 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1291 5678 : NDR_PULL_ALLOC(ndr, r->out.domain);
1292 : }
1293 5678 : _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
1294 5678 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domain, LIBNDR_FLAG_REF_ALLOC);
1295 5678 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
1296 5678 : if (_ptr_domain) {
1297 5152 : NDR_PULL_ALLOC(ndr, *r->out.domain);
1298 : } else {
1299 526 : *r->out.domain = NULL;
1300 : }
1301 5678 : if (*r->out.domain) {
1302 5152 : _mem_save_domain_1 = NDR_PULL_GET_MEM_CTX(ndr);
1303 5152 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain, 0);
1304 5152 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain));
1305 5152 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain));
1306 5152 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain, &size_domain_2));
1307 5152 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain, &length_domain_2));
1308 5152 : if (length_domain_2 > size_domain_2) {
1309 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_2, length_domain_2);
1310 : }
1311 5152 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_2, sizeof(uint8_t)));
1312 5152 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain, length_domain_2, sizeof(uint8_t), CH_UTF8));
1313 5152 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_1, 0);
1314 : }
1315 5678 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, LIBNDR_FLAG_REF_ALLOC);
1316 5678 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1317 5678 : NDR_PULL_ALLOC(ndr, r->out.name);
1318 : }
1319 5678 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1320 5678 : NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1321 5678 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1322 5678 : if (_ptr_name) {
1323 5152 : NDR_PULL_ALLOC(ndr, *r->out.name);
1324 : } else {
1325 526 : *r->out.name = NULL;
1326 : }
1327 5678 : if (*r->out.name) {
1328 5152 : _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
1329 5152 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
1330 5152 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.name));
1331 5152 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.name));
1332 5152 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.name, &size_name_2));
1333 5152 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.name, &length_name_2));
1334 5152 : if (length_name_2 > size_name_2) {
1335 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_2, length_name_2);
1336 : }
1337 5152 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_2, sizeof(uint8_t)));
1338 5152 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, length_name_2, sizeof(uint8_t), CH_UTF8));
1339 5152 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
1340 : }
1341 5678 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1342 5678 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1343 : }
1344 5678 : return NDR_ERR_SUCCESS;
1345 : }
1346 :
1347 0 : _PUBLIC_ void ndr_print_wbint_LookupSid(struct ndr_print *ndr, const char *name, int 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 96 : static enum ndr_err_code ndr_push_wbint_LookupSids(struct ndr_push *ndr, int flags, const struct wbint_LookupSids *r)
1396 : {
1397 96 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1398 96 : if (flags & NDR_IN) {
1399 96 : if (r->in.sids == NULL) {
1400 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1401 : }
1402 96 : NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
1403 : }
1404 96 : 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 96 : return NDR_ERR_SUCCESS;
1416 : }
1417 :
1418 96 : static enum ndr_err_code ndr_pull_wbint_LookupSids(struct ndr_pull *ndr, int flags, struct wbint_LookupSids *r)
1419 : {
1420 96 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1421 96 : TALLOC_CTX *_mem_save_domains_0 = NULL;
1422 96 : TALLOC_CTX *_mem_save_names_0 = NULL;
1423 96 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1424 96 : 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 96 : 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 96 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1447 96 : NDR_PULL_ALLOC(ndr, r->out.domains);
1448 : }
1449 96 : _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1450 96 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
1451 96 : NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
1452 96 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
1453 96 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1454 96 : NDR_PULL_ALLOC(ndr, r->out.names);
1455 : }
1456 96 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
1457 96 : NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
1458 96 : NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
1459 96 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
1460 96 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1461 : }
1462 96 : return NDR_ERR_SUCCESS;
1463 : }
1464 :
1465 0 : _PUBLIC_ void ndr_print_wbint_LookupSids(struct ndr_print *ndr, const char *name, int 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 2183 : static enum ndr_err_code ndr_push_wbint_LookupName(struct ndr_push *ndr, int flags, const struct wbint_LookupName *r)
1500 : {
1501 2183 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1502 2183 : if (flags & NDR_IN) {
1503 2183 : if (r->in.domain == NULL) {
1504 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1505 : }
1506 2183 : if (r->in.name == NULL) {
1507 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1508 : }
1509 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
1510 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1511 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
1512 2183 : 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 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
1514 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1515 2183 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
1516 2183 : 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 2183 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
1518 : }
1519 2183 : 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 2183 : return NDR_ERR_SUCCESS;
1531 : }
1532 :
1533 2183 : static enum ndr_err_code ndr_pull_wbint_LookupName(struct ndr_pull *ndr, int flags, struct wbint_LookupName *r)
1534 : {
1535 2183 : uint32_t size_domain_1 = 0;
1536 2183 : uint32_t length_domain_1 = 0;
1537 2183 : uint32_t size_name_1 = 0;
1538 2183 : uint32_t length_name_1 = 0;
1539 2183 : TALLOC_CTX *_mem_save_type_0 = NULL;
1540 2183 : TALLOC_CTX *_mem_save_sid_0 = NULL;
1541 2183 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1542 2183 : 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 %u should exceed array length %u", 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 %u should exceed array length %u", 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 2183 : if (flags & NDR_OUT) {
1570 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1571 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1572 2183 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1573 2183 : NDR_PULL_ALLOC(ndr, r->out.type);
1574 : }
1575 2183 : _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1576 2183 : NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
1577 2183 : NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
1578 2183 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
1579 2183 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1580 2183 : NDR_PULL_ALLOC(ndr, r->out.sid);
1581 : }
1582 2183 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1583 2183 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
1584 2183 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid));
1585 2183 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
1586 2183 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1587 : }
1588 2183 : return NDR_ERR_SUCCESS;
1589 : }
1590 :
1591 0 : _PUBLIC_ void ndr_print_wbint_LookupName(struct ndr_print *ndr, const char *name, int 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 975 : static enum ndr_err_code ndr_push_wbint_Sids2UnixIDs(struct ndr_push *ndr, int flags, const struct wbint_Sids2UnixIDs *r)
1631 : {
1632 975 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1633 975 : if (flags & NDR_IN) {
1634 975 : if (r->in.domains == NULL) {
1635 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1636 : }
1637 975 : if (r->in.ids == NULL) {
1638 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1639 : }
1640 975 : NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domains));
1641 975 : NDR_CHECK(ndr_push_wbint_TransIDArray(ndr, NDR_SCALARS, r->in.ids));
1642 : }
1643 975 : 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 975 : return NDR_ERR_SUCCESS;
1651 : }
1652 :
1653 975 : static enum ndr_err_code ndr_pull_wbint_Sids2UnixIDs(struct ndr_pull *ndr, int flags, struct wbint_Sids2UnixIDs *r)
1654 : {
1655 975 : TALLOC_CTX *_mem_save_domains_0 = NULL;
1656 975 : TALLOC_CTX *_mem_save_ids_0 = NULL;
1657 975 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1658 975 : 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 975 : 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 975 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1690 975 : NDR_PULL_ALLOC(ndr, r->out.ids);
1691 : }
1692 975 : _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1693 975 : NDR_PULL_SET_MEM_CTX(ndr, r->out.ids, LIBNDR_FLAG_REF_ALLOC);
1694 975 : NDR_CHECK(ndr_pull_wbint_TransIDArray(ndr, NDR_SCALARS, r->out.ids));
1695 975 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, LIBNDR_FLAG_REF_ALLOC);
1696 975 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1697 : }
1698 975 : return NDR_ERR_SUCCESS;
1699 : }
1700 :
1701 0 : _PUBLIC_ void ndr_print_wbint_Sids2UnixIDs(struct ndr_print *ndr, const char *name, int 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 164 : static enum ndr_err_code ndr_push_wbint_UnixIDs2Sids(struct ndr_push *ndr, int flags, const struct wbint_UnixIDs2Sids *r)
1736 : {
1737 : uint32_t cntr_xids_0;
1738 : uint32_t cntr_sids_0;
1739 164 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1740 164 : if (flags & NDR_IN) {
1741 164 : if (r->in.domain_name == NULL) {
1742 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1743 : }
1744 164 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
1745 164 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1746 164 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
1747 164 : 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 164 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->in.domain_sid));
1749 164 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ids));
1750 464 : for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
1751 300 : NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->in.xids[cntr_xids_0]));
1752 : }
1753 : }
1754 164 : 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 164 : return NDR_ERR_SUCCESS;
1764 : }
1765 :
1766 164 : static enum ndr_err_code ndr_pull_wbint_UnixIDs2Sids(struct ndr_pull *ndr, int flags, struct wbint_UnixIDs2Sids *r)
1767 : {
1768 164 : uint32_t size_domain_name_1 = 0;
1769 164 : uint32_t length_domain_name_1 = 0;
1770 164 : uint32_t size_xids_0 = 0;
1771 : uint32_t cntr_xids_0;
1772 164 : uint32_t size_sids_0 = 0;
1773 : uint32_t cntr_sids_0;
1774 164 : TALLOC_CTX *_mem_save_xids_0 = NULL;
1775 164 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1776 164 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1777 164 : 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 %u should exceed array length %u", 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 164 : if (flags & NDR_OUT) {
1801 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1802 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1803 164 : size_xids_0 = r->in.num_ids;
1804 164 : NDR_PULL_ALLOC_N(ndr, r->out.xids, size_xids_0);
1805 164 : _mem_save_xids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1806 164 : NDR_PULL_SET_MEM_CTX(ndr, r->out.xids, 0);
1807 464 : for (cntr_xids_0 = 0; cntr_xids_0 < (size_xids_0); cntr_xids_0++) {
1808 300 : NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->out.xids[cntr_xids_0]));
1809 : }
1810 164 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xids_0, 0);
1811 164 : size_sids_0 = r->in.num_ids;
1812 164 : NDR_PULL_ALLOC_N(ndr, r->out.sids, size_sids_0);
1813 164 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1814 164 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, 0);
1815 464 : for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
1816 300 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->out.sids[cntr_sids_0]));
1817 : }
1818 164 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1819 164 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1820 : }
1821 164 : return NDR_ERR_SUCCESS;
1822 : }
1823 :
1824 0 : _PUBLIC_ void ndr_print_wbint_UnixIDs2Sids(struct ndr_print *ndr, const char *name, int flags, const struct wbint_UnixIDs2Sids *r)
1825 : {
1826 : uint32_t cntr_xids_0;
1827 : 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(%d)", "xids", (int)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(%d)", "xids", (int)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(%d)", "sids", (int)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 2 : static enum ndr_err_code ndr_push_wbint_AllocateUid(struct ndr_push *ndr, int flags, const struct wbint_AllocateUid *r)
1873 : {
1874 2 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1875 2 : if (flags & NDR_IN) {
1876 : }
1877 2 : 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 2 : return NDR_ERR_SUCCESS;
1885 : }
1886 :
1887 2 : static enum ndr_err_code ndr_pull_wbint_AllocateUid(struct ndr_pull *ndr, int flags, struct wbint_AllocateUid *r)
1888 : {
1889 2 : TALLOC_CTX *_mem_save_uid_0 = NULL;
1890 2 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1891 2 : 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 2 : if (flags & NDR_OUT) {
1898 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1899 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1900 2 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1901 2 : NDR_PULL_ALLOC(ndr, r->out.uid);
1902 : }
1903 2 : _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1904 2 : NDR_PULL_SET_MEM_CTX(ndr, r->out.uid, LIBNDR_FLAG_REF_ALLOC);
1905 2 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.uid));
1906 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, LIBNDR_FLAG_REF_ALLOC);
1907 2 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1908 : }
1909 2 : return NDR_ERR_SUCCESS;
1910 : }
1911 :
1912 0 : _PUBLIC_ void ndr_print_wbint_AllocateUid(struct ndr_print *ndr, const char *name, int 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 68 : static enum ndr_err_code ndr_push_wbint_AllocateGid(struct ndr_push *ndr, int flags, const struct wbint_AllocateGid *r)
1939 : {
1940 68 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1941 68 : if (flags & NDR_IN) {
1942 : }
1943 68 : 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 68 : return NDR_ERR_SUCCESS;
1951 : }
1952 :
1953 68 : static enum ndr_err_code ndr_pull_wbint_AllocateGid(struct ndr_pull *ndr, int flags, struct wbint_AllocateGid *r)
1954 : {
1955 68 : TALLOC_CTX *_mem_save_gid_0 = NULL;
1956 68 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1957 68 : 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 68 : if (flags & NDR_OUT) {
1964 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1965 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1966 68 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1967 68 : NDR_PULL_ALLOC(ndr, r->out.gid);
1968 : }
1969 68 : _mem_save_gid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1970 68 : NDR_PULL_SET_MEM_CTX(ndr, r->out.gid, LIBNDR_FLAG_REF_ALLOC);
1971 68 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.gid));
1972 68 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gid_0, LIBNDR_FLAG_REF_ALLOC);
1973 68 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
1974 : }
1975 68 : return NDR_ERR_SUCCESS;
1976 : }
1977 :
1978 0 : _PUBLIC_ void ndr_print_wbint_AllocateGid(struct ndr_print *ndr, const char *name, int 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 2306 : static enum ndr_err_code ndr_push_wbint_GetNssInfo(struct ndr_push *ndr, int flags, const struct wbint_GetNssInfo *r)
2005 : {
2006 2306 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2007 2306 : if (flags & NDR_IN) {
2008 2306 : if (r->in.info == NULL) {
2009 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2010 : }
2011 2306 : NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
2012 : }
2013 2306 : 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 2306 : return NDR_ERR_SUCCESS;
2021 : }
2022 :
2023 2306 : static enum ndr_err_code ndr_pull_wbint_GetNssInfo(struct ndr_pull *ndr, int flags, struct wbint_GetNssInfo *r)
2024 : {
2025 2306 : TALLOC_CTX *_mem_save_info_0 = NULL;
2026 2306 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2027 2306 : 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 2306 : 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 2306 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2048 2306 : NDR_PULL_ALLOC(ndr, r->out.info);
2049 : }
2050 2306 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2051 2306 : NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
2052 2306 : NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
2053 2306 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
2054 2306 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2055 : }
2056 2306 : return NDR_ERR_SUCCESS;
2057 : }
2058 :
2059 0 : _PUBLIC_ void ndr_print_wbint_GetNssInfo(struct ndr_print *ndr, const char *name, int 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 152 : static enum ndr_err_code ndr_push_wbint_LookupUserAliases(struct ndr_push *ndr, int flags, const struct wbint_LookupUserAliases *r)
2090 : {
2091 152 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2092 152 : if (flags & NDR_IN) {
2093 152 : if (r->in.sids == NULL) {
2094 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2095 : }
2096 152 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids));
2097 : }
2098 152 : 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 152 : return NDR_ERR_SUCCESS;
2106 : }
2107 :
2108 152 : static enum ndr_err_code ndr_pull_wbint_LookupUserAliases(struct ndr_pull *ndr, int flags, struct wbint_LookupUserAliases *r)
2109 : {
2110 152 : TALLOC_CTX *_mem_save_sids_0 = NULL;
2111 152 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2112 152 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2113 152 : 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 152 : 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 152 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2134 152 : NDR_PULL_ALLOC(ndr, r->out.rids);
2135 : }
2136 152 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2137 152 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
2138 152 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2139 152 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2140 152 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2141 : }
2142 152 : return NDR_ERR_SUCCESS;
2143 : }
2144 :
2145 0 : _PUBLIC_ void ndr_print_wbint_LookupUserAliases(struct ndr_print *ndr, const char *name, int 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 26 : static enum ndr_err_code ndr_push_wbint_LookupUserGroups(struct ndr_push *ndr, int flags, const struct wbint_LookupUserGroups *r)
2176 : {
2177 26 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2178 26 : if (flags & NDR_IN) {
2179 26 : if (r->in.sid == NULL) {
2180 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2181 : }
2182 26 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2183 : }
2184 26 : 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 26 : return NDR_ERR_SUCCESS;
2192 : }
2193 :
2194 26 : static enum ndr_err_code ndr_pull_wbint_LookupUserGroups(struct ndr_pull *ndr, int flags, struct wbint_LookupUserGroups *r)
2195 : {
2196 26 : TALLOC_CTX *_mem_save_sid_0 = NULL;
2197 26 : TALLOC_CTX *_mem_save_sids_0 = NULL;
2198 26 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2199 26 : 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 26 : 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 26 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2220 26 : NDR_PULL_ALLOC(ndr, r->out.sids);
2221 : }
2222 26 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2223 26 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
2224 26 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
2225 26 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
2226 26 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2227 : }
2228 26 : return NDR_ERR_SUCCESS;
2229 : }
2230 :
2231 0 : _PUBLIC_ void ndr_print_wbint_LookupUserGroups(struct ndr_print *ndr, const char *name, int 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 20 : static enum ndr_err_code ndr_push_wbint_QuerySequenceNumber(struct ndr_push *ndr, int flags, const struct wbint_QuerySequenceNumber *r)
2262 : {
2263 20 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2264 20 : if (flags & NDR_IN) {
2265 : }
2266 20 : 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 20 : return NDR_ERR_SUCCESS;
2274 : }
2275 :
2276 20 : static enum ndr_err_code ndr_pull_wbint_QuerySequenceNumber(struct ndr_pull *ndr, int flags, struct wbint_QuerySequenceNumber *r)
2277 : {
2278 20 : TALLOC_CTX *_mem_save_sequence_0 = NULL;
2279 20 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2280 20 : 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 20 : if (flags & NDR_OUT) {
2287 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2288 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2289 20 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2290 20 : NDR_PULL_ALLOC(ndr, r->out.sequence);
2291 : }
2292 20 : _mem_save_sequence_0 = NDR_PULL_GET_MEM_CTX(ndr);
2293 20 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence, LIBNDR_FLAG_REF_ALLOC);
2294 20 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sequence));
2295 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_0, LIBNDR_FLAG_REF_ALLOC);
2296 20 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2297 : }
2298 20 : return NDR_ERR_SUCCESS;
2299 : }
2300 :
2301 0 : _PUBLIC_ void ndr_print_wbint_QuerySequenceNumber(struct ndr_print *ndr, const char *name, int 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 0 : static enum ndr_err_code ndr_push_wbint_LookupGroupMembers(struct ndr_push *ndr, int flags, const struct wbint_LookupGroupMembers *r)
2328 : {
2329 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2330 0 : if (flags & NDR_IN) {
2331 0 : if (r->in.sid == NULL) {
2332 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2333 : }
2334 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
2335 0 : NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->in.type));
2336 : }
2337 0 : 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 0 : return NDR_ERR_SUCCESS;
2345 : }
2346 :
2347 0 : static enum ndr_err_code ndr_pull_wbint_LookupGroupMembers(struct ndr_pull *ndr, int flags, struct wbint_LookupGroupMembers *r)
2348 : {
2349 0 : TALLOC_CTX *_mem_save_sid_0 = NULL;
2350 0 : TALLOC_CTX *_mem_save_members_0 = NULL;
2351 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2352 0 : 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 0 : 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 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2374 0 : NDR_PULL_ALLOC(ndr, r->out.members);
2375 : }
2376 0 : _mem_save_members_0 = NDR_PULL_GET_MEM_CTX(ndr);
2377 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.members, LIBNDR_FLAG_REF_ALLOC);
2378 0 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.members));
2379 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_members_0, LIBNDR_FLAG_REF_ALLOC);
2380 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2381 : }
2382 0 : return NDR_ERR_SUCCESS;
2383 : }
2384 :
2385 0 : _PUBLIC_ void ndr_print_wbint_LookupGroupMembers(struct ndr_print *ndr, const char *name, int 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 568 : static enum ndr_err_code ndr_push_wbint_QueryGroupList(struct ndr_push *ndr, int flags, const struct wbint_QueryGroupList *r)
2417 : {
2418 568 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2419 568 : if (flags & NDR_IN) {
2420 : }
2421 568 : if (flags & NDR_OUT) {
2422 0 : if (r->out.groups == NULL) {
2423 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2424 : }
2425 0 : NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
2426 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2427 : }
2428 568 : return NDR_ERR_SUCCESS;
2429 : }
2430 :
2431 568 : static enum ndr_err_code ndr_pull_wbint_QueryGroupList(struct ndr_pull *ndr, int flags, struct wbint_QueryGroupList *r)
2432 : {
2433 568 : TALLOC_CTX *_mem_save_groups_0 = NULL;
2434 568 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2435 568 : if (flags & NDR_IN) {
2436 0 : NDR_ZERO_STRUCT(r->out);
2437 :
2438 0 : NDR_PULL_ALLOC(ndr, r->out.groups);
2439 0 : NDR_ZERO_STRUCTP(r->out.groups);
2440 : }
2441 568 : if (flags & NDR_OUT) {
2442 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2443 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2444 568 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2445 568 : NDR_PULL_ALLOC(ndr, r->out.groups);
2446 : }
2447 568 : _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
2448 568 : NDR_PULL_SET_MEM_CTX(ndr, r->out.groups, LIBNDR_FLAG_REF_ALLOC);
2449 568 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
2450 568 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, LIBNDR_FLAG_REF_ALLOC);
2451 568 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2452 : }
2453 568 : return NDR_ERR_SUCCESS;
2454 : }
2455 :
2456 0 : _PUBLIC_ void ndr_print_wbint_QueryGroupList(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryGroupList *r)
2457 : {
2458 0 : ndr_print_struct(ndr, name, "wbint_QueryGroupList");
2459 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2460 0 : ndr->depth++;
2461 0 : if (flags & NDR_SET_VALUES) {
2462 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2463 : }
2464 0 : if (flags & NDR_IN) {
2465 0 : ndr_print_struct(ndr, "in", "wbint_QueryGroupList");
2466 0 : ndr->depth++;
2467 0 : ndr->depth--;
2468 : }
2469 0 : if (flags & NDR_OUT) {
2470 0 : ndr_print_struct(ndr, "out", "wbint_QueryGroupList");
2471 0 : ndr->depth++;
2472 0 : ndr_print_ptr(ndr, "groups", r->out.groups);
2473 0 : ndr->depth++;
2474 0 : ndr_print_wbint_Principals(ndr, "groups", r->out.groups);
2475 0 : ndr->depth--;
2476 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2477 0 : ndr->depth--;
2478 : }
2479 0 : ndr->depth--;
2480 : }
2481 :
2482 76 : static enum ndr_err_code ndr_push_wbint_QueryUserRidList(struct ndr_push *ndr, int flags, const struct wbint_QueryUserRidList *r)
2483 : {
2484 76 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2485 76 : if (flags & NDR_IN) {
2486 : }
2487 76 : if (flags & NDR_OUT) {
2488 0 : if (r->out.rids == NULL) {
2489 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2490 : }
2491 0 : NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2492 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2493 : }
2494 76 : return NDR_ERR_SUCCESS;
2495 : }
2496 :
2497 76 : static enum ndr_err_code ndr_pull_wbint_QueryUserRidList(struct ndr_pull *ndr, int flags, struct wbint_QueryUserRidList *r)
2498 : {
2499 76 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2500 76 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2501 76 : if (flags & NDR_IN) {
2502 0 : NDR_ZERO_STRUCT(r->out);
2503 :
2504 0 : NDR_PULL_ALLOC(ndr, r->out.rids);
2505 0 : NDR_ZERO_STRUCTP(r->out.rids);
2506 : }
2507 76 : if (flags & NDR_OUT) {
2508 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2509 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2510 76 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2511 76 : NDR_PULL_ALLOC(ndr, r->out.rids);
2512 : }
2513 76 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2514 76 : NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
2515 76 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
2516 76 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2517 76 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2518 : }
2519 76 : return NDR_ERR_SUCCESS;
2520 : }
2521 :
2522 0 : _PUBLIC_ void ndr_print_wbint_QueryUserRidList(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryUserRidList *r)
2523 : {
2524 0 : ndr_print_struct(ndr, name, "wbint_QueryUserRidList");
2525 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2526 0 : ndr->depth++;
2527 0 : if (flags & NDR_SET_VALUES) {
2528 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2529 : }
2530 0 : if (flags & NDR_IN) {
2531 0 : ndr_print_struct(ndr, "in", "wbint_QueryUserRidList");
2532 0 : ndr->depth++;
2533 0 : ndr->depth--;
2534 : }
2535 0 : if (flags & NDR_OUT) {
2536 0 : ndr_print_struct(ndr, "out", "wbint_QueryUserRidList");
2537 0 : ndr->depth++;
2538 0 : ndr_print_ptr(ndr, "rids", r->out.rids);
2539 0 : ndr->depth++;
2540 0 : ndr_print_wbint_RidArray(ndr, "rids", r->out.rids);
2541 0 : ndr->depth--;
2542 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2543 0 : ndr->depth--;
2544 : }
2545 0 : ndr->depth--;
2546 : }
2547 :
2548 56 : static enum ndr_err_code ndr_push_wbint_DsGetDcName(struct ndr_push *ndr, int flags, const struct wbint_DsGetDcName *r)
2549 : {
2550 56 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2551 56 : if (flags & NDR_IN) {
2552 56 : if (r->in.domain_name == NULL) {
2553 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2554 : }
2555 56 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
2556 56 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2557 56 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
2558 56 : 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));
2559 56 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
2560 56 : if (r->in.domain_guid) {
2561 0 : NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
2562 : }
2563 56 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
2564 56 : if (r->in.site_name) {
2565 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
2566 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2567 22 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
2568 22 : 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));
2569 : }
2570 56 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
2571 : }
2572 56 : if (flags & NDR_OUT) {
2573 0 : if (r->out.dc_info == NULL) {
2574 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2575 : }
2576 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dc_info));
2577 0 : if (*r->out.dc_info) {
2578 0 : NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
2579 : }
2580 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2581 : }
2582 56 : return NDR_ERR_SUCCESS;
2583 : }
2584 :
2585 56 : static enum ndr_err_code ndr_pull_wbint_DsGetDcName(struct ndr_pull *ndr, int flags, struct wbint_DsGetDcName *r)
2586 : {
2587 56 : uint32_t size_domain_name_1 = 0;
2588 56 : uint32_t length_domain_name_1 = 0;
2589 : uint32_t _ptr_domain_guid;
2590 : uint32_t _ptr_site_name;
2591 56 : uint32_t size_site_name_1 = 0;
2592 56 : uint32_t length_site_name_1 = 0;
2593 : uint32_t _ptr_dc_info;
2594 56 : TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
2595 56 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
2596 56 : TALLOC_CTX *_mem_save_dc_info_0 = NULL;
2597 56 : TALLOC_CTX *_mem_save_dc_info_1 = NULL;
2598 56 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2599 56 : if (flags & NDR_IN) {
2600 0 : NDR_ZERO_STRUCT(r->out);
2601 :
2602 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
2603 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
2604 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
2605 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
2606 0 : if (length_domain_name_1 > size_domain_name_1) {
2607 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
2608 : }
2609 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
2610 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
2611 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
2612 0 : if (_ptr_domain_guid) {
2613 0 : NDR_PULL_ALLOC(ndr, r->in.domain_guid);
2614 : } else {
2615 0 : r->in.domain_guid = NULL;
2616 : }
2617 0 : if (r->in.domain_guid) {
2618 0 : _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2619 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
2620 0 : NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
2621 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
2622 : }
2623 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
2624 0 : if (_ptr_site_name) {
2625 0 : NDR_PULL_ALLOC(ndr, r->in.site_name);
2626 : } else {
2627 0 : r->in.site_name = NULL;
2628 : }
2629 0 : if (r->in.site_name) {
2630 0 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2631 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
2632 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
2633 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
2634 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
2635 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
2636 0 : if (length_site_name_1 > size_site_name_1) {
2637 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
2638 : }
2639 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint8_t)));
2640 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint8_t), CH_UTF8));
2641 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
2642 : }
2643 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
2644 0 : NDR_PULL_ALLOC(ndr, r->out.dc_info);
2645 0 : NDR_ZERO_STRUCTP(r->out.dc_info);
2646 : }
2647 56 : if (flags & NDR_OUT) {
2648 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2649 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2650 56 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2651 56 : NDR_PULL_ALLOC(ndr, r->out.dc_info);
2652 : }
2653 56 : _mem_save_dc_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2654 56 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dc_info, LIBNDR_FLAG_REF_ALLOC);
2655 56 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_info));
2656 56 : if (_ptr_dc_info) {
2657 50 : NDR_PULL_ALLOC(ndr, *r->out.dc_info);
2658 : } else {
2659 6 : *r->out.dc_info = NULL;
2660 : }
2661 56 : if (*r->out.dc_info) {
2662 50 : _mem_save_dc_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
2663 50 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dc_info, 0);
2664 50 : NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
2665 50 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_1, 0);
2666 : }
2667 56 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_0, LIBNDR_FLAG_REF_ALLOC);
2668 56 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2669 : }
2670 56 : return NDR_ERR_SUCCESS;
2671 : }
2672 :
2673 0 : _PUBLIC_ void ndr_print_wbint_DsGetDcName(struct ndr_print *ndr, const char *name, int flags, const struct wbint_DsGetDcName *r)
2674 : {
2675 0 : ndr_print_struct(ndr, name, "wbint_DsGetDcName");
2676 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2677 0 : ndr->depth++;
2678 0 : if (flags & NDR_SET_VALUES) {
2679 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2680 : }
2681 0 : if (flags & NDR_IN) {
2682 0 : ndr_print_struct(ndr, "in", "wbint_DsGetDcName");
2683 0 : ndr->depth++;
2684 0 : ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
2685 0 : ndr->depth++;
2686 0 : ndr_print_string(ndr, "domain_name", r->in.domain_name);
2687 0 : ndr->depth--;
2688 0 : ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
2689 0 : ndr->depth++;
2690 0 : if (r->in.domain_guid) {
2691 0 : ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
2692 : }
2693 0 : ndr->depth--;
2694 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
2695 0 : ndr->depth++;
2696 0 : if (r->in.site_name) {
2697 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
2698 : }
2699 0 : ndr->depth--;
2700 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
2701 0 : ndr->depth--;
2702 : }
2703 0 : if (flags & NDR_OUT) {
2704 0 : ndr_print_struct(ndr, "out", "wbint_DsGetDcName");
2705 0 : ndr->depth++;
2706 0 : ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
2707 0 : ndr->depth++;
2708 0 : ndr_print_ptr(ndr, "dc_info", *r->out.dc_info);
2709 0 : ndr->depth++;
2710 0 : if (*r->out.dc_info) {
2711 0 : ndr_print_netr_DsRGetDCNameInfo(ndr, "dc_info", *r->out.dc_info);
2712 : }
2713 0 : ndr->depth--;
2714 0 : ndr->depth--;
2715 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2716 0 : ndr->depth--;
2717 : }
2718 0 : ndr->depth--;
2719 : }
2720 :
2721 44 : static enum ndr_err_code ndr_push_wbint_LookupRids(struct ndr_push *ndr, int flags, const struct wbint_LookupRids *r)
2722 : {
2723 44 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2724 44 : if (flags & NDR_IN) {
2725 44 : if (r->in.domain_sid == NULL) {
2726 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2727 : }
2728 44 : if (r->in.rids == NULL) {
2729 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2730 : }
2731 44 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
2732 44 : NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
2733 : }
2734 44 : if (flags & NDR_OUT) {
2735 0 : if (r->out.domain_name == NULL) {
2736 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2737 : }
2738 0 : if (r->out.names == NULL) {
2739 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2740 : }
2741 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain_name));
2742 0 : if (*r->out.domain_name) {
2743 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
2744 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2745 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
2746 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));
2747 : }
2748 0 : NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
2749 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2750 : }
2751 44 : return NDR_ERR_SUCCESS;
2752 : }
2753 :
2754 44 : static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, int flags, struct wbint_LookupRids *r)
2755 : {
2756 : uint32_t _ptr_domain_name;
2757 44 : uint32_t size_domain_name_2 = 0;
2758 44 : uint32_t length_domain_name_2 = 0;
2759 44 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
2760 44 : TALLOC_CTX *_mem_save_rids_0 = NULL;
2761 44 : TALLOC_CTX *_mem_save_domain_name_0 = NULL;
2762 44 : TALLOC_CTX *_mem_save_domain_name_1 = NULL;
2763 44 : TALLOC_CTX *_mem_save_names_0 = NULL;
2764 44 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2765 44 : if (flags & NDR_IN) {
2766 0 : NDR_ZERO_STRUCT(r->out);
2767 :
2768 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2769 0 : NDR_PULL_ALLOC(ndr, r->in.domain_sid);
2770 : }
2771 0 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2772 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_sid, LIBNDR_FLAG_REF_ALLOC);
2773 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
2774 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, LIBNDR_FLAG_REF_ALLOC);
2775 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2776 0 : NDR_PULL_ALLOC(ndr, r->in.rids);
2777 : }
2778 0 : _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2779 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, LIBNDR_FLAG_REF_ALLOC);
2780 0 : NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
2781 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
2782 0 : NDR_PULL_ALLOC(ndr, r->out.domain_name);
2783 0 : NDR_ZERO_STRUCTP(r->out.domain_name);
2784 0 : NDR_PULL_ALLOC(ndr, r->out.names);
2785 0 : NDR_ZERO_STRUCTP(r->out.names);
2786 : }
2787 44 : if (flags & NDR_OUT) {
2788 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2789 : if (r->in.domain_sid == NULL) {
2790 : NDR_PULL_ALLOC(ndr, r->in.domain_sid);
2791 : NDR_ZERO_STRUCTP(r->in.domain_sid);
2792 : }
2793 : if (r->in.rids == NULL) {
2794 : NDR_PULL_ALLOC(ndr, r->in.rids);
2795 : NDR_ZERO_STRUCTP(r->in.rids);
2796 : }
2797 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2798 44 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2799 44 : NDR_PULL_ALLOC(ndr, r->out.domain_name);
2800 : }
2801 44 : _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2802 44 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_name, LIBNDR_FLAG_REF_ALLOC);
2803 44 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
2804 44 : if (_ptr_domain_name) {
2805 12 : NDR_PULL_ALLOC(ndr, *r->out.domain_name);
2806 : } else {
2807 32 : *r->out.domain_name = NULL;
2808 : }
2809 44 : if (*r->out.domain_name) {
2810 12 : _mem_save_domain_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
2811 12 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain_name, 0);
2812 12 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain_name));
2813 12 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain_name));
2814 12 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain_name, &size_domain_name_2));
2815 12 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain_name, &length_domain_name_2));
2816 12 : if (length_domain_name_2 > size_domain_name_2) {
2817 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_2, length_domain_name_2);
2818 : }
2819 12 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_2, sizeof(uint8_t)));
2820 12 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain_name, length_domain_name_2, sizeof(uint8_t), CH_UTF8));
2821 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_1, 0);
2822 : }
2823 44 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
2824 44 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2825 44 : NDR_PULL_ALLOC(ndr, r->out.names);
2826 : }
2827 44 : _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
2828 44 : NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
2829 44 : NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
2830 44 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
2831 44 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2832 : }
2833 44 : return NDR_ERR_SUCCESS;
2834 : }
2835 :
2836 0 : _PUBLIC_ void ndr_print_wbint_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupRids *r)
2837 : {
2838 0 : ndr_print_struct(ndr, name, "wbint_LookupRids");
2839 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2840 0 : ndr->depth++;
2841 0 : if (flags & NDR_SET_VALUES) {
2842 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2843 : }
2844 0 : if (flags & NDR_IN) {
2845 0 : ndr_print_struct(ndr, "in", "wbint_LookupRids");
2846 0 : ndr->depth++;
2847 0 : ndr_print_ptr(ndr, "domain_sid", r->in.domain_sid);
2848 0 : ndr->depth++;
2849 0 : ndr_print_dom_sid(ndr, "domain_sid", r->in.domain_sid);
2850 0 : ndr->depth--;
2851 0 : ndr_print_ptr(ndr, "rids", r->in.rids);
2852 0 : ndr->depth++;
2853 0 : ndr_print_wbint_RidArray(ndr, "rids", r->in.rids);
2854 0 : ndr->depth--;
2855 0 : ndr->depth--;
2856 : }
2857 0 : if (flags & NDR_OUT) {
2858 0 : ndr_print_struct(ndr, "out", "wbint_LookupRids");
2859 0 : ndr->depth++;
2860 0 : ndr_print_ptr(ndr, "domain_name", r->out.domain_name);
2861 0 : ndr->depth++;
2862 0 : ndr_print_ptr(ndr, "domain_name", *r->out.domain_name);
2863 0 : ndr->depth++;
2864 0 : if (*r->out.domain_name) {
2865 0 : ndr_print_string(ndr, "domain_name", *r->out.domain_name);
2866 : }
2867 0 : ndr->depth--;
2868 0 : ndr->depth--;
2869 0 : ndr_print_ptr(ndr, "names", r->out.names);
2870 0 : ndr->depth++;
2871 0 : ndr_print_wbint_Principals(ndr, "names", r->out.names);
2872 0 : ndr->depth--;
2873 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2874 0 : ndr->depth--;
2875 : }
2876 0 : ndr->depth--;
2877 : }
2878 :
2879 8 : static enum ndr_err_code ndr_push_wbint_CheckMachineAccount(struct ndr_push *ndr, int flags, const struct wbint_CheckMachineAccount *r)
2880 : {
2881 8 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2882 8 : if (flags & NDR_IN) {
2883 : }
2884 8 : if (flags & NDR_OUT) {
2885 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2886 : }
2887 8 : return NDR_ERR_SUCCESS;
2888 : }
2889 :
2890 8 : static enum ndr_err_code ndr_pull_wbint_CheckMachineAccount(struct ndr_pull *ndr, int flags, struct wbint_CheckMachineAccount *r)
2891 : {
2892 8 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2893 8 : if (flags & NDR_IN) {
2894 : }
2895 8 : if (flags & NDR_OUT) {
2896 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2897 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2898 8 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2899 : }
2900 8 : return NDR_ERR_SUCCESS;
2901 : }
2902 :
2903 0 : _PUBLIC_ void ndr_print_wbint_CheckMachineAccount(struct ndr_print *ndr, const char *name, int flags, const struct wbint_CheckMachineAccount *r)
2904 : {
2905 0 : ndr_print_struct(ndr, name, "wbint_CheckMachineAccount");
2906 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2907 0 : ndr->depth++;
2908 0 : if (flags & NDR_SET_VALUES) {
2909 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2910 : }
2911 0 : if (flags & NDR_IN) {
2912 0 : ndr_print_struct(ndr, "in", "wbint_CheckMachineAccount");
2913 0 : ndr->depth++;
2914 0 : ndr->depth--;
2915 : }
2916 0 : if (flags & NDR_OUT) {
2917 0 : ndr_print_struct(ndr, "out", "wbint_CheckMachineAccount");
2918 0 : ndr->depth++;
2919 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
2920 0 : ndr->depth--;
2921 : }
2922 0 : ndr->depth--;
2923 : }
2924 :
2925 10 : static enum ndr_err_code ndr_push_wbint_ChangeMachineAccount(struct ndr_push *ndr, int flags, const struct wbint_ChangeMachineAccount *r)
2926 : {
2927 10 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
2928 10 : if (flags & NDR_IN) {
2929 10 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dcname));
2930 10 : if (r->in.dcname) {
2931 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
2932 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2933 2 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
2934 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));
2935 : }
2936 : }
2937 10 : if (flags & NDR_OUT) {
2938 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
2939 : }
2940 10 : return NDR_ERR_SUCCESS;
2941 : }
2942 :
2943 10 : static enum ndr_err_code ndr_pull_wbint_ChangeMachineAccount(struct ndr_pull *ndr, int flags, struct wbint_ChangeMachineAccount *r)
2944 : {
2945 : uint32_t _ptr_dcname;
2946 10 : uint32_t size_dcname_1 = 0;
2947 10 : uint32_t length_dcname_1 = 0;
2948 10 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
2949 10 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
2950 10 : if (flags & NDR_IN) {
2951 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
2952 0 : if (_ptr_dcname) {
2953 0 : NDR_PULL_ALLOC(ndr, r->in.dcname);
2954 : } else {
2955 0 : r->in.dcname = NULL;
2956 : }
2957 0 : if (r->in.dcname) {
2958 0 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2959 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dcname, 0);
2960 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dcname));
2961 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dcname));
2962 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dcname, &size_dcname_1));
2963 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dcname, &length_dcname_1));
2964 0 : if (length_dcname_1 > size_dcname_1) {
2965 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_1, length_dcname_1);
2966 : }
2967 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_1, sizeof(uint8_t)));
2968 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dcname, length_dcname_1, sizeof(uint8_t), CH_UTF8));
2969 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, 0);
2970 : }
2971 : }
2972 10 : if (flags & NDR_OUT) {
2973 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
2974 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
2975 10 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
2976 : }
2977 10 : return NDR_ERR_SUCCESS;
2978 : }
2979 :
2980 0 : _PUBLIC_ void ndr_print_wbint_ChangeMachineAccount(struct ndr_print *ndr, const char *name, int flags, const struct wbint_ChangeMachineAccount *r)
2981 : {
2982 0 : ndr_print_struct(ndr, name, "wbint_ChangeMachineAccount");
2983 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2984 0 : ndr->depth++;
2985 0 : if (flags & NDR_SET_VALUES) {
2986 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2987 : }
2988 0 : if (flags & NDR_IN) {
2989 0 : ndr_print_struct(ndr, "in", "wbint_ChangeMachineAccount");
2990 0 : ndr->depth++;
2991 0 : ndr_print_ptr(ndr, "dcname", r->in.dcname);
2992 0 : ndr->depth++;
2993 0 : if (r->in.dcname) {
2994 0 : ndr_print_string(ndr, "dcname", r->in.dcname);
2995 : }
2996 0 : ndr->depth--;
2997 0 : ndr->depth--;
2998 : }
2999 0 : if (flags & NDR_OUT) {
3000 0 : ndr_print_struct(ndr, "out", "wbint_ChangeMachineAccount");
3001 0 : ndr->depth++;
3002 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3003 0 : ndr->depth--;
3004 : }
3005 0 : ndr->depth--;
3006 : }
3007 :
3008 57 : static enum ndr_err_code ndr_push_wbint_PingDc(struct ndr_push *ndr, int flags, const struct wbint_PingDc *r)
3009 : {
3010 57 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3011 57 : if (flags & NDR_IN) {
3012 : }
3013 57 : if (flags & NDR_OUT) {
3014 0 : if (r->out.dcname == NULL) {
3015 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3016 : }
3017 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
3018 0 : if (*r->out.dcname) {
3019 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
3020 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3021 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
3022 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));
3023 : }
3024 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3025 : }
3026 57 : return NDR_ERR_SUCCESS;
3027 : }
3028 :
3029 57 : static enum ndr_err_code ndr_pull_wbint_PingDc(struct ndr_pull *ndr, int flags, struct wbint_PingDc *r)
3030 : {
3031 : uint32_t _ptr_dcname;
3032 57 : uint32_t size_dcname_2 = 0;
3033 57 : uint32_t length_dcname_2 = 0;
3034 57 : TALLOC_CTX *_mem_save_dcname_0 = NULL;
3035 57 : TALLOC_CTX *_mem_save_dcname_1 = NULL;
3036 57 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3037 57 : if (flags & NDR_IN) {
3038 0 : NDR_ZERO_STRUCT(r->out);
3039 :
3040 0 : NDR_PULL_ALLOC(ndr, r->out.dcname);
3041 0 : NDR_ZERO_STRUCTP(r->out.dcname);
3042 : }
3043 57 : if (flags & NDR_OUT) {
3044 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3045 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3046 57 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3047 57 : NDR_PULL_ALLOC(ndr, r->out.dcname);
3048 : }
3049 57 : _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3050 57 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
3051 57 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
3052 57 : if (_ptr_dcname) {
3053 42 : NDR_PULL_ALLOC(ndr, *r->out.dcname);
3054 : } else {
3055 15 : *r->out.dcname = NULL;
3056 : }
3057 57 : if (*r->out.dcname) {
3058 42 : _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
3059 42 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
3060 42 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
3061 42 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
3062 42 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
3063 42 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
3064 42 : if (length_dcname_2 > size_dcname_2) {
3065 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
3066 : }
3067 42 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint8_t)));
3068 42 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint8_t), CH_UTF8));
3069 42 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
3070 : }
3071 57 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
3072 57 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3073 : }
3074 57 : return NDR_ERR_SUCCESS;
3075 : }
3076 :
3077 0 : _PUBLIC_ void ndr_print_wbint_PingDc(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PingDc *r)
3078 : {
3079 0 : ndr_print_struct(ndr, name, "wbint_PingDc");
3080 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3081 0 : ndr->depth++;
3082 0 : if (flags & NDR_SET_VALUES) {
3083 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3084 : }
3085 0 : if (flags & NDR_IN) {
3086 0 : ndr_print_struct(ndr, "in", "wbint_PingDc");
3087 0 : ndr->depth++;
3088 0 : ndr->depth--;
3089 : }
3090 0 : if (flags & NDR_OUT) {
3091 0 : ndr_print_struct(ndr, "out", "wbint_PingDc");
3092 0 : ndr->depth++;
3093 0 : ndr_print_ptr(ndr, "dcname", r->out.dcname);
3094 0 : ndr->depth++;
3095 0 : ndr_print_ptr(ndr, "dcname", *r->out.dcname);
3096 0 : ndr->depth++;
3097 0 : if (*r->out.dcname) {
3098 0 : ndr_print_string(ndr, "dcname", *r->out.dcname);
3099 : }
3100 0 : ndr->depth--;
3101 0 : ndr->depth--;
3102 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3103 0 : ndr->depth--;
3104 : }
3105 0 : ndr->depth--;
3106 : }
3107 :
3108 0 : static enum ndr_err_code ndr_push_wbint_ListTrustedDomains(struct ndr_push *ndr, int flags, const struct wbint_ListTrustedDomains *r)
3109 : {
3110 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3111 0 : if (flags & NDR_IN) {
3112 0 : if (r->in.client_name == NULL) {
3113 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3114 : }
3115 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3116 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3117 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3118 0 : 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));
3119 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3120 : }
3121 0 : if (flags & NDR_OUT) {
3122 0 : if (r->out.domains == NULL) {
3123 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3124 : }
3125 0 : NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
3126 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3127 : }
3128 0 : return NDR_ERR_SUCCESS;
3129 : }
3130 :
3131 0 : static enum ndr_err_code ndr_pull_wbint_ListTrustedDomains(struct ndr_pull *ndr, int flags, struct wbint_ListTrustedDomains *r)
3132 : {
3133 0 : uint32_t size_client_name_1 = 0;
3134 0 : uint32_t length_client_name_1 = 0;
3135 0 : TALLOC_CTX *_mem_save_domains_0 = NULL;
3136 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3137 0 : if (flags & NDR_IN) {
3138 0 : NDR_ZERO_STRUCT(r->out);
3139 :
3140 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3141 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3142 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3143 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3144 0 : if (length_client_name_1 > size_client_name_1) {
3145 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3146 : }
3147 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3148 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3149 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3150 0 : NDR_PULL_ALLOC(ndr, r->out.domains);
3151 0 : NDR_ZERO_STRUCTP(r->out.domains);
3152 : }
3153 0 : if (flags & NDR_OUT) {
3154 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3155 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3156 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3157 0 : NDR_PULL_ALLOC(ndr, r->out.domains);
3158 : }
3159 0 : _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
3160 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
3161 0 : NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
3162 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
3163 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3164 : }
3165 0 : return NDR_ERR_SUCCESS;
3166 : }
3167 :
3168 0 : _PUBLIC_ void ndr_print_wbint_ListTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct wbint_ListTrustedDomains *r)
3169 : {
3170 0 : ndr_print_struct(ndr, name, "wbint_ListTrustedDomains");
3171 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3172 0 : ndr->depth++;
3173 0 : if (flags & NDR_SET_VALUES) {
3174 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3175 : }
3176 0 : if (flags & NDR_IN) {
3177 0 : ndr_print_struct(ndr, "in", "wbint_ListTrustedDomains");
3178 0 : ndr->depth++;
3179 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3180 0 : ndr->depth++;
3181 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3182 0 : ndr->depth--;
3183 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3184 0 : ndr->depth--;
3185 : }
3186 0 : if (flags & NDR_OUT) {
3187 0 : ndr_print_struct(ndr, "out", "wbint_ListTrustedDomains");
3188 0 : ndr->depth++;
3189 0 : ndr_print_ptr(ndr, "domains", r->out.domains);
3190 0 : ndr->depth++;
3191 0 : ndr_print_netr_DomainTrustList(ndr, "domains", r->out.domains);
3192 0 : ndr->depth--;
3193 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3194 0 : ndr->depth--;
3195 : }
3196 0 : ndr->depth--;
3197 : }
3198 :
3199 331 : static enum ndr_err_code ndr_push_wbint_PamAuth(struct ndr_push *ndr, int flags, const struct wbint_PamAuth *r)
3200 : {
3201 331 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3202 331 : if (flags & NDR_IN) {
3203 331 : if (r->in.client_name == NULL) {
3204 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3205 : }
3206 331 : if (r->in.info == NULL) {
3207 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3208 : }
3209 331 : if (r->in.require_membership_of_sid == NULL) {
3210 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3211 : }
3212 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3213 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3214 331 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3215 331 : 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));
3216 331 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3217 331 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3218 331 : NDR_CHECK(ndr_push_wbint_AuthUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
3219 331 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3220 : }
3221 331 : if (flags & NDR_OUT) {
3222 0 : if (r->out.validation == NULL) {
3223 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3224 : }
3225 0 : NDR_CHECK(ndr_push_wbint_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3226 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3227 : }
3228 331 : return NDR_ERR_SUCCESS;
3229 : }
3230 :
3231 331 : static enum ndr_err_code ndr_pull_wbint_PamAuth(struct ndr_pull *ndr, int flags, struct wbint_PamAuth *r)
3232 : {
3233 331 : uint32_t size_client_name_1 = 0;
3234 331 : uint32_t length_client_name_1 = 0;
3235 331 : TALLOC_CTX *_mem_save_info_0 = NULL;
3236 331 : TALLOC_CTX *_mem_save_require_membership_of_sid_0 = NULL;
3237 331 : TALLOC_CTX *_mem_save_validation_0 = NULL;
3238 331 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3239 331 : if (flags & NDR_IN) {
3240 0 : NDR_ZERO_STRUCT(r->out);
3241 :
3242 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3243 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3244 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3245 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3246 0 : if (length_client_name_1 > size_client_name_1) {
3247 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3248 : }
3249 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3250 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3251 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3252 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3253 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3254 0 : NDR_PULL_ALLOC(ndr, r->in.info);
3255 : }
3256 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3257 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
3258 0 : NDR_CHECK(ndr_pull_wbint_AuthUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
3259 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
3260 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3261 0 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3262 : }
3263 0 : _mem_save_require_membership_of_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3264 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.require_membership_of_sid, LIBNDR_FLAG_REF_ALLOC);
3265 0 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3266 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sid_0, LIBNDR_FLAG_REF_ALLOC);
3267 0 : NDR_PULL_ALLOC(ndr, r->out.validation);
3268 0 : NDR_ZERO_STRUCTP(r->out.validation);
3269 : }
3270 331 : if (flags & NDR_OUT) {
3271 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3272 : if (r->in.info == NULL) {
3273 : NDR_PULL_ALLOC(ndr, r->in.info);
3274 : NDR_ZERO_STRUCTP(r->in.info);
3275 : }
3276 : if (r->in.require_membership_of_sid == NULL) {
3277 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3278 : NDR_ZERO_STRUCTP(r->in.require_membership_of_sid);
3279 : }
3280 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3281 331 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3282 331 : NDR_PULL_ALLOC(ndr, r->out.validation);
3283 : }
3284 331 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
3285 331 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
3286 331 : NDR_CHECK(ndr_pull_wbint_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3287 331 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
3288 331 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3289 : }
3290 331 : return NDR_ERR_SUCCESS;
3291 : }
3292 :
3293 0 : _PUBLIC_ void ndr_print_wbint_PamAuth(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PamAuth *r)
3294 : {
3295 0 : ndr_print_struct(ndr, name, "wbint_PamAuth");
3296 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3297 0 : ndr->depth++;
3298 0 : if (flags & NDR_SET_VALUES) {
3299 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3300 : }
3301 0 : if (flags & NDR_IN) {
3302 0 : ndr_print_struct(ndr, "in", "wbint_PamAuth");
3303 0 : ndr->depth++;
3304 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3305 0 : ndr->depth++;
3306 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3307 0 : ndr->depth--;
3308 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3309 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3310 0 : ndr_print_ptr(ndr, "info", r->in.info);
3311 0 : ndr->depth++;
3312 0 : ndr_print_wbint_AuthUserInfo(ndr, "info", r->in.info);
3313 0 : ndr->depth--;
3314 0 : ndr_print_ptr(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3315 0 : ndr->depth++;
3316 0 : ndr_print_wbint_SidArray(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3317 0 : ndr->depth--;
3318 0 : ndr->depth--;
3319 : }
3320 0 : if (flags & NDR_OUT) {
3321 0 : ndr_print_struct(ndr, "out", "wbint_PamAuth");
3322 0 : ndr->depth++;
3323 0 : ndr_print_ptr(ndr, "validation", r->out.validation);
3324 0 : ndr->depth++;
3325 0 : ndr_print_wbint_Validation(ndr, "validation", r->out.validation);
3326 0 : ndr->depth--;
3327 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3328 0 : ndr->depth--;
3329 : }
3330 0 : ndr->depth--;
3331 : }
3332 :
3333 344 : static enum ndr_err_code ndr_push_wbint_PamAuthCrap(struct ndr_push *ndr, int flags, const struct wbint_PamAuthCrap *r)
3334 : {
3335 344 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3336 344 : if (flags & NDR_IN) {
3337 344 : if (r->in.client_name == NULL) {
3338 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3339 : }
3340 344 : if (r->in.user == NULL) {
3341 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3342 : }
3343 344 : if (r->in.domain == NULL) {
3344 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3345 : }
3346 344 : if (r->in.workstation == NULL) {
3347 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3348 : }
3349 344 : if (r->in.require_membership_of_sid == NULL) {
3350 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3351 : }
3352 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3353 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3354 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3355 344 : 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));
3356 344 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3357 344 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3358 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3359 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3360 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3361 344 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3362 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3363 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3364 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3365 344 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3366 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF8)));
3367 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3368 344 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF8)));
3369 344 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3370 : {
3371 344 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3372 344 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3373 344 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.lm_resp));
3374 344 : ndr->flags = _flags_save_DATA_BLOB;
3375 : }
3376 : {
3377 344 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3378 344 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3379 344 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.nt_resp));
3380 344 : ndr->flags = _flags_save_DATA_BLOB;
3381 : }
3382 : {
3383 344 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3384 344 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3385 344 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.chal));
3386 344 : ndr->flags = _flags_save_DATA_BLOB;
3387 : }
3388 344 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.logon_parameters));
3389 344 : NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3390 : }
3391 344 : if (flags & NDR_OUT) {
3392 0 : if (r->out.authoritative == NULL) {
3393 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3394 : }
3395 0 : if (r->out.validation == NULL) {
3396 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3397 : }
3398 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
3399 0 : NDR_CHECK(ndr_push_wbint_PamAuthCrapValidation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3400 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3401 : }
3402 344 : return NDR_ERR_SUCCESS;
3403 : }
3404 :
3405 344 : static enum ndr_err_code ndr_pull_wbint_PamAuthCrap(struct ndr_pull *ndr, int flags, struct wbint_PamAuthCrap *r)
3406 : {
3407 344 : uint32_t size_client_name_1 = 0;
3408 344 : uint32_t length_client_name_1 = 0;
3409 344 : uint32_t size_user_1 = 0;
3410 344 : uint32_t length_user_1 = 0;
3411 344 : uint32_t size_domain_1 = 0;
3412 344 : uint32_t length_domain_1 = 0;
3413 344 : uint32_t size_workstation_1 = 0;
3414 344 : uint32_t length_workstation_1 = 0;
3415 344 : TALLOC_CTX *_mem_save_require_membership_of_sid_0 = NULL;
3416 344 : TALLOC_CTX *_mem_save_authoritative_0 = NULL;
3417 344 : TALLOC_CTX *_mem_save_validation_0 = NULL;
3418 344 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3419 344 : if (flags & NDR_IN) {
3420 0 : NDR_ZERO_STRUCT(r->out);
3421 :
3422 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3423 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3424 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3425 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3426 0 : if (length_client_name_1 > size_client_name_1) {
3427 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3428 : }
3429 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3430 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3431 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3432 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3433 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3434 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3435 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3436 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3437 0 : if (length_user_1 > size_user_1) {
3438 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
3439 : }
3440 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3441 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3442 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
3443 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
3444 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
3445 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
3446 0 : if (length_domain_1 > size_domain_1) {
3447 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
3448 : }
3449 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
3450 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
3451 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
3452 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
3453 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
3454 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
3455 0 : if (length_workstation_1 > size_workstation_1) {
3456 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_1, length_workstation_1);
3457 : }
3458 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint8_t)));
3459 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint8_t), CH_UTF8));
3460 : {
3461 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3462 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3463 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.lm_resp));
3464 0 : ndr->flags = _flags_save_DATA_BLOB;
3465 : }
3466 : {
3467 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3468 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3469 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.nt_resp));
3470 0 : ndr->flags = _flags_save_DATA_BLOB;
3471 : }
3472 : {
3473 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3474 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3475 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.chal));
3476 0 : ndr->flags = _flags_save_DATA_BLOB;
3477 : }
3478 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.logon_parameters));
3479 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3480 0 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3481 : }
3482 0 : _mem_save_require_membership_of_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3483 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.require_membership_of_sid, LIBNDR_FLAG_REF_ALLOC);
3484 0 : NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.require_membership_of_sid));
3485 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sid_0, LIBNDR_FLAG_REF_ALLOC);
3486 0 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
3487 0 : NDR_ZERO_STRUCTP(r->out.authoritative);
3488 0 : NDR_PULL_ALLOC(ndr, r->out.validation);
3489 0 : NDR_ZERO_STRUCTP(r->out.validation);
3490 : }
3491 344 : if (flags & NDR_OUT) {
3492 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3493 : if (r->in.require_membership_of_sid == NULL) {
3494 : NDR_PULL_ALLOC(ndr, r->in.require_membership_of_sid);
3495 : NDR_ZERO_STRUCTP(r->in.require_membership_of_sid);
3496 : }
3497 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3498 344 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3499 344 : NDR_PULL_ALLOC(ndr, r->out.authoritative);
3500 : }
3501 344 : _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
3502 344 : NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
3503 344 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
3504 344 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
3505 344 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3506 344 : NDR_PULL_ALLOC(ndr, r->out.validation);
3507 : }
3508 344 : _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
3509 344 : NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
3510 344 : NDR_CHECK(ndr_pull_wbint_PamAuthCrapValidation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
3511 344 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
3512 344 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3513 : }
3514 344 : return NDR_ERR_SUCCESS;
3515 : }
3516 :
3517 0 : _PUBLIC_ void ndr_print_wbint_PamAuthCrap(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PamAuthCrap *r)
3518 : {
3519 0 : ndr_print_struct(ndr, name, "wbint_PamAuthCrap");
3520 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3521 0 : ndr->depth++;
3522 0 : if (flags & NDR_SET_VALUES) {
3523 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3524 : }
3525 0 : if (flags & NDR_IN) {
3526 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthCrap");
3527 0 : ndr->depth++;
3528 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3529 0 : ndr->depth++;
3530 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3531 0 : ndr->depth--;
3532 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3533 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3534 0 : ndr_print_ptr(ndr, "user", r->in.user);
3535 0 : ndr->depth++;
3536 0 : ndr_print_string(ndr, "user", r->in.user);
3537 0 : ndr->depth--;
3538 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
3539 0 : ndr->depth++;
3540 0 : ndr_print_string(ndr, "domain", r->in.domain);
3541 0 : ndr->depth--;
3542 0 : ndr_print_ptr(ndr, "workstation", r->in.workstation);
3543 0 : ndr->depth++;
3544 0 : ndr_print_string(ndr, "workstation", r->in.workstation);
3545 0 : ndr->depth--;
3546 : {
3547 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3548 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3549 0 : ndr_print_DATA_BLOB(ndr, "lm_resp", r->in.lm_resp);
3550 0 : ndr->flags = _flags_save_DATA_BLOB;
3551 : }
3552 : {
3553 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3554 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3555 0 : ndr_print_DATA_BLOB(ndr, "nt_resp", r->in.nt_resp);
3556 0 : ndr->flags = _flags_save_DATA_BLOB;
3557 : }
3558 : {
3559 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3560 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3561 0 : ndr_print_DATA_BLOB(ndr, "chal", r->in.chal);
3562 0 : ndr->flags = _flags_save_DATA_BLOB;
3563 : }
3564 0 : ndr_print_uint32(ndr, "logon_parameters", r->in.logon_parameters);
3565 0 : ndr_print_ptr(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3566 0 : ndr->depth++;
3567 0 : ndr_print_wbint_SidArray(ndr, "require_membership_of_sid", r->in.require_membership_of_sid);
3568 0 : ndr->depth--;
3569 0 : ndr->depth--;
3570 : }
3571 0 : if (flags & NDR_OUT) {
3572 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthCrap");
3573 0 : ndr->depth++;
3574 0 : ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
3575 0 : ndr->depth++;
3576 0 : ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
3577 0 : ndr->depth--;
3578 0 : ndr_print_ptr(ndr, "validation", r->out.validation);
3579 0 : ndr->depth++;
3580 0 : ndr_print_wbint_PamAuthCrapValidation(ndr, "validation", r->out.validation);
3581 0 : ndr->depth--;
3582 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3583 0 : ndr->depth--;
3584 : }
3585 0 : ndr->depth--;
3586 : }
3587 :
3588 4 : static enum ndr_err_code ndr_push_wbint_PamLogOff(struct ndr_push *ndr, int flags, const struct wbint_PamLogOff *r)
3589 : {
3590 4 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3591 4 : if (flags & NDR_IN) {
3592 4 : if (r->in.client_name == NULL) {
3593 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3594 : }
3595 4 : if (r->in.user == NULL) {
3596 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3597 : }
3598 4 : if (r->in.krb5ccname == NULL) {
3599 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3600 : }
3601 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3602 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3603 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3604 4 : 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));
3605 4 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3606 4 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3607 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3608 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3609 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3610 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3611 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.krb5ccname, CH_UTF8)));
3612 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3613 4 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.krb5ccname, CH_UTF8)));
3614 4 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.krb5ccname, ndr_charset_length(r->in.krb5ccname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3615 4 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uid));
3616 : }
3617 4 : if (flags & NDR_OUT) {
3618 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3619 : }
3620 4 : return NDR_ERR_SUCCESS;
3621 : }
3622 :
3623 4 : static enum ndr_err_code ndr_pull_wbint_PamLogOff(struct ndr_pull *ndr, int flags, struct wbint_PamLogOff *r)
3624 : {
3625 4 : uint32_t size_client_name_1 = 0;
3626 4 : uint32_t length_client_name_1 = 0;
3627 4 : uint32_t size_user_1 = 0;
3628 4 : uint32_t length_user_1 = 0;
3629 4 : uint32_t size_krb5ccname_1 = 0;
3630 4 : uint32_t length_krb5ccname_1 = 0;
3631 4 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3632 4 : if (flags & NDR_IN) {
3633 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3634 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3635 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3636 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3637 0 : if (length_client_name_1 > size_client_name_1) {
3638 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3639 : }
3640 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3641 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3642 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3643 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3644 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3645 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3646 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3647 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3648 0 : if (length_user_1 > size_user_1) {
3649 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
3650 : }
3651 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3652 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3653 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.krb5ccname));
3654 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.krb5ccname));
3655 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.krb5ccname, &size_krb5ccname_1));
3656 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.krb5ccname, &length_krb5ccname_1));
3657 0 : if (length_krb5ccname_1 > size_krb5ccname_1) {
3658 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_krb5ccname_1, length_krb5ccname_1);
3659 : }
3660 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_krb5ccname_1, sizeof(uint8_t)));
3661 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.krb5ccname, length_krb5ccname_1, sizeof(uint8_t), CH_UTF8));
3662 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uid));
3663 : }
3664 4 : if (flags & NDR_OUT) {
3665 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3666 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3667 4 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3668 : }
3669 4 : return NDR_ERR_SUCCESS;
3670 : }
3671 :
3672 0 : _PUBLIC_ void ndr_print_wbint_PamLogOff(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PamLogOff *r)
3673 : {
3674 0 : ndr_print_struct(ndr, name, "wbint_PamLogOff");
3675 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3676 0 : ndr->depth++;
3677 0 : if (flags & NDR_SET_VALUES) {
3678 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3679 : }
3680 0 : if (flags & NDR_IN) {
3681 0 : ndr_print_struct(ndr, "in", "wbint_PamLogOff");
3682 0 : ndr->depth++;
3683 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3684 0 : ndr->depth++;
3685 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3686 0 : ndr->depth--;
3687 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3688 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
3689 0 : ndr_print_ptr(ndr, "user", r->in.user);
3690 0 : ndr->depth++;
3691 0 : ndr_print_string(ndr, "user", r->in.user);
3692 0 : ndr->depth--;
3693 0 : ndr_print_ptr(ndr, "krb5ccname", r->in.krb5ccname);
3694 0 : ndr->depth++;
3695 0 : ndr_print_string(ndr, "krb5ccname", r->in.krb5ccname);
3696 0 : ndr->depth--;
3697 0 : ndr_print_hyper(ndr, "uid", r->in.uid);
3698 0 : ndr->depth--;
3699 : }
3700 0 : if (flags & NDR_OUT) {
3701 0 : ndr_print_struct(ndr, "out", "wbint_PamLogOff");
3702 0 : ndr->depth++;
3703 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3704 0 : ndr->depth--;
3705 : }
3706 0 : ndr->depth--;
3707 : }
3708 :
3709 0 : static enum ndr_err_code ndr_push_wbint_PamAuthCrapChangePassword(struct ndr_push *ndr, int flags, const struct wbint_PamAuthCrapChangePassword *r)
3710 : {
3711 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3712 0 : if (flags & NDR_IN) {
3713 0 : if (r->in.client_name == NULL) {
3714 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3715 : }
3716 0 : if (r->in.user == NULL) {
3717 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3718 : }
3719 0 : if (r->in.domain == NULL) {
3720 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3721 : }
3722 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3723 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3724 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3725 0 : 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));
3726 0 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3727 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3728 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3729 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3730 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3731 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3732 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3733 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
3734 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3735 : {
3736 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3737 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3738 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.new_nt_pswd));
3739 0 : ndr->flags = _flags_save_DATA_BLOB;
3740 : }
3741 : {
3742 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3743 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3744 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.old_nt_hash_enc));
3745 0 : ndr->flags = _flags_save_DATA_BLOB;
3746 : }
3747 : {
3748 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3749 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3750 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.new_lm_pswd));
3751 0 : ndr->flags = _flags_save_DATA_BLOB;
3752 : }
3753 : {
3754 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3755 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3756 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.old_lm_hash_enc));
3757 0 : ndr->flags = _flags_save_DATA_BLOB;
3758 : }
3759 : }
3760 0 : if (flags & NDR_OUT) {
3761 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3762 : }
3763 0 : return NDR_ERR_SUCCESS;
3764 : }
3765 :
3766 0 : static enum ndr_err_code ndr_pull_wbint_PamAuthCrapChangePassword(struct ndr_pull *ndr, int flags, struct wbint_PamAuthCrapChangePassword *r)
3767 : {
3768 0 : uint32_t size_client_name_1 = 0;
3769 0 : uint32_t length_client_name_1 = 0;
3770 0 : uint32_t size_user_1 = 0;
3771 0 : uint32_t length_user_1 = 0;
3772 0 : uint32_t size_domain_1 = 0;
3773 0 : uint32_t length_domain_1 = 0;
3774 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3775 0 : if (flags & NDR_IN) {
3776 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3777 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3778 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3779 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3780 0 : if (length_client_name_1 > size_client_name_1) {
3781 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3782 : }
3783 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3784 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3785 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3786 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3787 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3788 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3789 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3790 0 : if (length_user_1 > size_user_1) {
3791 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
3792 : }
3793 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3794 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3795 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
3796 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
3797 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
3798 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
3799 0 : if (length_domain_1 > size_domain_1) {
3800 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
3801 : }
3802 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
3803 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
3804 : {
3805 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3806 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3807 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.new_nt_pswd));
3808 0 : ndr->flags = _flags_save_DATA_BLOB;
3809 : }
3810 : {
3811 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3812 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3813 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.old_nt_hash_enc));
3814 0 : ndr->flags = _flags_save_DATA_BLOB;
3815 : }
3816 : {
3817 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3818 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3819 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.new_lm_pswd));
3820 0 : ndr->flags = _flags_save_DATA_BLOB;
3821 : }
3822 : {
3823 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3824 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3825 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.old_lm_hash_enc));
3826 0 : ndr->flags = _flags_save_DATA_BLOB;
3827 : }
3828 : }
3829 0 : if (flags & NDR_OUT) {
3830 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3831 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
3832 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
3833 : }
3834 0 : return NDR_ERR_SUCCESS;
3835 : }
3836 :
3837 0 : _PUBLIC_ void ndr_print_wbint_PamAuthCrapChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PamAuthCrapChangePassword *r)
3838 : {
3839 0 : ndr_print_struct(ndr, name, "wbint_PamAuthCrapChangePassword");
3840 0 : if (r == NULL) { ndr_print_null(ndr); return; }
3841 0 : ndr->depth++;
3842 0 : if (flags & NDR_SET_VALUES) {
3843 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3844 : }
3845 0 : if (flags & NDR_IN) {
3846 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthCrapChangePassword");
3847 0 : ndr->depth++;
3848 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
3849 0 : ndr->depth++;
3850 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
3851 0 : ndr->depth--;
3852 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
3853 0 : ndr_print_ptr(ndr, "user", r->in.user);
3854 0 : ndr->depth++;
3855 0 : ndr_print_string(ndr, "user", r->in.user);
3856 0 : ndr->depth--;
3857 0 : ndr_print_ptr(ndr, "domain", r->in.domain);
3858 0 : ndr->depth++;
3859 0 : ndr_print_string(ndr, "domain", r->in.domain);
3860 0 : ndr->depth--;
3861 : {
3862 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3863 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3864 0 : ndr_print_DATA_BLOB(ndr, "new_nt_pswd", r->in.new_nt_pswd);
3865 0 : ndr->flags = _flags_save_DATA_BLOB;
3866 : }
3867 : {
3868 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3869 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3870 0 : ndr_print_DATA_BLOB(ndr, "old_nt_hash_enc", r->in.old_nt_hash_enc);
3871 0 : ndr->flags = _flags_save_DATA_BLOB;
3872 : }
3873 : {
3874 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3875 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3876 0 : ndr_print_DATA_BLOB(ndr, "new_lm_pswd", r->in.new_lm_pswd);
3877 0 : ndr->flags = _flags_save_DATA_BLOB;
3878 : }
3879 : {
3880 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
3881 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3882 0 : ndr_print_DATA_BLOB(ndr, "old_lm_hash_enc", r->in.old_lm_hash_enc);
3883 0 : ndr->flags = _flags_save_DATA_BLOB;
3884 : }
3885 0 : ndr->depth--;
3886 : }
3887 0 : if (flags & NDR_OUT) {
3888 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthCrapChangePassword");
3889 0 : ndr->depth++;
3890 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
3891 0 : ndr->depth--;
3892 : }
3893 0 : ndr->depth--;
3894 : }
3895 :
3896 12 : static enum ndr_err_code ndr_push_wbint_PamAuthChangePassword(struct ndr_push *ndr, int flags, const struct wbint_PamAuthChangePassword *r)
3897 : {
3898 12 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
3899 12 : if (flags & NDR_IN) {
3900 12 : if (r->in.client_name == NULL) {
3901 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3902 : }
3903 12 : if (r->in.user == NULL) {
3904 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3905 : }
3906 12 : if (r->in.old_password == NULL) {
3907 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3908 : }
3909 12 : if (r->in.new_password == NULL) {
3910 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3911 : }
3912 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3913 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3914 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_name, CH_UTF8)));
3915 12 : 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));
3916 12 : NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.client_pid));
3917 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
3918 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3919 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3920 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF8)));
3921 12 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3922 : {
3923 12 : uint32_t _flags_save_uint8 = ndr->flags;
3924 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3925 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.old_password, CH_UTF8)));
3926 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3927 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.old_password, CH_UTF8)));
3928 12 : 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));
3929 12 : ndr->flags = _flags_save_uint8;
3930 : }
3931 : {
3932 12 : uint32_t _flags_save_uint8 = ndr->flags;
3933 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3934 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.new_password, CH_UTF8)));
3935 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3936 12 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.new_password, CH_UTF8)));
3937 12 : 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));
3938 12 : ndr->flags = _flags_save_uint8;
3939 : }
3940 : }
3941 12 : if (flags & NDR_OUT) {
3942 0 : if (r->out.dominfo == NULL) {
3943 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3944 : }
3945 0 : if (r->out.reject_reason == NULL) {
3946 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3947 : }
3948 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
3949 0 : if (*r->out.dominfo) {
3950 0 : NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
3951 : }
3952 0 : NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, *r->out.reject_reason));
3953 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
3954 : }
3955 12 : return NDR_ERR_SUCCESS;
3956 : }
3957 :
3958 12 : static enum ndr_err_code ndr_pull_wbint_PamAuthChangePassword(struct ndr_pull *ndr, int flags, struct wbint_PamAuthChangePassword *r)
3959 : {
3960 12 : uint32_t size_client_name_1 = 0;
3961 12 : uint32_t length_client_name_1 = 0;
3962 12 : uint32_t size_user_1 = 0;
3963 12 : uint32_t length_user_1 = 0;
3964 12 : uint32_t size_old_password_1 = 0;
3965 12 : uint32_t length_old_password_1 = 0;
3966 12 : uint32_t size_new_password_1 = 0;
3967 12 : uint32_t length_new_password_1 = 0;
3968 : uint32_t _ptr_dominfo;
3969 12 : TALLOC_CTX *_mem_save_dominfo_0 = NULL;
3970 12 : TALLOC_CTX *_mem_save_dominfo_1 = NULL;
3971 12 : TALLOC_CTX *_mem_save_reject_reason_0 = NULL;
3972 12 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
3973 12 : if (flags & NDR_IN) {
3974 0 : NDR_ZERO_STRUCT(r->out);
3975 :
3976 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_name));
3977 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_name));
3978 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_name, &size_client_name_1));
3979 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_name, &length_client_name_1));
3980 0 : if (length_client_name_1 > size_client_name_1) {
3981 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_name_1, length_client_name_1);
3982 : }
3983 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_client_name_1, sizeof(uint8_t)));
3984 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_name, length_client_name_1, sizeof(uint8_t), CH_UTF8));
3985 0 : NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.client_pid));
3986 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3987 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
3988 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
3989 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.user, &size_user_1));
3990 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.user, &length_user_1));
3991 0 : if (length_user_1 > size_user_1) {
3992 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
3993 : }
3994 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint8_t)));
3995 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint8_t), CH_UTF8));
3996 : {
3997 0 : uint32_t _flags_save_uint8 = ndr->flags;
3998 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
3999 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.old_password));
4000 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.old_password));
4001 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.old_password, &size_old_password_1));
4002 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.old_password, &length_old_password_1));
4003 0 : if (length_old_password_1 > size_old_password_1) {
4004 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_old_password_1, length_old_password_1);
4005 : }
4006 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_old_password_1, sizeof(uint8_t)));
4007 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.old_password, length_old_password_1, sizeof(uint8_t), CH_UTF8));
4008 0 : ndr->flags = _flags_save_uint8;
4009 : }
4010 : {
4011 0 : uint32_t _flags_save_uint8 = ndr->flags;
4012 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4013 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.new_password));
4014 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.new_password));
4015 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.new_password, &size_new_password_1));
4016 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.new_password, &length_new_password_1));
4017 0 : if (length_new_password_1 > size_new_password_1) {
4018 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_new_password_1, length_new_password_1);
4019 : }
4020 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_new_password_1, sizeof(uint8_t)));
4021 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.new_password, length_new_password_1, sizeof(uint8_t), CH_UTF8));
4022 0 : ndr->flags = _flags_save_uint8;
4023 : }
4024 0 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
4025 0 : NDR_ZERO_STRUCTP(r->out.dominfo);
4026 0 : NDR_PULL_ALLOC(ndr, r->out.reject_reason);
4027 0 : NDR_ZERO_STRUCTP(r->out.reject_reason);
4028 : }
4029 12 : if (flags & NDR_OUT) {
4030 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4031 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4032 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4033 12 : NDR_PULL_ALLOC(ndr, r->out.dominfo);
4034 : }
4035 12 : _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
4036 12 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
4037 12 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
4038 12 : if (_ptr_dominfo) {
4039 0 : NDR_PULL_ALLOC(ndr, *r->out.dominfo);
4040 : } else {
4041 12 : *r->out.dominfo = NULL;
4042 : }
4043 12 : if (*r->out.dominfo) {
4044 0 : _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
4045 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
4046 0 : NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
4047 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
4048 : }
4049 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
4050 12 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4051 12 : NDR_PULL_ALLOC(ndr, r->out.reject_reason);
4052 : }
4053 12 : _mem_save_reject_reason_0 = NDR_PULL_GET_MEM_CTX(ndr);
4054 12 : NDR_PULL_SET_MEM_CTX(ndr, r->out.reject_reason, LIBNDR_FLAG_REF_ALLOC);
4055 12 : NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, r->out.reject_reason));
4056 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_reason_0, LIBNDR_FLAG_REF_ALLOC);
4057 12 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4058 : }
4059 12 : return NDR_ERR_SUCCESS;
4060 : }
4061 :
4062 0 : _PUBLIC_ void ndr_print_wbint_PamAuthChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PamAuthChangePassword *r)
4063 : {
4064 0 : ndr_print_struct(ndr, name, "wbint_PamAuthChangePassword");
4065 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4066 0 : ndr->depth++;
4067 0 : if (flags & NDR_SET_VALUES) {
4068 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4069 : }
4070 0 : if (flags & NDR_IN) {
4071 0 : ndr_print_struct(ndr, "in", "wbint_PamAuthChangePassword");
4072 0 : ndr->depth++;
4073 0 : ndr_print_ptr(ndr, "client_name", r->in.client_name);
4074 0 : ndr->depth++;
4075 0 : ndr_print_string(ndr, "client_name", r->in.client_name);
4076 0 : ndr->depth--;
4077 0 : ndr_print_hyper(ndr, "client_pid", r->in.client_pid);
4078 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
4079 0 : ndr_print_ptr(ndr, "user", r->in.user);
4080 0 : ndr->depth++;
4081 0 : ndr_print_string(ndr, "user", r->in.user);
4082 0 : ndr->depth--;
4083 : {
4084 0 : uint32_t _flags_save_uint8 = ndr->flags;
4085 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4086 0 : ndr_print_ptr(ndr, "old_password", r->in.old_password);
4087 0 : ndr->depth++;
4088 0 : ndr_print_string(ndr, "old_password", r->in.old_password);
4089 0 : ndr->depth--;
4090 0 : ndr->flags = _flags_save_uint8;
4091 : }
4092 : {
4093 0 : uint32_t _flags_save_uint8 = ndr->flags;
4094 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
4095 0 : ndr_print_ptr(ndr, "new_password", r->in.new_password);
4096 0 : ndr->depth++;
4097 0 : ndr_print_string(ndr, "new_password", r->in.new_password);
4098 0 : ndr->depth--;
4099 0 : ndr->flags = _flags_save_uint8;
4100 : }
4101 0 : ndr->depth--;
4102 : }
4103 0 : if (flags & NDR_OUT) {
4104 0 : ndr_print_struct(ndr, "out", "wbint_PamAuthChangePassword");
4105 0 : ndr->depth++;
4106 0 : ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
4107 0 : ndr->depth++;
4108 0 : ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
4109 0 : ndr->depth++;
4110 0 : if (*r->out.dominfo) {
4111 0 : ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
4112 : }
4113 0 : ndr->depth--;
4114 0 : ndr->depth--;
4115 0 : ndr_print_ptr(ndr, "reject_reason", r->out.reject_reason);
4116 0 : ndr->depth++;
4117 0 : ndr_print_samPwdChangeReason(ndr, "reject_reason", *r->out.reject_reason);
4118 0 : ndr->depth--;
4119 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4120 0 : ndr->depth--;
4121 : }
4122 0 : ndr->depth--;
4123 : }
4124 :
4125 69 : static enum ndr_err_code ndr_push_wbint_InitConnection(struct ndr_push *ndr, int flags, const struct wbint_InitConnection *r)
4126 : {
4127 69 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4128 69 : if (flags & NDR_IN) {
4129 69 : if (r->in.dcname == NULL) {
4130 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4131 : }
4132 69 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
4133 69 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4134 69 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dcname, CH_UTF8)));
4135 69 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dcname, ndr_charset_length(r->in.dcname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4136 : }
4137 69 : if (flags & NDR_OUT) {
4138 0 : if (r->out.name == NULL) {
4139 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4140 : }
4141 0 : if (r->out.alt_name == NULL) {
4142 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4143 : }
4144 0 : if (r->out.sid == NULL) {
4145 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4146 : }
4147 0 : if (r->out.flags == NULL) {
4148 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4149 : }
4150 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name));
4151 0 : if (*r->out.name) {
4152 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
4153 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4154 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
4155 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));
4156 : }
4157 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.alt_name));
4158 0 : if (*r->out.alt_name) {
4159 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.alt_name, CH_UTF8)));
4160 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4161 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.alt_name, CH_UTF8)));
4162 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));
4163 : }
4164 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid));
4165 0 : NDR_CHECK(ndr_push_DomainInfoFlags(ndr, NDR_SCALARS, *r->out.flags));
4166 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4167 : }
4168 69 : return NDR_ERR_SUCCESS;
4169 : }
4170 :
4171 69 : static enum ndr_err_code ndr_pull_wbint_InitConnection(struct ndr_pull *ndr, int flags, struct wbint_InitConnection *r)
4172 : {
4173 69 : uint32_t size_dcname_1 = 0;
4174 69 : uint32_t length_dcname_1 = 0;
4175 : uint32_t _ptr_name;
4176 69 : uint32_t size_name_2 = 0;
4177 69 : uint32_t length_name_2 = 0;
4178 : uint32_t _ptr_alt_name;
4179 69 : uint32_t size_alt_name_2 = 0;
4180 69 : uint32_t length_alt_name_2 = 0;
4181 69 : TALLOC_CTX *_mem_save_name_0 = NULL;
4182 69 : TALLOC_CTX *_mem_save_name_1 = NULL;
4183 69 : TALLOC_CTX *_mem_save_alt_name_0 = NULL;
4184 69 : TALLOC_CTX *_mem_save_alt_name_1 = NULL;
4185 69 : TALLOC_CTX *_mem_save_sid_0 = NULL;
4186 69 : TALLOC_CTX *_mem_save_flags_0 = NULL;
4187 69 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4188 69 : if (flags & NDR_IN) {
4189 0 : NDR_ZERO_STRUCT(r->out);
4190 :
4191 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dcname));
4192 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dcname));
4193 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dcname, &size_dcname_1));
4194 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dcname, &length_dcname_1));
4195 0 : if (length_dcname_1 > size_dcname_1) {
4196 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_1, length_dcname_1);
4197 : }
4198 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_1, sizeof(uint8_t)));
4199 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dcname, length_dcname_1, sizeof(uint8_t), CH_UTF8));
4200 0 : NDR_PULL_ALLOC(ndr, r->out.name);
4201 0 : NDR_ZERO_STRUCTP(r->out.name);
4202 0 : NDR_PULL_ALLOC(ndr, r->out.alt_name);
4203 0 : NDR_ZERO_STRUCTP(r->out.alt_name);
4204 0 : NDR_PULL_ALLOC(ndr, r->out.sid);
4205 0 : NDR_ZERO_STRUCTP(r->out.sid);
4206 0 : NDR_PULL_ALLOC(ndr, r->out.flags);
4207 0 : NDR_ZERO_STRUCTP(r->out.flags);
4208 : }
4209 69 : if (flags & NDR_OUT) {
4210 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4211 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4212 69 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4213 69 : NDR_PULL_ALLOC(ndr, r->out.name);
4214 : }
4215 69 : _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4216 69 : NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
4217 69 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4218 69 : if (_ptr_name) {
4219 69 : NDR_PULL_ALLOC(ndr, *r->out.name);
4220 : } else {
4221 0 : *r->out.name = NULL;
4222 : }
4223 69 : if (*r->out.name) {
4224 69 : _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
4225 69 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
4226 69 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.name));
4227 69 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.name));
4228 69 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.name, &size_name_2));
4229 69 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.name, &length_name_2));
4230 69 : if (length_name_2 > size_name_2) {
4231 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_2, length_name_2);
4232 : }
4233 69 : NDR_CHECK(ndr_check_string_terminator(ndr, length_name_2, sizeof(uint8_t)));
4234 69 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, length_name_2, sizeof(uint8_t), CH_UTF8));
4235 69 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
4236 : }
4237 69 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
4238 69 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4239 69 : NDR_PULL_ALLOC(ndr, r->out.alt_name);
4240 : }
4241 69 : _mem_save_alt_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4242 69 : NDR_PULL_SET_MEM_CTX(ndr, r->out.alt_name, LIBNDR_FLAG_REF_ALLOC);
4243 69 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alt_name));
4244 69 : if (_ptr_alt_name) {
4245 32 : NDR_PULL_ALLOC(ndr, *r->out.alt_name);
4246 : } else {
4247 37 : *r->out.alt_name = NULL;
4248 : }
4249 69 : if (*r->out.alt_name) {
4250 32 : _mem_save_alt_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
4251 32 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.alt_name, 0);
4252 32 : NDR_CHECK(ndr_pull_array_size(ndr, r->out.alt_name));
4253 32 : NDR_CHECK(ndr_pull_array_length(ndr, r->out.alt_name));
4254 32 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.alt_name, &size_alt_name_2));
4255 32 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.alt_name, &length_alt_name_2));
4256 32 : if (length_alt_name_2 > size_alt_name_2) {
4257 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_alt_name_2, length_alt_name_2);
4258 : }
4259 32 : NDR_CHECK(ndr_check_string_terminator(ndr, length_alt_name_2, sizeof(uint8_t)));
4260 32 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.alt_name, length_alt_name_2, sizeof(uint8_t), CH_UTF8));
4261 32 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alt_name_1, 0);
4262 : }
4263 69 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alt_name_0, LIBNDR_FLAG_REF_ALLOC);
4264 69 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4265 69 : NDR_PULL_ALLOC(ndr, r->out.sid);
4266 : }
4267 69 : _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4268 69 : NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
4269 69 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid));
4270 69 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
4271 69 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4272 69 : NDR_PULL_ALLOC(ndr, r->out.flags);
4273 : }
4274 69 : _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
4275 69 : NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
4276 69 : NDR_CHECK(ndr_pull_DomainInfoFlags(ndr, NDR_SCALARS, r->out.flags));
4277 69 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
4278 69 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4279 : }
4280 69 : return NDR_ERR_SUCCESS;
4281 : }
4282 :
4283 0 : _PUBLIC_ void ndr_print_wbint_InitConnection(struct ndr_print *ndr, const char *name, int flags, const struct wbint_InitConnection *r)
4284 : {
4285 0 : ndr_print_struct(ndr, name, "wbint_InitConnection");
4286 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4287 0 : ndr->depth++;
4288 0 : if (flags & NDR_SET_VALUES) {
4289 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4290 : }
4291 0 : if (flags & NDR_IN) {
4292 0 : ndr_print_struct(ndr, "in", "wbint_InitConnection");
4293 0 : ndr->depth++;
4294 0 : ndr_print_ptr(ndr, "dcname", r->in.dcname);
4295 0 : ndr->depth++;
4296 0 : ndr_print_string(ndr, "dcname", r->in.dcname);
4297 0 : ndr->depth--;
4298 0 : ndr->depth--;
4299 : }
4300 0 : if (flags & NDR_OUT) {
4301 0 : ndr_print_struct(ndr, "out", "wbint_InitConnection");
4302 0 : ndr->depth++;
4303 0 : ndr_print_ptr(ndr, "name", r->out.name);
4304 0 : ndr->depth++;
4305 0 : ndr_print_ptr(ndr, "name", *r->out.name);
4306 0 : ndr->depth++;
4307 0 : if (*r->out.name) {
4308 0 : ndr_print_string(ndr, "name", *r->out.name);
4309 : }
4310 0 : ndr->depth--;
4311 0 : ndr->depth--;
4312 0 : ndr_print_ptr(ndr, "alt_name", r->out.alt_name);
4313 0 : ndr->depth++;
4314 0 : ndr_print_ptr(ndr, "alt_name", *r->out.alt_name);
4315 0 : ndr->depth++;
4316 0 : if (*r->out.alt_name) {
4317 0 : ndr_print_string(ndr, "alt_name", *r->out.alt_name);
4318 : }
4319 0 : ndr->depth--;
4320 0 : ndr->depth--;
4321 0 : ndr_print_ptr(ndr, "sid", r->out.sid);
4322 0 : ndr->depth++;
4323 0 : ndr_print_dom_sid(ndr, "sid", r->out.sid);
4324 0 : ndr->depth--;
4325 0 : ndr_print_ptr(ndr, "flags", r->out.flags);
4326 0 : ndr->depth++;
4327 0 : ndr_print_DomainInfoFlags(ndr, "flags", *r->out.flags);
4328 0 : ndr->depth--;
4329 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4330 0 : ndr->depth--;
4331 : }
4332 0 : ndr->depth--;
4333 : }
4334 :
4335 905 : static enum ndr_err_code ndr_push_winbind_SamLogon(struct ndr_push *ndr, int flags, const struct winbind_SamLogon *r)
4336 : {
4337 905 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4338 905 : if (flags & NDR_IN) {
4339 905 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
4340 905 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
4341 905 : NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
4342 905 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
4343 : }
4344 905 : if (flags & NDR_OUT) {
4345 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
4346 0 : NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
4347 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->out.authoritative));
4348 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4349 : }
4350 905 : return NDR_ERR_SUCCESS;
4351 : }
4352 :
4353 903 : static enum ndr_err_code ndr_pull_winbind_SamLogon(struct ndr_pull *ndr, int flags, struct winbind_SamLogon *r)
4354 : {
4355 903 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4356 903 : if (flags & NDR_IN) {
4357 0 : NDR_ZERO_STRUCT(r->out);
4358 :
4359 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
4360 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
4361 0 : NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
4362 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
4363 : }
4364 903 : if (flags & NDR_OUT) {
4365 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4366 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4367 903 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
4368 903 : NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
4369 903 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->out.authoritative));
4370 903 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4371 : }
4372 903 : return NDR_ERR_SUCCESS;
4373 : }
4374 :
4375 0 : _PUBLIC_ void ndr_print_winbind_SamLogon(struct ndr_print *ndr, const char *name, int flags, const struct winbind_SamLogon *r)
4376 : {
4377 0 : ndr_print_struct(ndr, name, "winbind_SamLogon");
4378 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4379 0 : ndr->depth++;
4380 0 : if (flags & NDR_SET_VALUES) {
4381 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4382 : }
4383 0 : if (flags & NDR_IN) {
4384 0 : ndr_print_struct(ndr, "in", "winbind_SamLogon");
4385 0 : ndr->depth++;
4386 0 : ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
4387 0 : ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
4388 0 : ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
4389 0 : ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
4390 0 : ndr->depth--;
4391 : }
4392 0 : if (flags & NDR_OUT) {
4393 0 : ndr_print_struct(ndr, "out", "winbind_SamLogon");
4394 0 : ndr->depth++;
4395 0 : ndr_print_set_switch_value(ndr, &r->out.validation, r->in.validation_level);
4396 0 : ndr_print_netr_Validation(ndr, "validation", &r->out.validation);
4397 0 : ndr_print_uint8(ndr, "authoritative", r->out.authoritative);
4398 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4399 0 : ndr->depth--;
4400 : }
4401 0 : ndr->depth--;
4402 : }
4403 :
4404 5 : static enum ndr_err_code ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_push *ndr, int flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4405 : {
4406 5 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4407 5 : if (flags & NDR_IN) {
4408 5 : if (r->in.dns_names == NULL) {
4409 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4410 : }
4411 5 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
4412 5 : if (r->in.site_name) {
4413 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
4414 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4415 5 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
4416 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));
4417 : }
4418 5 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dns_ttl));
4419 5 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
4420 : }
4421 5 : if (flags & NDR_OUT) {
4422 0 : if (r->out.dns_names == NULL) {
4423 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4424 : }
4425 0 : NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
4426 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4427 : }
4428 5 : return NDR_ERR_SUCCESS;
4429 : }
4430 :
4431 5 : static enum ndr_err_code ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_pull *ndr, int flags, struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4432 : {
4433 : uint32_t _ptr_site_name;
4434 5 : uint32_t size_site_name_1 = 0;
4435 5 : uint32_t length_site_name_1 = 0;
4436 5 : TALLOC_CTX *_mem_save_site_name_0 = NULL;
4437 5 : TALLOC_CTX *_mem_save_dns_names_0 = NULL;
4438 5 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4439 5 : if (flags & NDR_IN) {
4440 0 : NDR_ZERO_STRUCT(r->out);
4441 :
4442 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
4443 0 : if (_ptr_site_name) {
4444 0 : NDR_PULL_ALLOC(ndr, r->in.site_name);
4445 : } else {
4446 0 : r->in.site_name = NULL;
4447 : }
4448 0 : if (r->in.site_name) {
4449 0 : _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4450 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
4451 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
4452 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
4453 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
4454 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
4455 0 : if (length_site_name_1 > size_site_name_1) {
4456 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
4457 : }
4458 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
4459 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
4460 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
4461 : }
4462 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dns_ttl));
4463 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4464 0 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
4465 : }
4466 0 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4467 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.dns_names, LIBNDR_FLAG_REF_ALLOC);
4468 0 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
4469 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
4470 0 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
4471 0 : *r->out.dns_names = *r->in.dns_names;
4472 : }
4473 5 : if (flags & NDR_OUT) {
4474 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4475 : if (r->in.dns_names == NULL) {
4476 : NDR_PULL_ALLOC(ndr, r->in.dns_names);
4477 : NDR_ZERO_STRUCTP(r->in.dns_names);
4478 : }
4479 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4480 5 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4481 5 : NDR_PULL_ALLOC(ndr, r->out.dns_names);
4482 : }
4483 5 : _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4484 5 : NDR_PULL_SET_MEM_CTX(ndr, r->out.dns_names, LIBNDR_FLAG_REF_ALLOC);
4485 5 : NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
4486 5 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
4487 5 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4488 : }
4489 5 : return NDR_ERR_SUCCESS;
4490 : }
4491 :
4492 0 : _PUBLIC_ void ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_print *ndr, const char *name, int flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
4493 : {
4494 0 : ndr_print_struct(ndr, name, "winbind_DsrUpdateReadOnlyServerDnsRecords");
4495 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4496 0 : ndr->depth++;
4497 0 : if (flags & NDR_SET_VALUES) {
4498 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4499 : }
4500 0 : if (flags & NDR_IN) {
4501 0 : ndr_print_struct(ndr, "in", "winbind_DsrUpdateReadOnlyServerDnsRecords");
4502 0 : ndr->depth++;
4503 0 : ndr_print_ptr(ndr, "site_name", r->in.site_name);
4504 0 : ndr->depth++;
4505 0 : if (r->in.site_name) {
4506 0 : ndr_print_string(ndr, "site_name", r->in.site_name);
4507 : }
4508 0 : ndr->depth--;
4509 0 : ndr_print_uint32(ndr, "dns_ttl", r->in.dns_ttl);
4510 0 : ndr_print_ptr(ndr, "dns_names", r->in.dns_names);
4511 0 : ndr->depth++;
4512 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->in.dns_names);
4513 0 : ndr->depth--;
4514 0 : ndr->depth--;
4515 : }
4516 0 : if (flags & NDR_OUT) {
4517 0 : ndr_print_struct(ndr, "out", "winbind_DsrUpdateReadOnlyServerDnsRecords");
4518 0 : ndr->depth++;
4519 0 : ndr_print_ptr(ndr, "dns_names", r->out.dns_names);
4520 0 : ndr->depth++;
4521 0 : ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->out.dns_names);
4522 0 : ndr->depth--;
4523 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4524 0 : ndr->depth--;
4525 : }
4526 0 : ndr->depth--;
4527 : }
4528 :
4529 117 : static enum ndr_err_code ndr_push_winbind_LogonControl(struct ndr_push *ndr, int flags, const struct winbind_LogonControl *r)
4530 : {
4531 117 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4532 117 : if (flags & NDR_IN) {
4533 117 : if (r->in.data == NULL) {
4534 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4535 : }
4536 117 : NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
4537 117 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
4538 117 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
4539 117 : NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
4540 : }
4541 117 : if (flags & NDR_OUT) {
4542 0 : if (r->out.query == NULL) {
4543 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4544 : }
4545 0 : NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
4546 0 : NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
4547 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4548 : }
4549 117 : return NDR_ERR_SUCCESS;
4550 : }
4551 :
4552 117 : static enum ndr_err_code ndr_pull_winbind_LogonControl(struct ndr_pull *ndr, int flags, struct winbind_LogonControl *r)
4553 : {
4554 117 : TALLOC_CTX *_mem_save_data_0 = NULL;
4555 117 : TALLOC_CTX *_mem_save_query_0 = NULL;
4556 117 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4557 117 : if (flags & NDR_IN) {
4558 0 : NDR_ZERO_STRUCT(r->out);
4559 :
4560 0 : NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
4561 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
4562 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4563 0 : NDR_PULL_ALLOC(ndr, r->in.data);
4564 : }
4565 0 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4566 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
4567 0 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
4568 0 : NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
4569 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
4570 0 : NDR_PULL_ALLOC(ndr, r->out.query);
4571 0 : NDR_ZERO_STRUCTP(r->out.query);
4572 : }
4573 117 : if (flags & NDR_OUT) {
4574 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4575 : if (r->in.data == NULL) {
4576 : NDR_PULL_ALLOC(ndr, r->in.data);
4577 : NDR_ZERO_STRUCTP(r->in.data);
4578 : }
4579 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4580 117 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4581 117 : NDR_PULL_ALLOC(ndr, r->out.query);
4582 : }
4583 117 : _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
4584 117 : NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
4585 117 : NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
4586 117 : NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
4587 117 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
4588 117 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4589 : }
4590 117 : return NDR_ERR_SUCCESS;
4591 : }
4592 :
4593 0 : _PUBLIC_ void ndr_print_winbind_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct winbind_LogonControl *r)
4594 : {
4595 0 : ndr_print_struct(ndr, name, "winbind_LogonControl");
4596 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4597 0 : ndr->depth++;
4598 0 : if (flags & NDR_SET_VALUES) {
4599 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4600 : }
4601 0 : if (flags & NDR_IN) {
4602 0 : ndr_print_struct(ndr, "in", "winbind_LogonControl");
4603 0 : ndr->depth++;
4604 0 : ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
4605 0 : ndr_print_uint32(ndr, "level", r->in.level);
4606 0 : ndr_print_ptr(ndr, "data", r->in.data);
4607 0 : ndr->depth++;
4608 0 : ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
4609 0 : ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
4610 0 : ndr->depth--;
4611 0 : ndr->depth--;
4612 : }
4613 0 : if (flags & NDR_OUT) {
4614 0 : ndr_print_struct(ndr, "out", "winbind_LogonControl");
4615 0 : ndr->depth++;
4616 0 : ndr_print_ptr(ndr, "query", r->out.query);
4617 0 : ndr->depth++;
4618 0 : ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
4619 0 : ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
4620 0 : ndr->depth--;
4621 0 : ndr_print_WERROR(ndr, "result", r->out.result);
4622 0 : ndr->depth--;
4623 : }
4624 0 : ndr->depth--;
4625 : }
4626 :
4627 20 : static enum ndr_err_code ndr_push_winbind_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct winbind_GetForestTrustInformation *r)
4628 : {
4629 20 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4630 20 : if (flags & NDR_IN) {
4631 20 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
4632 20 : if (r->in.trusted_domain_name) {
4633 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
4634 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4635 20 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
4636 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));
4637 : }
4638 20 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
4639 : }
4640 20 : if (flags & NDR_OUT) {
4641 0 : if (r->out.forest_trust_info == NULL) {
4642 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4643 : }
4644 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
4645 0 : if (*r->out.forest_trust_info) {
4646 0 : NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
4647 : }
4648 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4649 : }
4650 20 : return NDR_ERR_SUCCESS;
4651 : }
4652 :
4653 20 : static enum ndr_err_code ndr_pull_winbind_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct winbind_GetForestTrustInformation *r)
4654 : {
4655 : uint32_t _ptr_trusted_domain_name;
4656 20 : uint32_t size_trusted_domain_name_1 = 0;
4657 20 : uint32_t length_trusted_domain_name_1 = 0;
4658 : uint32_t _ptr_forest_trust_info;
4659 20 : TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
4660 20 : TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
4661 20 : TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
4662 20 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4663 20 : if (flags & NDR_IN) {
4664 0 : NDR_ZERO_STRUCT(r->out);
4665 :
4666 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
4667 0 : if (_ptr_trusted_domain_name) {
4668 0 : NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
4669 : } else {
4670 0 : r->in.trusted_domain_name = NULL;
4671 : }
4672 0 : if (r->in.trusted_domain_name) {
4673 0 : _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4674 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
4675 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
4676 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
4677 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.trusted_domain_name, &size_trusted_domain_name_1));
4678 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.trusted_domain_name, &length_trusted_domain_name_1));
4679 0 : if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
4680 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
4681 : }
4682 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
4683 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
4684 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
4685 : }
4686 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4687 0 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
4688 0 : NDR_ZERO_STRUCTP(r->out.forest_trust_info);
4689 : }
4690 20 : if (flags & NDR_OUT) {
4691 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4692 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4693 20 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4694 20 : NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
4695 : }
4696 20 : _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4697 20 : NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
4698 20 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
4699 20 : if (_ptr_forest_trust_info) {
4700 20 : NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
4701 : } else {
4702 0 : *r->out.forest_trust_info = NULL;
4703 : }
4704 20 : if (*r->out.forest_trust_info) {
4705 20 : _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
4706 20 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
4707 20 : NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
4708 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
4709 : }
4710 20 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
4711 20 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4712 : }
4713 20 : return NDR_ERR_SUCCESS;
4714 : }
4715 :
4716 0 : _PUBLIC_ void ndr_print_winbind_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct winbind_GetForestTrustInformation *r)
4717 : {
4718 0 : ndr_print_struct(ndr, name, "winbind_GetForestTrustInformation");
4719 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4720 0 : ndr->depth++;
4721 0 : if (flags & NDR_SET_VALUES) {
4722 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4723 : }
4724 0 : if (flags & NDR_IN) {
4725 0 : ndr_print_struct(ndr, "in", "winbind_GetForestTrustInformation");
4726 0 : ndr->depth++;
4727 0 : ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
4728 0 : ndr->depth++;
4729 0 : if (r->in.trusted_domain_name) {
4730 0 : ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
4731 : }
4732 0 : ndr->depth--;
4733 0 : ndr_print_uint32(ndr, "flags", r->in.flags);
4734 0 : ndr->depth--;
4735 : }
4736 0 : if (flags & NDR_OUT) {
4737 0 : ndr_print_struct(ndr, "out", "winbind_GetForestTrustInformation");
4738 0 : ndr->depth++;
4739 0 : ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
4740 0 : ndr->depth++;
4741 0 : ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
4742 0 : ndr->depth++;
4743 0 : if (*r->out.forest_trust_info) {
4744 0 : ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
4745 : }
4746 0 : ndr->depth--;
4747 0 : ndr->depth--;
4748 0 : ndr_print_WERROR(ndr, "result", r->out.result);
4749 0 : ndr->depth--;
4750 : }
4751 0 : ndr->depth--;
4752 : }
4753 :
4754 17 : static enum ndr_err_code ndr_push_winbind_SendToSam(struct ndr_push *ndr, int flags, const struct winbind_SendToSam *r)
4755 : {
4756 17 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
4757 17 : if (flags & NDR_IN) {
4758 17 : NDR_CHECK(ndr_push_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
4759 : }
4760 17 : if (flags & NDR_OUT) {
4761 0 : NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
4762 : }
4763 17 : return NDR_ERR_SUCCESS;
4764 : }
4765 :
4766 0 : static enum ndr_err_code ndr_pull_winbind_SendToSam(struct ndr_pull *ndr, int flags, struct winbind_SendToSam *r)
4767 : {
4768 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
4769 0 : if (flags & NDR_IN) {
4770 0 : NDR_CHECK(ndr_pull_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
4771 : }
4772 0 : if (flags & NDR_OUT) {
4773 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
4774 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
4775 0 : NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
4776 : }
4777 0 : return NDR_ERR_SUCCESS;
4778 : }
4779 :
4780 0 : _PUBLIC_ void ndr_print_winbind_SendToSam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_SendToSam *r)
4781 : {
4782 0 : ndr_print_struct(ndr, name, "winbind_SendToSam");
4783 0 : if (r == NULL) { ndr_print_null(ndr); return; }
4784 0 : ndr->depth++;
4785 0 : if (flags & NDR_SET_VALUES) {
4786 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4787 : }
4788 0 : if (flags & NDR_IN) {
4789 0 : ndr_print_struct(ndr, "in", "winbind_SendToSam");
4790 0 : ndr->depth++;
4791 0 : ndr_print_netr_SendToSamBase(ndr, "message", &r->in.message);
4792 0 : ndr->depth--;
4793 : }
4794 0 : if (flags & NDR_OUT) {
4795 0 : ndr_print_struct(ndr, "out", "winbind_SendToSam");
4796 0 : ndr->depth++;
4797 0 : ndr_print_NTSTATUS(ndr, "result", r->out.result);
4798 0 : ndr->depth--;
4799 : }
4800 0 : ndr->depth--;
4801 : }
4802 :
4803 : #ifndef SKIP_NDR_TABLE_winbind
4804 : static const struct ndr_interface_public_struct winbind_public_structs[] = {
4805 : {
4806 : .name = "wbint_userinfo",
4807 : .struct_size = sizeof(struct wbint_userinfo ),
4808 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfo,
4809 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfo,
4810 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfo,
4811 : },
4812 : {
4813 : .name = "wbint_SidArray",
4814 : .struct_size = sizeof(struct wbint_SidArray ),
4815 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_SidArray,
4816 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_SidArray,
4817 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_SidArray,
4818 : },
4819 : {
4820 : .name = "wbint_RidArray",
4821 : .struct_size = sizeof(struct wbint_RidArray ),
4822 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_RidArray,
4823 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_RidArray,
4824 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_RidArray,
4825 : },
4826 : {
4827 : .name = "wbint_Principal",
4828 : .struct_size = sizeof(struct wbint_Principal ),
4829 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principal,
4830 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principal,
4831 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principal,
4832 : },
4833 : {
4834 : .name = "wbint_Principals",
4835 : .struct_size = sizeof(struct wbint_Principals ),
4836 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principals,
4837 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principals,
4838 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principals,
4839 : },
4840 : {
4841 : .name = "wbint_userinfos",
4842 : .struct_size = sizeof(struct wbint_userinfos ),
4843 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfos,
4844 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfos,
4845 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfos,
4846 : },
4847 : {
4848 : .name = "wbint_Validation",
4849 : .struct_size = sizeof(struct wbint_Validation ),
4850 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Validation,
4851 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Validation,
4852 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Validation,
4853 : },
4854 : {
4855 : .name = "wbint_AuthUserInfo",
4856 : .struct_size = sizeof(struct wbint_AuthUserInfo ),
4857 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_AuthUserInfo,
4858 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_AuthUserInfo,
4859 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_AuthUserInfo,
4860 : },
4861 : {
4862 : .name = "wbint_PamAuthCrapValidation",
4863 : .struct_size = sizeof(struct wbint_PamAuthCrapValidation ),
4864 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrapValidation,
4865 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrapValidation,
4866 : .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_PamAuthCrapValidation,
4867 : },
4868 : { .name = NULL }
4869 : };
4870 :
4871 : static const struct ndr_interface_call winbind_calls[] = {
4872 : {
4873 : "wbint_Ping",
4874 : sizeof(struct wbint_Ping),
4875 : (ndr_push_flags_fn_t) ndr_push_wbint_Ping,
4876 : (ndr_pull_flags_fn_t) ndr_pull_wbint_Ping,
4877 : (ndr_print_function_t) ndr_print_wbint_Ping,
4878 : { 0, NULL },
4879 : { 0, NULL },
4880 : },
4881 : {
4882 : "wbint_LookupSid",
4883 : sizeof(struct wbint_LookupSid),
4884 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupSid,
4885 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSid,
4886 : (ndr_print_function_t) ndr_print_wbint_LookupSid,
4887 : { 0, NULL },
4888 : { 0, NULL },
4889 : },
4890 : {
4891 : "wbint_LookupSids",
4892 : sizeof(struct wbint_LookupSids),
4893 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupSids,
4894 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSids,
4895 : (ndr_print_function_t) ndr_print_wbint_LookupSids,
4896 : { 0, NULL },
4897 : { 0, NULL },
4898 : },
4899 : {
4900 : "wbint_LookupName",
4901 : sizeof(struct wbint_LookupName),
4902 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupName,
4903 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupName,
4904 : (ndr_print_function_t) ndr_print_wbint_LookupName,
4905 : { 0, NULL },
4906 : { 0, NULL },
4907 : },
4908 : {
4909 : "wbint_Sids2UnixIDs",
4910 : sizeof(struct wbint_Sids2UnixIDs),
4911 : (ndr_push_flags_fn_t) ndr_push_wbint_Sids2UnixIDs,
4912 : (ndr_pull_flags_fn_t) ndr_pull_wbint_Sids2UnixIDs,
4913 : (ndr_print_function_t) ndr_print_wbint_Sids2UnixIDs,
4914 : { 0, NULL },
4915 : { 0, NULL },
4916 : },
4917 : {
4918 : "wbint_UnixIDs2Sids",
4919 : sizeof(struct wbint_UnixIDs2Sids),
4920 : (ndr_push_flags_fn_t) ndr_push_wbint_UnixIDs2Sids,
4921 : (ndr_pull_flags_fn_t) ndr_pull_wbint_UnixIDs2Sids,
4922 : (ndr_print_function_t) ndr_print_wbint_UnixIDs2Sids,
4923 : { 0, NULL },
4924 : { 0, NULL },
4925 : },
4926 : {
4927 : "wbint_AllocateUid",
4928 : sizeof(struct wbint_AllocateUid),
4929 : (ndr_push_flags_fn_t) ndr_push_wbint_AllocateUid,
4930 : (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateUid,
4931 : (ndr_print_function_t) ndr_print_wbint_AllocateUid,
4932 : { 0, NULL },
4933 : { 0, NULL },
4934 : },
4935 : {
4936 : "wbint_AllocateGid",
4937 : sizeof(struct wbint_AllocateGid),
4938 : (ndr_push_flags_fn_t) ndr_push_wbint_AllocateGid,
4939 : (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateGid,
4940 : (ndr_print_function_t) ndr_print_wbint_AllocateGid,
4941 : { 0, NULL },
4942 : { 0, NULL },
4943 : },
4944 : {
4945 : "wbint_GetNssInfo",
4946 : sizeof(struct wbint_GetNssInfo),
4947 : (ndr_push_flags_fn_t) ndr_push_wbint_GetNssInfo,
4948 : (ndr_pull_flags_fn_t) ndr_pull_wbint_GetNssInfo,
4949 : (ndr_print_function_t) ndr_print_wbint_GetNssInfo,
4950 : { 0, NULL },
4951 : { 0, NULL },
4952 : },
4953 : {
4954 : "wbint_LookupUserAliases",
4955 : sizeof(struct wbint_LookupUserAliases),
4956 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserAliases,
4957 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserAliases,
4958 : (ndr_print_function_t) ndr_print_wbint_LookupUserAliases,
4959 : { 0, NULL },
4960 : { 0, NULL },
4961 : },
4962 : {
4963 : "wbint_LookupUserGroups",
4964 : sizeof(struct wbint_LookupUserGroups),
4965 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserGroups,
4966 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserGroups,
4967 : (ndr_print_function_t) ndr_print_wbint_LookupUserGroups,
4968 : { 0, NULL },
4969 : { 0, NULL },
4970 : },
4971 : {
4972 : "wbint_QuerySequenceNumber",
4973 : sizeof(struct wbint_QuerySequenceNumber),
4974 : (ndr_push_flags_fn_t) ndr_push_wbint_QuerySequenceNumber,
4975 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QuerySequenceNumber,
4976 : (ndr_print_function_t) ndr_print_wbint_QuerySequenceNumber,
4977 : { 0, NULL },
4978 : { 0, NULL },
4979 : },
4980 : {
4981 : "wbint_LookupGroupMembers",
4982 : sizeof(struct wbint_LookupGroupMembers),
4983 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupGroupMembers,
4984 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupGroupMembers,
4985 : (ndr_print_function_t) ndr_print_wbint_LookupGroupMembers,
4986 : { 0, NULL },
4987 : { 0, NULL },
4988 : },
4989 : {
4990 : "wbint_QueryGroupList",
4991 : sizeof(struct wbint_QueryGroupList),
4992 : (ndr_push_flags_fn_t) ndr_push_wbint_QueryGroupList,
4993 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryGroupList,
4994 : (ndr_print_function_t) ndr_print_wbint_QueryGroupList,
4995 : { 0, NULL },
4996 : { 0, NULL },
4997 : },
4998 : {
4999 : "wbint_QueryUserRidList",
5000 : sizeof(struct wbint_QueryUserRidList),
5001 : (ndr_push_flags_fn_t) ndr_push_wbint_QueryUserRidList,
5002 : (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryUserRidList,
5003 : (ndr_print_function_t) ndr_print_wbint_QueryUserRidList,
5004 : { 0, NULL },
5005 : { 0, NULL },
5006 : },
5007 : {
5008 : "wbint_DsGetDcName",
5009 : sizeof(struct wbint_DsGetDcName),
5010 : (ndr_push_flags_fn_t) ndr_push_wbint_DsGetDcName,
5011 : (ndr_pull_flags_fn_t) ndr_pull_wbint_DsGetDcName,
5012 : (ndr_print_function_t) ndr_print_wbint_DsGetDcName,
5013 : { 0, NULL },
5014 : { 0, NULL },
5015 : },
5016 : {
5017 : "wbint_LookupRids",
5018 : sizeof(struct wbint_LookupRids),
5019 : (ndr_push_flags_fn_t) ndr_push_wbint_LookupRids,
5020 : (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupRids,
5021 : (ndr_print_function_t) ndr_print_wbint_LookupRids,
5022 : { 0, NULL },
5023 : { 0, NULL },
5024 : },
5025 : {
5026 : "wbint_CheckMachineAccount",
5027 : sizeof(struct wbint_CheckMachineAccount),
5028 : (ndr_push_flags_fn_t) ndr_push_wbint_CheckMachineAccount,
5029 : (ndr_pull_flags_fn_t) ndr_pull_wbint_CheckMachineAccount,
5030 : (ndr_print_function_t) ndr_print_wbint_CheckMachineAccount,
5031 : { 0, NULL },
5032 : { 0, NULL },
5033 : },
5034 : {
5035 : "wbint_ChangeMachineAccount",
5036 : sizeof(struct wbint_ChangeMachineAccount),
5037 : (ndr_push_flags_fn_t) ndr_push_wbint_ChangeMachineAccount,
5038 : (ndr_pull_flags_fn_t) ndr_pull_wbint_ChangeMachineAccount,
5039 : (ndr_print_function_t) ndr_print_wbint_ChangeMachineAccount,
5040 : { 0, NULL },
5041 : { 0, NULL },
5042 : },
5043 : {
5044 : "wbint_PingDc",
5045 : sizeof(struct wbint_PingDc),
5046 : (ndr_push_flags_fn_t) ndr_push_wbint_PingDc,
5047 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PingDc,
5048 : (ndr_print_function_t) ndr_print_wbint_PingDc,
5049 : { 0, NULL },
5050 : { 0, NULL },
5051 : },
5052 : {
5053 : "wbint_ListTrustedDomains",
5054 : sizeof(struct wbint_ListTrustedDomains),
5055 : (ndr_push_flags_fn_t) ndr_push_wbint_ListTrustedDomains,
5056 : (ndr_pull_flags_fn_t) ndr_pull_wbint_ListTrustedDomains,
5057 : (ndr_print_function_t) ndr_print_wbint_ListTrustedDomains,
5058 : { 0, NULL },
5059 : { 0, NULL },
5060 : },
5061 : {
5062 : "wbint_PamAuth",
5063 : sizeof(struct wbint_PamAuth),
5064 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuth,
5065 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuth,
5066 : (ndr_print_function_t) ndr_print_wbint_PamAuth,
5067 : { 0, NULL },
5068 : { 0, NULL },
5069 : },
5070 : {
5071 : "wbint_PamAuthCrap",
5072 : sizeof(struct wbint_PamAuthCrap),
5073 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrap,
5074 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrap,
5075 : (ndr_print_function_t) ndr_print_wbint_PamAuthCrap,
5076 : { 0, NULL },
5077 : { 0, NULL },
5078 : },
5079 : {
5080 : "wbint_PamLogOff",
5081 : sizeof(struct wbint_PamLogOff),
5082 : (ndr_push_flags_fn_t) ndr_push_wbint_PamLogOff,
5083 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamLogOff,
5084 : (ndr_print_function_t) ndr_print_wbint_PamLogOff,
5085 : { 0, NULL },
5086 : { 0, NULL },
5087 : },
5088 : {
5089 : "wbint_PamAuthCrapChangePassword",
5090 : sizeof(struct wbint_PamAuthCrapChangePassword),
5091 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthCrapChangePassword,
5092 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthCrapChangePassword,
5093 : (ndr_print_function_t) ndr_print_wbint_PamAuthCrapChangePassword,
5094 : { 0, NULL },
5095 : { 0, NULL },
5096 : },
5097 : {
5098 : "wbint_PamAuthChangePassword",
5099 : sizeof(struct wbint_PamAuthChangePassword),
5100 : (ndr_push_flags_fn_t) ndr_push_wbint_PamAuthChangePassword,
5101 : (ndr_pull_flags_fn_t) ndr_pull_wbint_PamAuthChangePassword,
5102 : (ndr_print_function_t) ndr_print_wbint_PamAuthChangePassword,
5103 : { 0, NULL },
5104 : { 0, NULL },
5105 : },
5106 : {
5107 : "wbint_InitConnection",
5108 : sizeof(struct wbint_InitConnection),
5109 : (ndr_push_flags_fn_t) ndr_push_wbint_InitConnection,
5110 : (ndr_pull_flags_fn_t) ndr_pull_wbint_InitConnection,
5111 : (ndr_print_function_t) ndr_print_wbint_InitConnection,
5112 : { 0, NULL },
5113 : { 0, NULL },
5114 : },
5115 : {
5116 : "winbind_SamLogon",
5117 : sizeof(struct winbind_SamLogon),
5118 : (ndr_push_flags_fn_t) ndr_push_winbind_SamLogon,
5119 : (ndr_pull_flags_fn_t) ndr_pull_winbind_SamLogon,
5120 : (ndr_print_function_t) ndr_print_winbind_SamLogon,
5121 : { 0, NULL },
5122 : { 0, NULL },
5123 : },
5124 : {
5125 : "winbind_DsrUpdateReadOnlyServerDnsRecords",
5126 : sizeof(struct winbind_DsrUpdateReadOnlyServerDnsRecords),
5127 : (ndr_push_flags_fn_t) ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords,
5128 : (ndr_pull_flags_fn_t) ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords,
5129 : (ndr_print_function_t) ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords,
5130 : { 0, NULL },
5131 : { 0, NULL },
5132 : },
5133 : {
5134 : "winbind_LogonControl",
5135 : sizeof(struct winbind_LogonControl),
5136 : (ndr_push_flags_fn_t) ndr_push_winbind_LogonControl,
5137 : (ndr_pull_flags_fn_t) ndr_pull_winbind_LogonControl,
5138 : (ndr_print_function_t) ndr_print_winbind_LogonControl,
5139 : { 0, NULL },
5140 : { 0, NULL },
5141 : },
5142 : {
5143 : "winbind_GetForestTrustInformation",
5144 : sizeof(struct winbind_GetForestTrustInformation),
5145 : (ndr_push_flags_fn_t) ndr_push_winbind_GetForestTrustInformation,
5146 : (ndr_pull_flags_fn_t) ndr_pull_winbind_GetForestTrustInformation,
5147 : (ndr_print_function_t) ndr_print_winbind_GetForestTrustInformation,
5148 : { 0, NULL },
5149 : { 0, NULL },
5150 : },
5151 : {
5152 : "winbind_SendToSam",
5153 : sizeof(struct winbind_SendToSam),
5154 : (ndr_push_flags_fn_t) ndr_push_winbind_SendToSam,
5155 : (ndr_pull_flags_fn_t) ndr_pull_winbind_SendToSam,
5156 : (ndr_print_function_t) ndr_print_winbind_SendToSam,
5157 : { 0, NULL },
5158 : { 0, NULL },
5159 : },
5160 : { .name = NULL }
5161 : };
5162 :
5163 : static const char * const winbind_endpoint_strings[] = {
5164 : "ncalrpc:",
5165 : };
5166 :
5167 : static const struct ndr_interface_string_array winbind_endpoints = {
5168 : .count = 1,
5169 : .names = winbind_endpoint_strings
5170 : };
5171 :
5172 : static const char * const winbind_authservice_strings[] = {
5173 : "host",
5174 : };
5175 :
5176 : static const struct ndr_interface_string_array winbind_authservices = {
5177 : .count = 1,
5178 : .names = winbind_authservice_strings
5179 : };
5180 :
5181 :
5182 : const struct ndr_interface_table ndr_table_winbind = {
5183 : .name = "winbind",
5184 : .syntax_id = {
5185 : {0xbf09192c,0xed60,0x4928,{0x9d,0xff},{0xd0,0xd7,0xbc,0xb0,0x3e,0xd8}},
5186 : NDR_WINBIND_VERSION
5187 : },
5188 : .helpstring = NDR_WINBIND_HELPSTRING,
5189 : .num_calls = 32,
5190 : .calls = winbind_calls,
5191 : .num_public_structs = 9,
5192 : .public_structs = winbind_public_structs,
5193 : .endpoints = &winbind_endpoints,
5194 : .authservices = &winbind_authservices
5195 : };
5196 :
5197 : #endif /* SKIP_NDR_TABLE_winbind */
|