1 | /* parser auto-generated by pidl */
|
---|
2 |
|
---|
3 | #include "includes.h"
|
---|
4 | #include "librpc/gen_ndr/ndr_auth.h"
|
---|
5 |
|
---|
6 | #include "librpc/gen_ndr/ndr_misc.h"
|
---|
7 | #include "librpc/gen_ndr/ndr_security.h"
|
---|
8 | #include "librpc/gen_ndr/ndr_lsa.h"
|
---|
9 | #include "librpc/gen_ndr/ndr_krb5pac.h"
|
---|
10 | _PUBLIC_ enum ndr_err_code ndr_push_auth_method(struct ndr_push *ndr, int ndr_flags, enum auth_method r)
|
---|
11 | {
|
---|
12 | NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
|
---|
13 | return NDR_ERR_SUCCESS;
|
---|
14 | }
|
---|
15 |
|
---|
16 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_method(struct ndr_pull *ndr, int ndr_flags, enum auth_method *r)
|
---|
17 | {
|
---|
18 | uint16_t v;
|
---|
19 | NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
|
---|
20 | *r = v;
|
---|
21 | return NDR_ERR_SUCCESS;
|
---|
22 | }
|
---|
23 |
|
---|
24 | _PUBLIC_ void ndr_print_auth_method(struct ndr_print *ndr, const char *name, enum auth_method r)
|
---|
25 | {
|
---|
26 | const char *val = NULL;
|
---|
27 |
|
---|
28 | switch (r) {
|
---|
29 | case SEC_AUTH_METHOD_UNAUTHENTICATED: val = "SEC_AUTH_METHOD_UNAUTHENTICATED"; break;
|
---|
30 | case SEC_AUTH_METHOD_NTLM: val = "SEC_AUTH_METHOD_NTLM"; break;
|
---|
31 | case SEC_AUTH_METHOD_KERBEROS: val = "SEC_AUTH_METHOD_KERBEROS"; break;
|
---|
32 | }
|
---|
33 | ndr_print_enum(ndr, name, "ENUM", val, r);
|
---|
34 | }
|
---|
35 |
|
---|
36 | _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info *r)
|
---|
37 | {
|
---|
38 | if (ndr_flags & NDR_SCALARS) {
|
---|
39 | NDR_CHECK(ndr_push_align(ndr, 4));
|
---|
40 | {
|
---|
41 | uint32_t _flags_save_string = ndr->flags;
|
---|
42 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
43 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->account_name));
|
---|
44 | ndr->flags = _flags_save_string;
|
---|
45 | }
|
---|
46 | {
|
---|
47 | uint32_t _flags_save_string = ndr->flags;
|
---|
48 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
49 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
|
---|
50 | ndr->flags = _flags_save_string;
|
---|
51 | }
|
---|
52 | {
|
---|
53 | uint32_t _flags_save_string = ndr->flags;
|
---|
54 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
55 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->full_name));
|
---|
56 | ndr->flags = _flags_save_string;
|
---|
57 | }
|
---|
58 | {
|
---|
59 | uint32_t _flags_save_string = ndr->flags;
|
---|
60 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
61 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->logon_script));
|
---|
62 | ndr->flags = _flags_save_string;
|
---|
63 | }
|
---|
64 | {
|
---|
65 | uint32_t _flags_save_string = ndr->flags;
|
---|
66 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
67 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->profile_path));
|
---|
68 | ndr->flags = _flags_save_string;
|
---|
69 | }
|
---|
70 | {
|
---|
71 | uint32_t _flags_save_string = ndr->flags;
|
---|
72 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
73 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->home_directory));
|
---|
74 | ndr->flags = _flags_save_string;
|
---|
75 | }
|
---|
76 | {
|
---|
77 | uint32_t _flags_save_string = ndr->flags;
|
---|
78 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
79 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->home_drive));
|
---|
80 | ndr->flags = _flags_save_string;
|
---|
81 | }
|
---|
82 | {
|
---|
83 | uint32_t _flags_save_string = ndr->flags;
|
---|
84 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
85 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->logon_server));
|
---|
86 | ndr->flags = _flags_save_string;
|
---|
87 | }
|
---|
88 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
|
---|
89 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
|
---|
90 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
|
---|
91 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
|
---|
92 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
|
---|
93 | NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
|
---|
94 | NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
|
---|
95 | NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
|
---|
96 | NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acct_flags));
|
---|
97 | NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->authenticated));
|
---|
98 | NDR_CHECK(ndr_push_trailer_align(ndr, 4));
|
---|
99 | }
|
---|
100 | if (ndr_flags & NDR_BUFFERS) {
|
---|
101 | }
|
---|
102 | return NDR_ERR_SUCCESS;
|
---|
103 | }
|
---|
104 |
|
---|
105 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info *r)
|
---|
106 | {
|
---|
107 | if (ndr_flags & NDR_SCALARS) {
|
---|
108 | NDR_CHECK(ndr_pull_align(ndr, 4));
|
---|
109 | {
|
---|
110 | uint32_t _flags_save_string = ndr->flags;
|
---|
111 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
112 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->account_name));
|
---|
113 | ndr->flags = _flags_save_string;
|
---|
114 | }
|
---|
115 | {
|
---|
116 | uint32_t _flags_save_string = ndr->flags;
|
---|
117 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
118 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
|
---|
119 | ndr->flags = _flags_save_string;
|
---|
120 | }
|
---|
121 | {
|
---|
122 | uint32_t _flags_save_string = ndr->flags;
|
---|
123 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
124 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->full_name));
|
---|
125 | ndr->flags = _flags_save_string;
|
---|
126 | }
|
---|
127 | {
|
---|
128 | uint32_t _flags_save_string = ndr->flags;
|
---|
129 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
130 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->logon_script));
|
---|
131 | ndr->flags = _flags_save_string;
|
---|
132 | }
|
---|
133 | {
|
---|
134 | uint32_t _flags_save_string = ndr->flags;
|
---|
135 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
136 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->profile_path));
|
---|
137 | ndr->flags = _flags_save_string;
|
---|
138 | }
|
---|
139 | {
|
---|
140 | uint32_t _flags_save_string = ndr->flags;
|
---|
141 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
142 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->home_directory));
|
---|
143 | ndr->flags = _flags_save_string;
|
---|
144 | }
|
---|
145 | {
|
---|
146 | uint32_t _flags_save_string = ndr->flags;
|
---|
147 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
148 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->home_drive));
|
---|
149 | ndr->flags = _flags_save_string;
|
---|
150 | }
|
---|
151 | {
|
---|
152 | uint32_t _flags_save_string = ndr->flags;
|
---|
153 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
154 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->logon_server));
|
---|
155 | ndr->flags = _flags_save_string;
|
---|
156 | }
|
---|
157 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
|
---|
158 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
|
---|
159 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
|
---|
160 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
|
---|
161 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
|
---|
162 | NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
|
---|
163 | NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
|
---|
164 | NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
|
---|
165 | NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acct_flags));
|
---|
166 | NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->authenticated));
|
---|
167 | NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
|
---|
168 | }
|
---|
169 | if (ndr_flags & NDR_BUFFERS) {
|
---|
170 | }
|
---|
171 | return NDR_ERR_SUCCESS;
|
---|
172 | }
|
---|
173 |
|
---|
174 | _PUBLIC_ void ndr_print_auth_user_info(struct ndr_print *ndr, const char *name, const struct auth_user_info *r)
|
---|
175 | {
|
---|
176 | ndr_print_struct(ndr, name, "auth_user_info");
|
---|
177 | if (r == NULL) { ndr_print_null(ndr); return; }
|
---|
178 | ndr->depth++;
|
---|
179 | ndr_print_string(ndr, "account_name", r->account_name);
|
---|
180 | ndr_print_string(ndr, "domain_name", r->domain_name);
|
---|
181 | ndr_print_string(ndr, "full_name", r->full_name);
|
---|
182 | ndr_print_string(ndr, "logon_script", r->logon_script);
|
---|
183 | ndr_print_string(ndr, "profile_path", r->profile_path);
|
---|
184 | ndr_print_string(ndr, "home_directory", r->home_directory);
|
---|
185 | ndr_print_string(ndr, "home_drive", r->home_drive);
|
---|
186 | ndr_print_string(ndr, "logon_server", r->logon_server);
|
---|
187 | ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
|
---|
188 | ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
|
---|
189 | ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
|
---|
190 | ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
|
---|
191 | ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
|
---|
192 | ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
|
---|
193 | ndr_print_uint16(ndr, "logon_count", r->logon_count);
|
---|
194 | ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
|
---|
195 | ndr_print_uint32(ndr, "acct_flags", r->acct_flags);
|
---|
196 | ndr_print_uint8(ndr, "authenticated", r->authenticated);
|
---|
197 | ndr->depth--;
|
---|
198 | }
|
---|
199 |
|
---|
200 | _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_torture(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_torture *r)
|
---|
201 | {
|
---|
202 | uint32_t cntr_dc_sids_0;
|
---|
203 | if (ndr_flags & NDR_SCALARS) {
|
---|
204 | NDR_CHECK(ndr_push_align(ndr, 5));
|
---|
205 | NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_dc_sids));
|
---|
206 | NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_dc_sids));
|
---|
207 | for (cntr_dc_sids_0 = 0; cntr_dc_sids_0 < r->num_dc_sids; cntr_dc_sids_0++) {
|
---|
208 | NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->dc_sids[cntr_dc_sids_0]));
|
---|
209 | }
|
---|
210 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac_srv_sig));
|
---|
211 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac_kdc_sig));
|
---|
212 | NDR_CHECK(ndr_push_trailer_align(ndr, 5));
|
---|
213 | }
|
---|
214 | if (ndr_flags & NDR_BUFFERS) {
|
---|
215 | if (r->pac_srv_sig) {
|
---|
216 | NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, r->pac_srv_sig));
|
---|
217 | }
|
---|
218 | if (r->pac_kdc_sig) {
|
---|
219 | NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, r->pac_kdc_sig));
|
---|
220 | }
|
---|
221 | }
|
---|
222 | return NDR_ERR_SUCCESS;
|
---|
223 | }
|
---|
224 |
|
---|
225 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_torture(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_torture *r)
|
---|
226 | {
|
---|
227 | uint32_t size_dc_sids_0 = 0;
|
---|
228 | uint32_t cntr_dc_sids_0;
|
---|
229 | TALLOC_CTX *_mem_save_dc_sids_0;
|
---|
230 | uint32_t _ptr_pac_srv_sig;
|
---|
231 | TALLOC_CTX *_mem_save_pac_srv_sig_0;
|
---|
232 | uint32_t _ptr_pac_kdc_sig;
|
---|
233 | TALLOC_CTX *_mem_save_pac_kdc_sig_0;
|
---|
234 | if (ndr_flags & NDR_SCALARS) {
|
---|
235 | NDR_CHECK(ndr_pull_align(ndr, 5));
|
---|
236 | NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_dc_sids));
|
---|
237 | NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_sids));
|
---|
238 | size_dc_sids_0 = ndr_get_array_size(ndr, &r->dc_sids);
|
---|
239 | NDR_PULL_ALLOC_N(ndr, r->dc_sids, size_dc_sids_0);
|
---|
240 | _mem_save_dc_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
241 | NDR_PULL_SET_MEM_CTX(ndr, r->dc_sids, 0);
|
---|
242 | for (cntr_dc_sids_0 = 0; cntr_dc_sids_0 < size_dc_sids_0; cntr_dc_sids_0++) {
|
---|
243 | NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->dc_sids[cntr_dc_sids_0]));
|
---|
244 | }
|
---|
245 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_sids_0, 0);
|
---|
246 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac_srv_sig));
|
---|
247 | if (_ptr_pac_srv_sig) {
|
---|
248 | NDR_PULL_ALLOC(ndr, r->pac_srv_sig);
|
---|
249 | } else {
|
---|
250 | r->pac_srv_sig = NULL;
|
---|
251 | }
|
---|
252 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac_kdc_sig));
|
---|
253 | if (_ptr_pac_kdc_sig) {
|
---|
254 | NDR_PULL_ALLOC(ndr, r->pac_kdc_sig);
|
---|
255 | } else {
|
---|
256 | r->pac_kdc_sig = NULL;
|
---|
257 | }
|
---|
258 | if (r->dc_sids) {
|
---|
259 | NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dc_sids, r->num_dc_sids));
|
---|
260 | }
|
---|
261 | NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
|
---|
262 | }
|
---|
263 | if (ndr_flags & NDR_BUFFERS) {
|
---|
264 | if (r->pac_srv_sig) {
|
---|
265 | _mem_save_pac_srv_sig_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
266 | NDR_PULL_SET_MEM_CTX(ndr, r->pac_srv_sig, 0);
|
---|
267 | NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, r->pac_srv_sig));
|
---|
268 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_srv_sig_0, 0);
|
---|
269 | }
|
---|
270 | if (r->pac_kdc_sig) {
|
---|
271 | _mem_save_pac_kdc_sig_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
272 | NDR_PULL_SET_MEM_CTX(ndr, r->pac_kdc_sig, 0);
|
---|
273 | NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, r->pac_kdc_sig));
|
---|
274 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_kdc_sig_0, 0);
|
---|
275 | }
|
---|
276 | }
|
---|
277 | return NDR_ERR_SUCCESS;
|
---|
278 | }
|
---|
279 |
|
---|
280 | _PUBLIC_ void ndr_print_auth_user_info_torture(struct ndr_print *ndr, const char *name, const struct auth_user_info_torture *r)
|
---|
281 | {
|
---|
282 | uint32_t cntr_dc_sids_0;
|
---|
283 | ndr_print_struct(ndr, name, "auth_user_info_torture");
|
---|
284 | if (r == NULL) { ndr_print_null(ndr); return; }
|
---|
285 | ndr->depth++;
|
---|
286 | ndr_print_uint32(ndr, "num_dc_sids", r->num_dc_sids);
|
---|
287 | ndr->print(ndr, "%s: ARRAY(%d)", "dc_sids", (int)r->num_dc_sids);
|
---|
288 | ndr->depth++;
|
---|
289 | for (cntr_dc_sids_0=0;cntr_dc_sids_0<r->num_dc_sids;cntr_dc_sids_0++) {
|
---|
290 | ndr_print_dom_sid(ndr, "dc_sids", &r->dc_sids[cntr_dc_sids_0]);
|
---|
291 | }
|
---|
292 | ndr->depth--;
|
---|
293 | ndr_print_ptr(ndr, "pac_srv_sig", r->pac_srv_sig);
|
---|
294 | ndr->depth++;
|
---|
295 | if (r->pac_srv_sig) {
|
---|
296 | ndr_print_PAC_SIGNATURE_DATA(ndr, "pac_srv_sig", r->pac_srv_sig);
|
---|
297 | }
|
---|
298 | ndr->depth--;
|
---|
299 | ndr_print_ptr(ndr, "pac_kdc_sig", r->pac_kdc_sig);
|
---|
300 | ndr->depth++;
|
---|
301 | if (r->pac_kdc_sig) {
|
---|
302 | ndr_print_PAC_SIGNATURE_DATA(ndr, "pac_kdc_sig", r->pac_kdc_sig);
|
---|
303 | }
|
---|
304 | ndr->depth--;
|
---|
305 | ndr->depth--;
|
---|
306 | }
|
---|
307 |
|
---|
308 | _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_unix(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_unix *r)
|
---|
309 | {
|
---|
310 | if (ndr_flags & NDR_SCALARS) {
|
---|
311 | NDR_CHECK(ndr_push_align(ndr, 4));
|
---|
312 | {
|
---|
313 | uint32_t _flags_save_string = ndr->flags;
|
---|
314 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
315 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unix_name));
|
---|
316 | ndr->flags = _flags_save_string;
|
---|
317 | }
|
---|
318 | {
|
---|
319 | uint32_t _flags_save_string = ndr->flags;
|
---|
320 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
321 | NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sanitized_username));
|
---|
322 | ndr->flags = _flags_save_string;
|
---|
323 | }
|
---|
324 | NDR_CHECK(ndr_push_trailer_align(ndr, 4));
|
---|
325 | }
|
---|
326 | if (ndr_flags & NDR_BUFFERS) {
|
---|
327 | }
|
---|
328 | return NDR_ERR_SUCCESS;
|
---|
329 | }
|
---|
330 |
|
---|
331 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_unix(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_unix *r)
|
---|
332 | {
|
---|
333 | if (ndr_flags & NDR_SCALARS) {
|
---|
334 | NDR_CHECK(ndr_pull_align(ndr, 4));
|
---|
335 | {
|
---|
336 | uint32_t _flags_save_string = ndr->flags;
|
---|
337 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
338 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unix_name));
|
---|
339 | ndr->flags = _flags_save_string;
|
---|
340 | }
|
---|
341 | {
|
---|
342 | uint32_t _flags_save_string = ndr->flags;
|
---|
343 | ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
|
---|
344 | NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sanitized_username));
|
---|
345 | ndr->flags = _flags_save_string;
|
---|
346 | }
|
---|
347 | NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
|
---|
348 | }
|
---|
349 | if (ndr_flags & NDR_BUFFERS) {
|
---|
350 | }
|
---|
351 | return NDR_ERR_SUCCESS;
|
---|
352 | }
|
---|
353 |
|
---|
354 | _PUBLIC_ void ndr_print_auth_user_info_unix(struct ndr_print *ndr, const char *name, const struct auth_user_info_unix *r)
|
---|
355 | {
|
---|
356 | ndr_print_struct(ndr, name, "auth_user_info_unix");
|
---|
357 | if (r == NULL) { ndr_print_null(ndr); return; }
|
---|
358 | ndr->depth++;
|
---|
359 | ndr_print_string(ndr, "unix_name", r->unix_name);
|
---|
360 | ndr_print_string(ndr, "sanitized_username", r->sanitized_username);
|
---|
361 | ndr->depth--;
|
---|
362 | }
|
---|
363 |
|
---|
364 | _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_dc(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_dc *r)
|
---|
365 | {
|
---|
366 | uint32_t cntr_sids_0;
|
---|
367 | if (ndr_flags & NDR_SCALARS) {
|
---|
368 | NDR_CHECK(ndr_push_align(ndr, 5));
|
---|
369 | NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
|
---|
370 | NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
|
---|
371 | for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
|
---|
372 | NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
|
---|
373 | }
|
---|
374 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
|
---|
375 | NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->user_session_key));
|
---|
376 | NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lm_session_key));
|
---|
377 | NDR_CHECK(ndr_push_trailer_align(ndr, 5));
|
---|
378 | }
|
---|
379 | if (ndr_flags & NDR_BUFFERS) {
|
---|
380 | if (r->info) {
|
---|
381 | NDR_CHECK(ndr_push_auth_user_info(ndr, NDR_SCALARS, r->info));
|
---|
382 | }
|
---|
383 | }
|
---|
384 | return NDR_ERR_SUCCESS;
|
---|
385 | }
|
---|
386 |
|
---|
387 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_dc(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_dc *r)
|
---|
388 | {
|
---|
389 | uint32_t size_sids_0 = 0;
|
---|
390 | uint32_t cntr_sids_0;
|
---|
391 | TALLOC_CTX *_mem_save_sids_0;
|
---|
392 | uint32_t _ptr_info;
|
---|
393 | TALLOC_CTX *_mem_save_info_0;
|
---|
394 | if (ndr_flags & NDR_SCALARS) {
|
---|
395 | NDR_CHECK(ndr_pull_align(ndr, 5));
|
---|
396 | NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
|
---|
397 | NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
|
---|
398 | size_sids_0 = ndr_get_array_size(ndr, &r->sids);
|
---|
399 | NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
|
---|
400 | _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
401 | NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
|
---|
402 | for (cntr_sids_0 = 0; cntr_sids_0 < size_sids_0; cntr_sids_0++) {
|
---|
403 | NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
|
---|
404 | }
|
---|
405 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
|
---|
406 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
|
---|
407 | if (_ptr_info) {
|
---|
408 | NDR_PULL_ALLOC(ndr, r->info);
|
---|
409 | } else {
|
---|
410 | r->info = NULL;
|
---|
411 | }
|
---|
412 | NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->user_session_key));
|
---|
413 | NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lm_session_key));
|
---|
414 | if (r->sids) {
|
---|
415 | NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
|
---|
416 | }
|
---|
417 | NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
|
---|
418 | }
|
---|
419 | if (ndr_flags & NDR_BUFFERS) {
|
---|
420 | if (r->info) {
|
---|
421 | _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
422 | NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
|
---|
423 | NDR_CHECK(ndr_pull_auth_user_info(ndr, NDR_SCALARS, r->info));
|
---|
424 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
|
---|
425 | }
|
---|
426 | }
|
---|
427 | return NDR_ERR_SUCCESS;
|
---|
428 | }
|
---|
429 |
|
---|
430 | _PUBLIC_ void ndr_print_auth_user_info_dc(struct ndr_print *ndr, const char *name, const struct auth_user_info_dc *r)
|
---|
431 | {
|
---|
432 | uint32_t cntr_sids_0;
|
---|
433 | ndr_print_struct(ndr, name, "auth_user_info_dc");
|
---|
434 | if (r == NULL) { ndr_print_null(ndr); return; }
|
---|
435 | ndr->depth++;
|
---|
436 | ndr_print_uint32(ndr, "num_sids", r->num_sids);
|
---|
437 | ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
|
---|
438 | ndr->depth++;
|
---|
439 | for (cntr_sids_0=0;cntr_sids_0<r->num_sids;cntr_sids_0++) {
|
---|
440 | ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
|
---|
441 | }
|
---|
442 | ndr->depth--;
|
---|
443 | ndr_print_ptr(ndr, "info", r->info);
|
---|
444 | ndr->depth++;
|
---|
445 | if (r->info) {
|
---|
446 | ndr_print_auth_user_info(ndr, "info", r->info);
|
---|
447 | }
|
---|
448 | ndr->depth--;
|
---|
449 | ndr_print_DATA_BLOB(ndr, "user_session_key", r->user_session_key);
|
---|
450 | ndr_print_DATA_BLOB(ndr, "lm_session_key", r->lm_session_key);
|
---|
451 | ndr->depth--;
|
---|
452 | }
|
---|
453 |
|
---|
454 | _PUBLIC_ enum ndr_err_code ndr_push_auth_session_info_transport(struct ndr_push *ndr, int ndr_flags, const struct auth_session_info_transport *r)
|
---|
455 | {
|
---|
456 | if (ndr_flags & NDR_SCALARS) {
|
---|
457 | NDR_CHECK(ndr_push_align(ndr, 5));
|
---|
458 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->security_token));
|
---|
459 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_token));
|
---|
460 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
|
---|
461 | NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_info));
|
---|
462 | NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->session_key));
|
---|
463 | NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->exported_gssapi_credentials));
|
---|
464 | NDR_CHECK(ndr_push_trailer_align(ndr, 5));
|
---|
465 | }
|
---|
466 | if (ndr_flags & NDR_BUFFERS) {
|
---|
467 | if (r->security_token) {
|
---|
468 | NDR_CHECK(ndr_push_security_token(ndr, NDR_SCALARS, r->security_token));
|
---|
469 | }
|
---|
470 | if (r->unix_token) {
|
---|
471 | NDR_CHECK(ndr_push_security_unix_token(ndr, NDR_SCALARS, r->unix_token));
|
---|
472 | }
|
---|
473 | if (r->info) {
|
---|
474 | NDR_CHECK(ndr_push_auth_user_info(ndr, NDR_SCALARS, r->info));
|
---|
475 | }
|
---|
476 | if (r->unix_info) {
|
---|
477 | NDR_CHECK(ndr_push_auth_user_info_unix(ndr, NDR_SCALARS, r->unix_info));
|
---|
478 | }
|
---|
479 | }
|
---|
480 | return NDR_ERR_SUCCESS;
|
---|
481 | }
|
---|
482 |
|
---|
483 | _PUBLIC_ enum ndr_err_code ndr_pull_auth_session_info_transport(struct ndr_pull *ndr, int ndr_flags, struct auth_session_info_transport *r)
|
---|
484 | {
|
---|
485 | uint32_t _ptr_security_token;
|
---|
486 | TALLOC_CTX *_mem_save_security_token_0;
|
---|
487 | uint32_t _ptr_unix_token;
|
---|
488 | TALLOC_CTX *_mem_save_unix_token_0;
|
---|
489 | uint32_t _ptr_info;
|
---|
490 | TALLOC_CTX *_mem_save_info_0;
|
---|
491 | uint32_t _ptr_unix_info;
|
---|
492 | TALLOC_CTX *_mem_save_unix_info_0;
|
---|
493 | if (ndr_flags & NDR_SCALARS) {
|
---|
494 | NDR_CHECK(ndr_pull_align(ndr, 5));
|
---|
495 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_security_token));
|
---|
496 | if (_ptr_security_token) {
|
---|
497 | NDR_PULL_ALLOC(ndr, r->security_token);
|
---|
498 | } else {
|
---|
499 | r->security_token = NULL;
|
---|
500 | }
|
---|
501 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_token));
|
---|
502 | if (_ptr_unix_token) {
|
---|
503 | NDR_PULL_ALLOC(ndr, r->unix_token);
|
---|
504 | } else {
|
---|
505 | r->unix_token = NULL;
|
---|
506 | }
|
---|
507 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
|
---|
508 | if (_ptr_info) {
|
---|
509 | NDR_PULL_ALLOC(ndr, r->info);
|
---|
510 | } else {
|
---|
511 | r->info = NULL;
|
---|
512 | }
|
---|
513 | NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_info));
|
---|
514 | if (_ptr_unix_info) {
|
---|
515 | NDR_PULL_ALLOC(ndr, r->unix_info);
|
---|
516 | } else {
|
---|
517 | r->unix_info = NULL;
|
---|
518 | }
|
---|
519 | NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->session_key));
|
---|
520 | NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->exported_gssapi_credentials));
|
---|
521 | NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
|
---|
522 | }
|
---|
523 | if (ndr_flags & NDR_BUFFERS) {
|
---|
524 | if (r->security_token) {
|
---|
525 | _mem_save_security_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
526 | NDR_PULL_SET_MEM_CTX(ndr, r->security_token, 0);
|
---|
527 | NDR_CHECK(ndr_pull_security_token(ndr, NDR_SCALARS, r->security_token));
|
---|
528 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_security_token_0, 0);
|
---|
529 | }
|
---|
530 | if (r->unix_token) {
|
---|
531 | _mem_save_unix_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
532 | NDR_PULL_SET_MEM_CTX(ndr, r->unix_token, 0);
|
---|
533 | NDR_CHECK(ndr_pull_security_unix_token(ndr, NDR_SCALARS, r->unix_token));
|
---|
534 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_token_0, 0);
|
---|
535 | }
|
---|
536 | if (r->info) {
|
---|
537 | _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
538 | NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
|
---|
539 | NDR_CHECK(ndr_pull_auth_user_info(ndr, NDR_SCALARS, r->info));
|
---|
540 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
|
---|
541 | }
|
---|
542 | if (r->unix_info) {
|
---|
543 | _mem_save_unix_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
|
---|
544 | NDR_PULL_SET_MEM_CTX(ndr, r->unix_info, 0);
|
---|
545 | NDR_CHECK(ndr_pull_auth_user_info_unix(ndr, NDR_SCALARS, r->unix_info));
|
---|
546 | NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_info_0, 0);
|
---|
547 | }
|
---|
548 | }
|
---|
549 | return NDR_ERR_SUCCESS;
|
---|
550 | }
|
---|
551 |
|
---|
552 | _PUBLIC_ void ndr_print_auth_session_info_transport(struct ndr_print *ndr, const char *name, const struct auth_session_info_transport *r)
|
---|
553 | {
|
---|
554 | ndr_print_struct(ndr, name, "auth_session_info_transport");
|
---|
555 | if (r == NULL) { ndr_print_null(ndr); return; }
|
---|
556 | ndr->depth++;
|
---|
557 | ndr_print_ptr(ndr, "security_token", r->security_token);
|
---|
558 | ndr->depth++;
|
---|
559 | if (r->security_token) {
|
---|
560 | ndr_print_security_token(ndr, "security_token", r->security_token);
|
---|
561 | }
|
---|
562 | ndr->depth--;
|
---|
563 | ndr_print_ptr(ndr, "unix_token", r->unix_token);
|
---|
564 | ndr->depth++;
|
---|
565 | if (r->unix_token) {
|
---|
566 | ndr_print_security_unix_token(ndr, "unix_token", r->unix_token);
|
---|
567 | }
|
---|
568 | ndr->depth--;
|
---|
569 | ndr_print_ptr(ndr, "info", r->info);
|
---|
570 | ndr->depth++;
|
---|
571 | if (r->info) {
|
---|
572 | ndr_print_auth_user_info(ndr, "info", r->info);
|
---|
573 | }
|
---|
574 | ndr->depth--;
|
---|
575 | ndr_print_ptr(ndr, "unix_info", r->unix_info);
|
---|
576 | ndr->depth++;
|
---|
577 | if (r->unix_info) {
|
---|
578 | ndr_print_auth_user_info_unix(ndr, "unix_info", r->unix_info);
|
---|
579 | }
|
---|
580 | ndr->depth--;
|
---|
581 | ndr_print_DATA_BLOB(ndr, "session_key", r->session_key);
|
---|
582 | ndr_print_DATA_BLOB(ndr, "exported_gssapi_credentials", r->exported_gssapi_credentials);
|
---|
583 | ndr->depth--;
|
---|
584 | }
|
---|
585 |
|
---|