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 recycleplus df22b230 Lines: 1337 3511 38.1 %
Date: 2024-02-14 10:14:15 Functions: 73 141 51.8 %

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

Generated by: LCOV version 1.14