source: vendor/current/source3/librpc/gen_ndr/ndr_auth.c@ 746

Last change on this file since 746 was 746, checked in by Silvan Scherrer, 12 years ago

Samba Server: updated vendor to 3.6.9

File size: 21.8 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.