LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_winbind.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 1486 3638 40.8 %
Date: 2024-04-21 15:09:00 Functions: 83 144 57.6 %

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

Generated by: LCOV version 1.14