LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_auth.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 440 717 61.4 %
Date: 2021-09-23 10:06:22 Functions: 8 27 29.6 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_auth.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7             : #include "librpc/gen_ndr/ndr_security.h"
       8             : #include "librpc/gen_ndr/ndr_lsa.h"
       9             : #include "librpc/gen_ndr/ndr_krb5pac.h"
      10           0 : _PUBLIC_ enum ndr_err_code ndr_push_auth_method(struct ndr_push *ndr, int ndr_flags, enum auth_method r)
      11             : {
      12           0 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
      13           0 :         return NDR_ERR_SUCCESS;
      14             : }
      15             : 
      16           0 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_method(struct ndr_pull *ndr, int ndr_flags, enum auth_method *r)
      17             : {
      18             :         uint16_t v;
      19           0 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
      20           0 :         *r = v;
      21           0 :         return NDR_ERR_SUCCESS;
      22             : }
      23             : 
      24           0 : _PUBLIC_ void ndr_print_auth_method(struct ndr_print *ndr, const char *name, enum auth_method r)
      25             : {
      26           0 :         const char *val = NULL;
      27             : 
      28           0 :         switch (r) {
      29           0 :                 case SEC_AUTH_METHOD_UNAUTHENTICATED: val = "SEC_AUTH_METHOD_UNAUTHENTICATED"; break;
      30           0 :                 case SEC_AUTH_METHOD_NTLM: val = "SEC_AUTH_METHOD_NTLM"; break;
      31           0 :                 case SEC_AUTH_METHOD_KERBEROS: val = "SEC_AUTH_METHOD_KERBEROS"; break;
      32             :         }
      33           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
      34           0 : }
      35             : 
      36      211036 : _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info *r)
      37             : {
      38      211036 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      39      211036 :         if (ndr_flags & NDR_SCALARS) {
      40      211036 :                 NDR_CHECK(ndr_push_align(ndr, 5));
      41      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
      42      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_principal_name));
      43      211036 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->user_principal_constructed));
      44      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
      45      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
      46      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->full_name));
      47      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_script));
      48      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->profile_path));
      49      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->home_directory));
      50      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->home_drive));
      51      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_server));
      52      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
      53      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
      54      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
      55      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
      56      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
      57      211036 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
      58      211036 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
      59      211036 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
      60      211036 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acct_flags));
      61      211036 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->authenticated));
      62      211036 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
      63             :         }
      64      211036 :         if (ndr_flags & NDR_BUFFERS) {
      65      211036 :                 if (r->account_name) {
      66      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
      67      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      68      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
      69      211036 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
      70             :                 }
      71      211036 :                 if (r->user_principal_name) {
      72       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_principal_name, CH_UTF8)));
      73       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      74       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_principal_name, CH_UTF8)));
      75       53079 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_principal_name, ndr_charset_length(r->user_principal_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
      76             :                 }
      77      211036 :                 if (r->domain_name) {
      78      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
      79      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      80      211036 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
      81      211036 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
      82             :                 }
      83      211036 :                 if (r->dns_domain_name) {
      84       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF8)));
      85       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      86       53079 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF8)));
      87       53079 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_name, ndr_charset_length(r->dns_domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
      88             :                 }
      89      211036 :                 if (r->full_name) {
      90      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
      91      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      92      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
      93      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->full_name, ndr_charset_length(r->full_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
      94             :                 }
      95      211036 :                 if (r->logon_script) {
      96      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_script, CH_UTF8)));
      97      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      98      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_script, CH_UTF8)));
      99      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_script, ndr_charset_length(r->logon_script, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     100             :                 }
     101      211036 :                 if (r->profile_path) {
     102      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->profile_path, CH_UTF8)));
     103      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     104      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->profile_path, CH_UTF8)));
     105      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->profile_path, ndr_charset_length(r->profile_path, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     106             :                 }
     107      211036 :                 if (r->home_directory) {
     108      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->home_directory, CH_UTF8)));
     109      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     110      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->home_directory, CH_UTF8)));
     111      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->home_directory, ndr_charset_length(r->home_directory, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     112             :                 }
     113      211036 :                 if (r->home_drive) {
     114      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->home_drive, CH_UTF8)));
     115      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     116      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->home_drive, CH_UTF8)));
     117      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->home_drive, ndr_charset_length(r->home_drive, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     118             :                 }
     119      211036 :                 if (r->logon_server) {
     120      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF8)));
     121      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     122      210386 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF8)));
     123      210386 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_server, ndr_charset_length(r->logon_server, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     124             :                 }
     125             :         }
     126      206851 :         return NDR_ERR_SUCCESS;
     127             : }
     128             : 
     129      146618 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info *r)
     130             : {
     131             :         uint32_t _ptr_account_name;
     132      146618 :         uint32_t size_account_name_1 = 0;
     133      146618 :         uint32_t length_account_name_1 = 0;
     134      146618 :         TALLOC_CTX *_mem_save_account_name_0 = NULL;
     135             :         uint32_t _ptr_user_principal_name;
     136      146618 :         uint32_t size_user_principal_name_1 = 0;
     137      146618 :         uint32_t length_user_principal_name_1 = 0;
     138      146618 :         TALLOC_CTX *_mem_save_user_principal_name_0 = NULL;
     139             :         uint32_t _ptr_domain_name;
     140      146618 :         uint32_t size_domain_name_1 = 0;
     141      146618 :         uint32_t length_domain_name_1 = 0;
     142      146618 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
     143             :         uint32_t _ptr_dns_domain_name;
     144      146618 :         uint32_t size_dns_domain_name_1 = 0;
     145      146618 :         uint32_t length_dns_domain_name_1 = 0;
     146      146618 :         TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
     147             :         uint32_t _ptr_full_name;
     148      146618 :         uint32_t size_full_name_1 = 0;
     149      146618 :         uint32_t length_full_name_1 = 0;
     150      146618 :         TALLOC_CTX *_mem_save_full_name_0 = NULL;
     151             :         uint32_t _ptr_logon_script;
     152      146618 :         uint32_t size_logon_script_1 = 0;
     153      146618 :         uint32_t length_logon_script_1 = 0;
     154      146618 :         TALLOC_CTX *_mem_save_logon_script_0 = NULL;
     155             :         uint32_t _ptr_profile_path;
     156      146618 :         uint32_t size_profile_path_1 = 0;
     157      146618 :         uint32_t length_profile_path_1 = 0;
     158      146618 :         TALLOC_CTX *_mem_save_profile_path_0 = NULL;
     159             :         uint32_t _ptr_home_directory;
     160      146618 :         uint32_t size_home_directory_1 = 0;
     161      146618 :         uint32_t length_home_directory_1 = 0;
     162      146618 :         TALLOC_CTX *_mem_save_home_directory_0 = NULL;
     163             :         uint32_t _ptr_home_drive;
     164      146618 :         uint32_t size_home_drive_1 = 0;
     165      146618 :         uint32_t length_home_drive_1 = 0;
     166      146618 :         TALLOC_CTX *_mem_save_home_drive_0 = NULL;
     167             :         uint32_t _ptr_logon_server;
     168      146618 :         uint32_t size_logon_server_1 = 0;
     169      146618 :         uint32_t length_logon_server_1 = 0;
     170      146618 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
     171      146618 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     172      146618 :         if (ndr_flags & NDR_SCALARS) {
     173      146618 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     174      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
     175      146618 :                 if (_ptr_account_name) {
     176      146618 :                         NDR_PULL_ALLOC(ndr, r->account_name);
     177             :                 } else {
     178           0 :                         r->account_name = NULL;
     179             :                 }
     180      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_principal_name));
     181      146618 :                 if (_ptr_user_principal_name) {
     182       29652 :                         NDR_PULL_ALLOC(ndr, r->user_principal_name);
     183             :                 } else {
     184      116966 :                         r->user_principal_name = NULL;
     185             :                 }
     186      146618 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->user_principal_constructed));
     187      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
     188      146618 :                 if (_ptr_domain_name) {
     189      146618 :                         NDR_PULL_ALLOC(ndr, r->domain_name);
     190             :                 } else {
     191           0 :                         r->domain_name = NULL;
     192             :                 }
     193      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
     194      146618 :                 if (_ptr_dns_domain_name) {
     195       29652 :                         NDR_PULL_ALLOC(ndr, r->dns_domain_name);
     196             :                 } else {
     197      116966 :                         r->dns_domain_name = NULL;
     198             :                 }
     199      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_full_name));
     200      146618 :                 if (_ptr_full_name) {
     201      145987 :                         NDR_PULL_ALLOC(ndr, r->full_name);
     202             :                 } else {
     203         631 :                         r->full_name = NULL;
     204             :                 }
     205      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_script));
     206      146618 :                 if (_ptr_logon_script) {
     207      145987 :                         NDR_PULL_ALLOC(ndr, r->logon_script);
     208             :                 } else {
     209         631 :                         r->logon_script = NULL;
     210             :                 }
     211      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_profile_path));
     212      146618 :                 if (_ptr_profile_path) {
     213      145987 :                         NDR_PULL_ALLOC(ndr, r->profile_path);
     214             :                 } else {
     215         631 :                         r->profile_path = NULL;
     216             :                 }
     217      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_home_directory));
     218      146618 :                 if (_ptr_home_directory) {
     219      145987 :                         NDR_PULL_ALLOC(ndr, r->home_directory);
     220             :                 } else {
     221         631 :                         r->home_directory = NULL;
     222             :                 }
     223      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_home_drive));
     224      146618 :                 if (_ptr_home_drive) {
     225      145987 :                         NDR_PULL_ALLOC(ndr, r->home_drive);
     226             :                 } else {
     227         631 :                         r->home_drive = NULL;
     228             :                 }
     229      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
     230      146618 :                 if (_ptr_logon_server) {
     231      145987 :                         NDR_PULL_ALLOC(ndr, r->logon_server);
     232             :                 } else {
     233         631 :                         r->logon_server = NULL;
     234             :                 }
     235      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
     236      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
     237      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
     238      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
     239      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
     240      146618 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
     241      146618 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
     242      146618 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
     243      146618 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acct_flags));
     244      146618 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->authenticated));
     245      146618 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     246             :         }
     247      146618 :         if (ndr_flags & NDR_BUFFERS) {
     248      146618 :                 if (r->account_name) {
     249      146618 :                         _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     250      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
     251      146618 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
     252      146618 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
     253      146618 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->account_name, &size_account_name_1));
     254      146618 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->account_name, &length_account_name_1));
     255      146618 :                         if (length_account_name_1 > size_account_name_1) {
     256           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
     257             :                         }
     258      146618 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint8_t)));
     259      146618 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint8_t), CH_UTF8));
     260      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
     261             :                 }
     262      146618 :                 if (r->user_principal_name) {
     263       29652 :                         _mem_save_user_principal_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     264       29652 :                         NDR_PULL_SET_MEM_CTX(ndr, r->user_principal_name, 0);
     265       29652 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->user_principal_name));
     266       29652 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->user_principal_name));
     267       29652 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->user_principal_name, &size_user_principal_name_1));
     268       29652 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->user_principal_name, &length_user_principal_name_1));
     269       29652 :                         if (length_user_principal_name_1 > size_user_principal_name_1) {
     270           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_principal_name_1, length_user_principal_name_1);
     271             :                         }
     272       29652 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_user_principal_name_1, sizeof(uint8_t)));
     273       29652 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_principal_name, length_user_principal_name_1, sizeof(uint8_t), CH_UTF8));
     274       29652 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_principal_name_0, 0);
     275             :                 }
     276      146618 :                 if (r->domain_name) {
     277      146618 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     278      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
     279      146618 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
     280      146618 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
     281      146618 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
     282      146618 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
     283      146618 :                         if (length_domain_name_1 > size_domain_name_1) {
     284           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);
     285             :                         }
     286      146618 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
     287      146618 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
     288      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
     289             :                 }
     290      146618 :                 if (r->dns_domain_name) {
     291       29652 :                         _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     292       29652 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
     293       29652 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
     294       29652 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
     295       29652 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_domain_name, &size_dns_domain_name_1));
     296       29652 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_domain_name, &length_dns_domain_name_1));
     297       29652 :                         if (length_dns_domain_name_1 > size_dns_domain_name_1) {
     298           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_name_1, length_dns_domain_name_1);
     299             :                         }
     300       29652 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_name_1, sizeof(uint8_t)));
     301       29652 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, length_dns_domain_name_1, sizeof(uint8_t), CH_UTF8));
     302       29652 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
     303             :                 }
     304      146618 :                 if (r->full_name) {
     305      145987 :                         _mem_save_full_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     306      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->full_name, 0);
     307      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->full_name));
     308      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->full_name));
     309      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->full_name, &size_full_name_1));
     310      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->full_name, &length_full_name_1));
     311      145987 :                         if (length_full_name_1 > size_full_name_1) {
     312           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);
     313             :                         }
     314      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_full_name_1, sizeof(uint8_t)));
     315      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->full_name, length_full_name_1, sizeof(uint8_t), CH_UTF8));
     316      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_full_name_0, 0);
     317             :                 }
     318      146618 :                 if (r->logon_script) {
     319      145987 :                         _mem_save_logon_script_0 = NDR_PULL_GET_MEM_CTX(ndr);
     320      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->logon_script, 0);
     321      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_script));
     322      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_script));
     323      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->logon_script, &size_logon_script_1));
     324      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->logon_script, &length_logon_script_1));
     325      145987 :                         if (length_logon_script_1 > size_logon_script_1) {
     326           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_script_1, length_logon_script_1);
     327             :                         }
     328      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_script_1, sizeof(uint8_t)));
     329      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_script, length_logon_script_1, sizeof(uint8_t), CH_UTF8));
     330      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_script_0, 0);
     331             :                 }
     332      146618 :                 if (r->profile_path) {
     333      145987 :                         _mem_save_profile_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
     334      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->profile_path, 0);
     335      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->profile_path));
     336      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->profile_path));
     337      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->profile_path, &size_profile_path_1));
     338      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->profile_path, &length_profile_path_1));
     339      145987 :                         if (length_profile_path_1 > size_profile_path_1) {
     340           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_profile_path_1, length_profile_path_1);
     341             :                         }
     342      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_profile_path_1, sizeof(uint8_t)));
     343      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->profile_path, length_profile_path_1, sizeof(uint8_t), CH_UTF8));
     344      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_profile_path_0, 0);
     345             :                 }
     346      146618 :                 if (r->home_directory) {
     347      145987 :                         _mem_save_home_directory_0 = NDR_PULL_GET_MEM_CTX(ndr);
     348      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->home_directory, 0);
     349      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->home_directory));
     350      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->home_directory));
     351      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->home_directory, &size_home_directory_1));
     352      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->home_directory, &length_home_directory_1));
     353      145987 :                         if (length_home_directory_1 > size_home_directory_1) {
     354           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_home_directory_1, length_home_directory_1);
     355             :                         }
     356      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_home_directory_1, sizeof(uint8_t)));
     357      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->home_directory, length_home_directory_1, sizeof(uint8_t), CH_UTF8));
     358      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_home_directory_0, 0);
     359             :                 }
     360      146618 :                 if (r->home_drive) {
     361      145987 :                         _mem_save_home_drive_0 = NDR_PULL_GET_MEM_CTX(ndr);
     362      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->home_drive, 0);
     363      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->home_drive));
     364      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->home_drive));
     365      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->home_drive, &size_home_drive_1));
     366      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->home_drive, &length_home_drive_1));
     367      145987 :                         if (length_home_drive_1 > size_home_drive_1) {
     368           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_home_drive_1, length_home_drive_1);
     369             :                         }
     370      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_home_drive_1, sizeof(uint8_t)));
     371      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->home_drive, length_home_drive_1, sizeof(uint8_t), CH_UTF8));
     372      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_home_drive_0, 0);
     373             :                 }
     374      146618 :                 if (r->logon_server) {
     375      145987 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
     376      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, r->logon_server, 0);
     377      145987 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_server));
     378      145987 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_server));
     379      145987 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->logon_server, &size_logon_server_1));
     380      145987 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->logon_server, &length_logon_server_1));
     381      145987 :                         if (length_logon_server_1 > size_logon_server_1) {
     382           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
     383             :                         }
     384      145987 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint8_t)));
     385      145987 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_server, length_logon_server_1, sizeof(uint8_t), CH_UTF8));
     386      145987 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
     387             :                 }
     388             :         }
     389      144099 :         return NDR_ERR_SUCCESS;
     390             : }
     391             : 
     392           0 : static void ndr_print_flags_auth_user_info(struct ndr_print *ndr, const char *name, int unused, const struct auth_user_info *r)
     393             : {
     394           0 :         ndr_print_auth_user_info(ndr, name, r);
     395           0 : }
     396             : 
     397           0 : _PUBLIC_ void ndr_print_auth_user_info(struct ndr_print *ndr, const char *name, const struct auth_user_info *r)
     398             : {
     399           0 :         ndr_print_struct(ndr, name, "auth_user_info");
     400           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     401           0 :         ndr->depth++;
     402           0 :         ndr_print_ptr(ndr, "account_name", r->account_name);
     403           0 :         ndr->depth++;
     404           0 :         if (r->account_name) {
     405           0 :                 ndr_print_string(ndr, "account_name", r->account_name);
     406             :         }
     407           0 :         ndr->depth--;
     408           0 :         ndr_print_ptr(ndr, "user_principal_name", r->user_principal_name);
     409           0 :         ndr->depth++;
     410           0 :         if (r->user_principal_name) {
     411           0 :                 ndr_print_string(ndr, "user_principal_name", r->user_principal_name);
     412             :         }
     413           0 :         ndr->depth--;
     414           0 :         ndr_print_uint8(ndr, "user_principal_constructed", r->user_principal_constructed);
     415           0 :         ndr_print_ptr(ndr, "domain_name", r->domain_name);
     416           0 :         ndr->depth++;
     417           0 :         if (r->domain_name) {
     418           0 :                 ndr_print_string(ndr, "domain_name", r->domain_name);
     419             :         }
     420           0 :         ndr->depth--;
     421           0 :         ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
     422           0 :         ndr->depth++;
     423           0 :         if (r->dns_domain_name) {
     424           0 :                 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
     425             :         }
     426           0 :         ndr->depth--;
     427           0 :         ndr_print_ptr(ndr, "full_name", r->full_name);
     428           0 :         ndr->depth++;
     429           0 :         if (r->full_name) {
     430           0 :                 ndr_print_string(ndr, "full_name", r->full_name);
     431             :         }
     432           0 :         ndr->depth--;
     433           0 :         ndr_print_ptr(ndr, "logon_script", r->logon_script);
     434           0 :         ndr->depth++;
     435           0 :         if (r->logon_script) {
     436           0 :                 ndr_print_string(ndr, "logon_script", r->logon_script);
     437             :         }
     438           0 :         ndr->depth--;
     439           0 :         ndr_print_ptr(ndr, "profile_path", r->profile_path);
     440           0 :         ndr->depth++;
     441           0 :         if (r->profile_path) {
     442           0 :                 ndr_print_string(ndr, "profile_path", r->profile_path);
     443             :         }
     444           0 :         ndr->depth--;
     445           0 :         ndr_print_ptr(ndr, "home_directory", r->home_directory);
     446           0 :         ndr->depth++;
     447           0 :         if (r->home_directory) {
     448           0 :                 ndr_print_string(ndr, "home_directory", r->home_directory);
     449             :         }
     450           0 :         ndr->depth--;
     451           0 :         ndr_print_ptr(ndr, "home_drive", r->home_drive);
     452           0 :         ndr->depth++;
     453           0 :         if (r->home_drive) {
     454           0 :                 ndr_print_string(ndr, "home_drive", r->home_drive);
     455             :         }
     456           0 :         ndr->depth--;
     457           0 :         ndr_print_ptr(ndr, "logon_server", r->logon_server);
     458           0 :         ndr->depth++;
     459           0 :         if (r->logon_server) {
     460           0 :                 ndr_print_string(ndr, "logon_server", r->logon_server);
     461             :         }
     462           0 :         ndr->depth--;
     463           0 :         ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
     464           0 :         ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
     465           0 :         ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
     466           0 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
     467           0 :         ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
     468           0 :         ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
     469           0 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
     470           0 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
     471           0 :         ndr_print_uint32(ndr, "acct_flags", r->acct_flags);
     472           0 :         ndr_print_uint8(ndr, "authenticated", r->authenticated);
     473           0 :         ndr->depth--;
     474             : }
     475             : 
     476           0 : _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_torture(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_torture *r)
     477             : {
     478             :         uint32_t cntr_dc_sids_0;
     479           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     480           0 :         if (ndr_flags & NDR_SCALARS) {
     481           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_dc_sids));
     482           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     483           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_dc_sids));
     484           0 :                 for (cntr_dc_sids_0 = 0; cntr_dc_sids_0 < (r->num_dc_sids); cntr_dc_sids_0++) {
     485           0 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->dc_sids[cntr_dc_sids_0]));
     486             :                 }
     487           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     488             :         }
     489           0 :         if (ndr_flags & NDR_BUFFERS) {
     490             :         }
     491           0 :         return NDR_ERR_SUCCESS;
     492             : }
     493             : 
     494           0 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_torture(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_torture *r)
     495             : {
     496           0 :         uint32_t size_dc_sids_0 = 0;
     497             :         uint32_t cntr_dc_sids_0;
     498           0 :         TALLOC_CTX *_mem_save_dc_sids_0 = NULL;
     499           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     500           0 :         if (ndr_flags & NDR_SCALARS) {
     501           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_sids));
     502           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     503           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_dc_sids));
     504           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->dc_sids, &size_dc_sids_0));
     505           0 :                 NDR_PULL_ALLOC_N(ndr, r->dc_sids, size_dc_sids_0);
     506           0 :                 _mem_save_dc_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
     507           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->dc_sids, 0);
     508           0 :                 for (cntr_dc_sids_0 = 0; cntr_dc_sids_0 < (size_dc_sids_0); cntr_dc_sids_0++) {
     509           0 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->dc_sids[cntr_dc_sids_0]));
     510             :                 }
     511           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_sids_0, 0);
     512           0 :                 if (r->dc_sids) {
     513           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->dc_sids, r->num_dc_sids));
     514             :                 }
     515           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     516             :         }
     517           0 :         if (ndr_flags & NDR_BUFFERS) {
     518             :         }
     519           0 :         return NDR_ERR_SUCCESS;
     520             : }
     521             : 
     522           0 : static void ndr_print_flags_auth_user_info_torture(struct ndr_print *ndr, const char *name, int unused, const struct auth_user_info_torture *r)
     523             : {
     524           0 :         ndr_print_auth_user_info_torture(ndr, name, r);
     525           0 : }
     526             : 
     527           0 : _PUBLIC_ void ndr_print_auth_user_info_torture(struct ndr_print *ndr, const char *name, const struct auth_user_info_torture *r)
     528             : {
     529             :         uint32_t cntr_dc_sids_0;
     530           0 :         ndr_print_struct(ndr, name, "auth_user_info_torture");
     531           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     532           0 :         ndr->depth++;
     533           0 :         ndr_print_uint32(ndr, "num_dc_sids", r->num_dc_sids);
     534           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "dc_sids", (int)r->num_dc_sids);
     535           0 :         ndr->depth++;
     536           0 :         for (cntr_dc_sids_0 = 0; cntr_dc_sids_0 < (r->num_dc_sids); cntr_dc_sids_0++) {
     537           0 :                 ndr_print_dom_sid(ndr, "dc_sids", &r->dc_sids[cntr_dc_sids_0]);
     538             :         }
     539           0 :         ndr->depth--;
     540           0 :         ndr->depth--;
     541             : }
     542             : 
     543      207216 : _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_unix(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_unix *r)
     544             : {
     545      207216 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     546      207216 :         if (ndr_flags & NDR_SCALARS) {
     547      207216 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     548      207216 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_name));
     549      207216 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sanitized_username));
     550      207216 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     551             :         }
     552      207216 :         if (ndr_flags & NDR_BUFFERS) {
     553      207216 :                 if (r->unix_name) {
     554      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unix_name, CH_UTF8)));
     555      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     556      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unix_name, CH_UTF8)));
     557      207216 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unix_name, ndr_charset_length(r->unix_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     558             :                 }
     559      207216 :                 if (r->sanitized_username) {
     560      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sanitized_username, CH_UTF8)));
     561      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     562      207216 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sanitized_username, CH_UTF8)));
     563      207216 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sanitized_username, ndr_charset_length(r->sanitized_username, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     564             :                 }
     565             :         }
     566      203121 :         return NDR_ERR_SUCCESS;
     567             : }
     568             : 
     569      144387 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_unix(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_unix *r)
     570             : {
     571             :         uint32_t _ptr_unix_name;
     572      144387 :         uint32_t size_unix_name_1 = 0;
     573      144387 :         uint32_t length_unix_name_1 = 0;
     574      144387 :         TALLOC_CTX *_mem_save_unix_name_0 = NULL;
     575             :         uint32_t _ptr_sanitized_username;
     576      144387 :         uint32_t size_sanitized_username_1 = 0;
     577      144387 :         uint32_t length_sanitized_username_1 = 0;
     578      144387 :         TALLOC_CTX *_mem_save_sanitized_username_0 = NULL;
     579      144387 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     580      144387 :         if (ndr_flags & NDR_SCALARS) {
     581      144387 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     582      144387 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_name));
     583      144387 :                 if (_ptr_unix_name) {
     584      144387 :                         NDR_PULL_ALLOC(ndr, r->unix_name);
     585             :                 } else {
     586           0 :                         r->unix_name = NULL;
     587             :                 }
     588      144387 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sanitized_username));
     589      144387 :                 if (_ptr_sanitized_username) {
     590      144387 :                         NDR_PULL_ALLOC(ndr, r->sanitized_username);
     591             :                 } else {
     592           0 :                         r->sanitized_username = NULL;
     593             :                 }
     594      144387 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     595             :         }
     596      144387 :         if (ndr_flags & NDR_BUFFERS) {
     597      144387 :                 if (r->unix_name) {
     598      144387 :                         _mem_save_unix_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     599      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, r->unix_name, 0);
     600      144387 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->unix_name));
     601      144387 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->unix_name));
     602      144387 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->unix_name, &size_unix_name_1));
     603      144387 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->unix_name, &length_unix_name_1));
     604      144387 :                         if (length_unix_name_1 > size_unix_name_1) {
     605           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unix_name_1, length_unix_name_1);
     606             :                         }
     607      144387 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_unix_name_1, sizeof(uint8_t)));
     608      144387 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unix_name, length_unix_name_1, sizeof(uint8_t), CH_UTF8));
     609      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_name_0, 0);
     610             :                 }
     611      144387 :                 if (r->sanitized_username) {
     612      144387 :                         _mem_save_sanitized_username_0 = NDR_PULL_GET_MEM_CTX(ndr);
     613      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sanitized_username, 0);
     614      144387 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sanitized_username));
     615      144387 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->sanitized_username));
     616      144387 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->sanitized_username, &size_sanitized_username_1));
     617      144387 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->sanitized_username, &length_sanitized_username_1));
     618      144387 :                         if (length_sanitized_username_1 > size_sanitized_username_1) {
     619           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sanitized_username_1, length_sanitized_username_1);
     620             :                         }
     621      144387 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_sanitized_username_1, sizeof(uint8_t)));
     622      144387 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sanitized_username, length_sanitized_username_1, sizeof(uint8_t), CH_UTF8));
     623      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sanitized_username_0, 0);
     624             :                 }
     625             :         }
     626      141958 :         return NDR_ERR_SUCCESS;
     627             : }
     628             : 
     629           0 : static void ndr_print_flags_auth_user_info_unix(struct ndr_print *ndr, const char *name, int unused, const struct auth_user_info_unix *r)
     630             : {
     631           0 :         ndr_print_auth_user_info_unix(ndr, name, r);
     632           0 : }
     633             : 
     634           0 : _PUBLIC_ void ndr_print_auth_user_info_unix(struct ndr_print *ndr, const char *name, const struct auth_user_info_unix *r)
     635             : {
     636           0 :         ndr_print_struct(ndr, name, "auth_user_info_unix");
     637           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     638           0 :         ndr->depth++;
     639           0 :         ndr_print_ptr(ndr, "unix_name", r->unix_name);
     640           0 :         ndr->depth++;
     641           0 :         if (r->unix_name) {
     642           0 :                 ndr_print_string(ndr, "unix_name", r->unix_name);
     643             :         }
     644           0 :         ndr->depth--;
     645           0 :         ndr_print_ptr(ndr, "sanitized_username", r->sanitized_username);
     646           0 :         ndr->depth++;
     647           0 :         if (r->sanitized_username) {
     648           0 :                 ndr_print_string(ndr, "sanitized_username", r->sanitized_username);
     649             :         }
     650           0 :         ndr->depth--;
     651           0 :         ndr->depth--;
     652             : }
     653             : 
     654           0 : _PUBLIC_ enum ndr_err_code ndr_push_auth_user_info_dc(struct ndr_push *ndr, int ndr_flags, const struct auth_user_info_dc *r)
     655             : {
     656             :         uint32_t cntr_sids_0;
     657           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     658           0 :         if (ndr_flags & NDR_SCALARS) {
     659           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     660           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
     661           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
     662           0 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
     663           0 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
     664             :                 }
     665           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
     666           0 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->user_session_key));
     667           0 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lm_session_key));
     668           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     669             :         }
     670           0 :         if (ndr_flags & NDR_BUFFERS) {
     671           0 :                 if (r->info) {
     672           0 :                         NDR_CHECK(ndr_push_auth_user_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
     673             :                 }
     674             :         }
     675           0 :         return NDR_ERR_SUCCESS;
     676             : }
     677             : 
     678           0 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_user_info_dc(struct ndr_pull *ndr, int ndr_flags, struct auth_user_info_dc *r)
     679             : {
     680           0 :         uint32_t size_sids_0 = 0;
     681             :         uint32_t cntr_sids_0;
     682           0 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
     683             :         uint32_t _ptr_info;
     684           0 :         TALLOC_CTX *_mem_save_info_0 = NULL;
     685           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     686           0 :         if (ndr_flags & NDR_SCALARS) {
     687           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     688           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
     689           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
     690           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
     691           0 :                 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
     692           0 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
     693           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
     694           0 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
     695           0 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
     696             :                 }
     697           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
     698           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
     699           0 :                 if (_ptr_info) {
     700           0 :                         NDR_PULL_ALLOC(ndr, r->info);
     701             :                 } else {
     702           0 :                         r->info = NULL;
     703             :                 }
     704           0 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->user_session_key));
     705           0 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lm_session_key));
     706           0 :                 if (r->sids) {
     707           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
     708             :                 }
     709           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     710             :         }
     711           0 :         if (ndr_flags & NDR_BUFFERS) {
     712           0 :                 if (r->info) {
     713           0 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
     714           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
     715           0 :                         NDR_CHECK(ndr_pull_auth_user_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
     716           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
     717             :                 }
     718             :         }
     719           0 :         return NDR_ERR_SUCCESS;
     720             : }
     721             : 
     722           0 : static void ndr_print_flags_auth_user_info_dc(struct ndr_print *ndr, const char *name, int unused, const struct auth_user_info_dc *r)
     723             : {
     724           0 :         ndr_print_auth_user_info_dc(ndr, name, r);
     725           0 : }
     726             : 
     727           0 : _PUBLIC_ void ndr_print_auth_user_info_dc(struct ndr_print *ndr, const char *name, const struct auth_user_info_dc *r)
     728             : {
     729             :         uint32_t cntr_sids_0;
     730           0 :         ndr_print_struct(ndr, name, "auth_user_info_dc");
     731           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     732           0 :         ndr->depth++;
     733           0 :         ndr_print_uint32(ndr, "num_sids", r->num_sids);
     734           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
     735           0 :         ndr->depth++;
     736           0 :         for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
     737           0 :                 ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
     738             :         }
     739           0 :         ndr->depth--;
     740           0 :         ndr_print_ptr(ndr, "info", r->info);
     741           0 :         ndr->depth++;
     742           0 :         if (r->info) {
     743           0 :                 ndr_print_auth_user_info(ndr, "info", r->info);
     744             :         }
     745           0 :         ndr->depth--;
     746           0 :         ndr->depth--;
     747             : }
     748             : 
     749      211036 : _PUBLIC_ enum ndr_err_code ndr_push_auth_session_info(struct ndr_push *ndr, int ndr_flags, const struct auth_session_info *r)
     750             : {
     751      211036 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     752      211036 :         if (ndr_flags & NDR_SCALARS) {
     753      211036 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     754      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->security_token));
     755      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_token));
     756      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
     757      211036 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_info));
     758      211036 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     759             :                 /* [ignore] 'torture' */
     760      211036 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->session_key));
     761      211036 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     762             :                 /* [ignore] 'credentials' */
     763      211036 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->unique_session_token));
     764      211036 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     765             :         }
     766      211036 :         if (ndr_flags & NDR_BUFFERS) {
     767      211036 :                 if (r->security_token) {
     768      211036 :                         NDR_CHECK(ndr_push_security_token(ndr, NDR_SCALARS, r->security_token));
     769             :                 }
     770      211036 :                 if (r->unix_token) {
     771      207216 :                         NDR_CHECK(ndr_push_security_unix_token(ndr, NDR_SCALARS, r->unix_token));
     772             :                 }
     773      211036 :                 if (r->info) {
     774      211036 :                         NDR_CHECK(ndr_push_auth_user_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
     775             :                 }
     776      211036 :                 if (r->unix_info) {
     777      207216 :                         NDR_CHECK(ndr_push_auth_user_info_unix(ndr, NDR_SCALARS|NDR_BUFFERS, r->unix_info));
     778             :                 }
     779             :                 /* [ignore] 'torture' */
     780             :                 /* [ignore] 'credentials' */
     781             :         }
     782      206851 :         return NDR_ERR_SUCCESS;
     783             : }
     784             : 
     785      146618 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_session_info(struct ndr_pull *ndr, int ndr_flags, struct auth_session_info *r)
     786             : {
     787             :         uint32_t _ptr_security_token;
     788      146618 :         TALLOC_CTX *_mem_save_security_token_0 = NULL;
     789             :         uint32_t _ptr_unix_token;
     790      146618 :         TALLOC_CTX *_mem_save_unix_token_0 = NULL;
     791             :         uint32_t _ptr_info;
     792      146618 :         TALLOC_CTX *_mem_save_info_0 = NULL;
     793             :         uint32_t _ptr_unix_info;
     794      146618 :         TALLOC_CTX *_mem_save_unix_info_0 = NULL;
     795             :         uint32_t _ptr_torture;
     796             :         uint32_t _ptr_credentials;
     797      146618 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     798      146618 :         if (ndr_flags & NDR_SCALARS) {
     799      146618 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     800      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_security_token));
     801      146618 :                 if (_ptr_security_token) {
     802      146618 :                         NDR_PULL_ALLOC(ndr, r->security_token);
     803             :                 } else {
     804           0 :                         r->security_token = NULL;
     805             :                 }
     806      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_token));
     807      146618 :                 if (_ptr_unix_token) {
     808      144387 :                         NDR_PULL_ALLOC(ndr, r->unix_token);
     809             :                 } else {
     810        2231 :                         r->unix_token = NULL;
     811             :                 }
     812      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
     813      146618 :                 if (_ptr_info) {
     814      146618 :                         NDR_PULL_ALLOC(ndr, r->info);
     815             :                 } else {
     816           0 :                         r->info = NULL;
     817             :                 }
     818      146618 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_info));
     819      146618 :                 if (_ptr_unix_info) {
     820      144387 :                         NDR_PULL_ALLOC(ndr, r->unix_info);
     821             :                 } else {
     822        2231 :                         r->unix_info = NULL;
     823             :                 }
     824      146618 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_torture));
     825      146618 :                 _ptr_torture = 0;
     826      144099 :                 if (_ptr_torture) {
     827             :                 } else {
     828      146618 :                         r->torture = NULL;
     829             :                 }
     830             :                 /* [ignore] 'torture' */
     831      146618 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->session_key));
     832      146618 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_credentials));
     833      146618 :                 _ptr_credentials = 0;
     834      144099 :                 if (_ptr_credentials) {
     835             :                 } else {
     836      146618 :                         r->credentials = NULL;
     837             :                 }
     838             :                 /* [ignore] 'credentials' */
     839      146618 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->unique_session_token));
     840      146618 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     841             :         }
     842      146618 :         if (ndr_flags & NDR_BUFFERS) {
     843      146618 :                 if (r->security_token) {
     844      146618 :                         _mem_save_security_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
     845      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, r->security_token, 0);
     846      146618 :                         NDR_CHECK(ndr_pull_security_token(ndr, NDR_SCALARS, r->security_token));
     847      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_security_token_0, 0);
     848             :                 }
     849      146618 :                 if (r->unix_token) {
     850      144387 :                         _mem_save_unix_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
     851      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, r->unix_token, 0);
     852      144387 :                         NDR_CHECK(ndr_pull_security_unix_token(ndr, NDR_SCALARS, r->unix_token));
     853      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_token_0, 0);
     854             :                 }
     855      146618 :                 if (r->info) {
     856      146618 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
     857      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
     858      146618 :                         NDR_CHECK(ndr_pull_auth_user_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
     859      146618 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
     860             :                 }
     861      146618 :                 if (r->unix_info) {
     862      144387 :                         _mem_save_unix_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
     863      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, r->unix_info, 0);
     864      144387 :                         NDR_CHECK(ndr_pull_auth_user_info_unix(ndr, NDR_SCALARS|NDR_BUFFERS, r->unix_info));
     865      144387 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_info_0, 0);
     866             :                 }
     867             :                 /* [ignore] 'torture' */
     868             :                 /* [ignore] 'credentials' */
     869             :         }
     870      144099 :         return NDR_ERR_SUCCESS;
     871             : }
     872             : 
     873           0 : static void ndr_print_flags_auth_session_info(struct ndr_print *ndr, const char *name, int unused, const struct auth_session_info *r)
     874             : {
     875           0 :         ndr_print_auth_session_info(ndr, name, r);
     876           0 : }
     877             : 
     878           0 : _PUBLIC_ void ndr_print_auth_session_info(struct ndr_print *ndr, const char *name, const struct auth_session_info *r)
     879             : {
     880           0 :         ndr_print_struct(ndr, name, "auth_session_info");
     881           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     882           0 :         ndr->depth++;
     883           0 :         ndr_print_ptr(ndr, "security_token", r->security_token);
     884           0 :         ndr->depth++;
     885           0 :         if (r->security_token) {
     886           0 :                 ndr_print_security_token(ndr, "security_token", r->security_token);
     887             :         }
     888           0 :         ndr->depth--;
     889           0 :         ndr_print_ptr(ndr, "unix_token", r->unix_token);
     890           0 :         ndr->depth++;
     891           0 :         if (r->unix_token) {
     892           0 :                 ndr_print_security_unix_token(ndr, "unix_token", r->unix_token);
     893             :         }
     894           0 :         ndr->depth--;
     895           0 :         ndr_print_ptr(ndr, "info", r->info);
     896           0 :         ndr->depth++;
     897           0 :         if (r->info) {
     898           0 :                 ndr_print_auth_user_info(ndr, "info", r->info);
     899             :         }
     900           0 :         ndr->depth--;
     901           0 :         ndr_print_ptr(ndr, "unix_info", r->unix_info);
     902           0 :         ndr->depth++;
     903           0 :         if (r->unix_info) {
     904           0 :                 ndr_print_auth_user_info_unix(ndr, "unix_info", r->unix_info);
     905             :         }
     906           0 :         ndr->depth--;
     907           0 :         ndr_print_ptr(ndr, "torture", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NULL:r->torture);
     908             :         /* [ignore] 'torture' */
     909           0 :         ndr_print_ptr(ndr, "credentials", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NULL:r->credentials);
     910             :         /* [ignore] 'credentials' */
     911           0 :         ndr_print_GUID(ndr, "unique_session_token", &r->unique_session_token);
     912           0 :         ndr->depth--;
     913             : }
     914             : 
     915       18794 : _PUBLIC_ enum ndr_err_code ndr_push_auth_session_info_transport(struct ndr_push *ndr, int ndr_flags, const struct auth_session_info_transport *r)
     916             : {
     917       18794 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     918       18794 :         if (ndr_flags & NDR_SCALARS) {
     919       18794 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     920       18794 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->session_info));
     921       18794 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->exported_gssapi_credentials));
     922       18794 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     923             :         }
     924       18794 :         if (ndr_flags & NDR_BUFFERS) {
     925       18794 :                 if (r->session_info) {
     926       18794 :                         NDR_CHECK(ndr_push_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->session_info));
     927             :                 }
     928             :         }
     929       17542 :         return NDR_ERR_SUCCESS;
     930             : }
     931             : 
     932        8094 : _PUBLIC_ enum ndr_err_code ndr_pull_auth_session_info_transport(struct ndr_pull *ndr, int ndr_flags, struct auth_session_info_transport *r)
     933             : {
     934             :         uint32_t _ptr_session_info;
     935        8094 :         TALLOC_CTX *_mem_save_session_info_0 = NULL;
     936        8094 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     937        8094 :         if (ndr_flags & NDR_SCALARS) {
     938        8094 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     939        8094 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_session_info));
     940        8094 :                 if (_ptr_session_info) {
     941        8094 :                         NDR_PULL_ALLOC(ndr, r->session_info);
     942             :                 } else {
     943           0 :                         r->session_info = NULL;
     944             :                 }
     945        8094 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->exported_gssapi_credentials));
     946        8094 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     947             :         }
     948        8094 :         if (ndr_flags & NDR_BUFFERS) {
     949        8094 :                 if (r->session_info) {
     950        8094 :                         _mem_save_session_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
     951        8094 :                         NDR_PULL_SET_MEM_CTX(ndr, r->session_info, 0);
     952        8094 :                         NDR_CHECK(ndr_pull_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->session_info));
     953        8094 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_session_info_0, 0);
     954             :                 }
     955             :         }
     956        7464 :         return NDR_ERR_SUCCESS;
     957             : }
     958             : 
     959           0 : static void ndr_print_flags_auth_session_info_transport(struct ndr_print *ndr, const char *name, int unused, const struct auth_session_info_transport *r)
     960             : {
     961           0 :         ndr_print_auth_session_info_transport(ndr, name, r);
     962           0 : }
     963             : 
     964           0 : _PUBLIC_ void ndr_print_auth_session_info_transport(struct ndr_print *ndr, const char *name, const struct auth_session_info_transport *r)
     965             : {
     966           0 :         ndr_print_struct(ndr, name, "auth_session_info_transport");
     967           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     968           0 :         ndr->depth++;
     969           0 :         ndr_print_ptr(ndr, "session_info", r->session_info);
     970           0 :         ndr->depth++;
     971           0 :         if (r->session_info) {
     972           0 :                 ndr_print_auth_session_info(ndr, "session_info", r->session_info);
     973             :         }
     974           0 :         ndr->depth--;
     975           0 :         ndr->depth--;
     976             : }
     977             : 
     978             : #ifndef SKIP_NDR_TABLE_auth
     979             : static const struct ndr_interface_public_struct auth_public_structs[] = {
     980             :         {
     981             :                 .name = "auth_user_info",
     982             :                 .struct_size = sizeof(struct auth_user_info ),
     983             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_user_info,
     984             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_user_info,
     985             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_user_info,
     986             :         },
     987             :         {
     988             :                 .name = "auth_user_info_torture",
     989             :                 .struct_size = sizeof(struct auth_user_info_torture ),
     990             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_user_info_torture,
     991             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_user_info_torture,
     992             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_user_info_torture,
     993             :         },
     994             :         {
     995             :                 .name = "auth_user_info_unix",
     996             :                 .struct_size = sizeof(struct auth_user_info_unix ),
     997             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_user_info_unix,
     998             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_user_info_unix,
     999             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_user_info_unix,
    1000             :         },
    1001             :         {
    1002             :                 .name = "auth_user_info_dc",
    1003             :                 .struct_size = sizeof(struct auth_user_info_dc ),
    1004             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_user_info_dc,
    1005             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_user_info_dc,
    1006             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_user_info_dc,
    1007             :         },
    1008             :         {
    1009             :                 .name = "auth_session_info",
    1010             :                 .struct_size = sizeof(struct auth_session_info ),
    1011             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_session_info,
    1012             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_session_info,
    1013             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_session_info,
    1014             :         },
    1015             :         {
    1016             :                 .name = "auth_session_info_transport",
    1017             :                 .struct_size = sizeof(struct auth_session_info_transport ),
    1018             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_auth_session_info_transport,
    1019             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_auth_session_info_transport,
    1020             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_auth_session_info_transport,
    1021             :         },
    1022             :         { .name = NULL }
    1023             : };
    1024             : 
    1025             : static const struct ndr_interface_call auth_calls[] = {
    1026             :         { .name = NULL }
    1027             : };
    1028             : 
    1029             : static const char * const auth_endpoint_strings[] = {
    1030             :         "ncacn_np:[\\pipe\\auth]", 
    1031             : };
    1032             : 
    1033             : static const struct ndr_interface_string_array auth_endpoints = {
    1034             :         .count  = 1,
    1035             :         .names  = auth_endpoint_strings
    1036             : };
    1037             : 
    1038             : static const char * const auth_authservice_strings[] = {
    1039             :         "host", 
    1040             : };
    1041             : 
    1042             : static const struct ndr_interface_string_array auth_authservices = {
    1043             :         .count  = 1,
    1044             :         .names  = auth_authservice_strings
    1045             : };
    1046             : 
    1047             : 
    1048             : const struct ndr_interface_table ndr_table_auth = {
    1049             :         .name           = "auth",
    1050             :         .num_calls      = 0,
    1051             :         .calls          = auth_calls,
    1052             :         .num_public_structs     = 6,
    1053             :         .public_structs         = auth_public_structs,
    1054             :         .endpoints      = &auth_endpoints,
    1055             :         .authservices   = &auth_authservices
    1056             : };
    1057             : 
    1058             : #endif /* SKIP_NDR_TABLE_auth */

Generated by: LCOV version 1.13