LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_security.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 695 899 77.3 %
Date: 2021-09-23 10:06:22 Functions: 57 77 74.0 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_security.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7           0 : static void ndr_print_flags_dom_sid(struct ndr_print *ndr, const char *name, int unused, const struct dom_sid *r)
       8             : {
       9           0 :         ndr_print_dom_sid(ndr, name, r);
      10           0 : }
      11             : 
      12      241727 : static enum ndr_err_code ndr_push_se_privilege(struct ndr_push *ndr, int ndr_flags, uint64_t r)
      13             : {
      14      246120 :         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r));
      15      241727 :         return NDR_ERR_SUCCESS;
      16             : }
      17             : 
      18      149551 : static enum ndr_err_code ndr_pull_se_privilege(struct ndr_pull *ndr, int ndr_flags, uint64_t *r)
      19             : {
      20             :         uint64_t v;
      21      152170 :         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &v));
      22      152170 :         *r = v;
      23      149551 :         return NDR_ERR_SUCCESS;
      24             : }
      25             : 
      26           0 : _PUBLIC_ void ndr_print_se_privilege(struct ndr_print *ndr, const char *name, uint64_t r)
      27             : {
      28           0 :         ndr_print_hyper(ndr, name, r);
      29           0 :         ndr->depth++;
      30           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MACHINE_ACCOUNT_BIT", SEC_PRIV_MACHINE_ACCOUNT_BIT, r);
      31           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PRINT_OPERATOR_BIT", SEC_PRIV_PRINT_OPERATOR_BIT, r);
      32           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ADD_USERS_BIT", SEC_PRIV_ADD_USERS_BIT, r);
      33           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DISK_OPERATOR_BIT", SEC_PRIV_DISK_OPERATOR_BIT, r);
      34           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_REMOTE_SHUTDOWN_BIT", SEC_PRIV_REMOTE_SHUTDOWN_BIT, r);
      35           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_BACKUP_BIT", SEC_PRIV_BACKUP_BIT, r);
      36           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_RESTORE_BIT", SEC_PRIV_RESTORE_BIT, r);
      37           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_TAKE_OWNERSHIP_BIT", SEC_PRIV_TAKE_OWNERSHIP_BIT, r);
      38           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_QUOTA_BIT", SEC_PRIV_INCREASE_QUOTA_BIT, r);
      39           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SECURITY_BIT", SEC_PRIV_SECURITY_BIT, r);
      40           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_LOAD_DRIVER_BIT", SEC_PRIV_LOAD_DRIVER_BIT, r);
      41           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_PROFILE_BIT", SEC_PRIV_SYSTEM_PROFILE_BIT, r);
      42           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEMTIME_BIT", SEC_PRIV_SYSTEMTIME_BIT, r);
      43           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT", SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT, r);
      44           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_INCREASE_BASE_PRIORITY_BIT", SEC_PRIV_INCREASE_BASE_PRIORITY_BIT, r);
      45           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_PAGEFILE_BIT", SEC_PRIV_CREATE_PAGEFILE_BIT, r);
      46           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SHUTDOWN_BIT", SEC_PRIV_SHUTDOWN_BIT, r);
      47           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_DEBUG_BIT", SEC_PRIV_DEBUG_BIT, r);
      48           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_SYSTEM_ENVIRONMENT_BIT", SEC_PRIV_SYSTEM_ENVIRONMENT_BIT, r);
      49           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CHANGE_NOTIFY_BIT", SEC_PRIV_CHANGE_NOTIFY_BIT, r);
      50           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_UNDOCK_BIT", SEC_PRIV_UNDOCK_BIT, r);
      51           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_ENABLE_DELEGATION_BIT", SEC_PRIV_ENABLE_DELEGATION_BIT, r);
      52           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_MANAGE_VOLUME_BIT", SEC_PRIV_MANAGE_VOLUME_BIT, r);
      53           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_IMPERSONATE_BIT", SEC_PRIV_IMPERSONATE_BIT, r);
      54           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint64_t), "SEC_PRIV_CREATE_GLOBAL_BIT", SEC_PRIV_CREATE_GLOBAL_BIT, r);
      55           0 :         ndr->depth--;
      56           0 : }
      57             : 
      58      241727 : static enum ndr_err_code ndr_push_lsa_SystemAccessModeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      59             : {
      60      246120 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      61      241727 :         return NDR_ERR_SUCCESS;
      62             : }
      63             : 
      64      149551 : static enum ndr_err_code ndr_pull_lsa_SystemAccessModeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      65             : {
      66             :         uint32_t v;
      67      152170 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      68      152170 :         *r = v;
      69      149551 :         return NDR_ERR_SUCCESS;
      70             : }
      71             : 
      72           0 : _PUBLIC_ void ndr_print_lsa_SystemAccessModeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
      73             : {
      74           0 :         ndr_print_uint32(ndr, name, r);
      75           0 :         ndr->depth++;
      76           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_INTERACTIVE", LSA_POLICY_MODE_INTERACTIVE, r);
      77           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_NETWORK", LSA_POLICY_MODE_NETWORK, r);
      78           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_BATCH", LSA_POLICY_MODE_BATCH, r);
      79           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_SERVICE", LSA_POLICY_MODE_SERVICE, r);
      80           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_PROXY", LSA_POLICY_MODE_PROXY, r);
      81           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_INTERACTIVE", LSA_POLICY_MODE_DENY_INTERACTIVE, r);
      82           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_NETWORK", LSA_POLICY_MODE_DENY_NETWORK, r);
      83           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_BATCH", LSA_POLICY_MODE_DENY_BATCH, r);
      84           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_SERVICE", LSA_POLICY_MODE_DENY_SERVICE, r);
      85           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_REMOTE_INTERACTIVE", LSA_POLICY_MODE_REMOTE_INTERACTIVE, r);
      86           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE", LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE, r);
      87           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL", LSA_POLICY_MODE_ALL, r);
      88           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_MODE_ALL_NT4", LSA_POLICY_MODE_ALL_NT4, r);
      89           0 :         ndr->depth--;
      90           0 : }
      91             : 
      92    26740440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r)
      93             : {
      94    26740440 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
      95    26740440 :         return NDR_ERR_SUCCESS;
      96             : }
      97             : 
      98    89815928 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
      99             : {
     100             :         uint8_t v;
     101    89815928 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
     102    89815928 :         *r = v;
     103    89815928 :         return NDR_ERR_SUCCESS;
     104             : }
     105             : 
     106        4406 : _PUBLIC_ void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r)
     107             : {
     108        4406 :         ndr_print_uint8(ndr, name, r);
     109        4406 :         ndr->depth++;
     110        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_OBJECT_INHERIT", SEC_ACE_FLAG_OBJECT_INHERIT, r);
     111        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_CONTAINER_INHERIT", SEC_ACE_FLAG_CONTAINER_INHERIT, r);
     112        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_NO_PROPAGATE_INHERIT", SEC_ACE_FLAG_NO_PROPAGATE_INHERIT, r);
     113        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERIT_ONLY", SEC_ACE_FLAG_INHERIT_ONLY, r);
     114        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERITED_ACE", SEC_ACE_FLAG_INHERITED_ACE, r);
     115        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_VALID_INHERIT", SEC_ACE_FLAG_VALID_INHERIT, r);
     116        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_SUCCESSFUL_ACCESS", SEC_ACE_FLAG_SUCCESSFUL_ACCESS, r);
     117        4406 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_FAILED_ACCESS", SEC_ACE_FLAG_FAILED_ACCESS, r);
     118        4406 :         ndr->depth--;
     119        4406 : }
     120             : 
     121    26740440 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r)
     122             : {
     123    26740440 :         NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
     124    26740440 :         return NDR_ERR_SUCCESS;
     125             : }
     126             : 
     127    89815928 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_type(struct ndr_pull *ndr, int ndr_flags, enum security_ace_type *r)
     128             : {
     129             :         uint8_t v;
     130    89815928 :         NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
     131    89815928 :         *r = v;
     132    89815928 :         return NDR_ERR_SUCCESS;
     133             : }
     134             : 
     135        4406 : _PUBLIC_ void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r)
     136             : {
     137        4406 :         const char *val = NULL;
     138             : 
     139        4406 :         switch (r) {
     140        4406 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED: val = "SEC_ACE_TYPE_ACCESS_ALLOWED"; break;
     141           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED: val = "SEC_ACE_TYPE_ACCESS_DENIED"; break;
     142           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT"; break;
     143           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM: val = "SEC_ACE_TYPE_SYSTEM_ALARM"; break;
     144           0 :                 case SEC_ACE_TYPE_ALLOWED_COMPOUND: val = "SEC_ACE_TYPE_ALLOWED_COMPOUND"; break;
     145           0 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT"; break;
     146           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_DENIED_OBJECT"; break;
     147           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT"; break;
     148           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT"; break;
     149             :         }
     150        4406 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     151        4406 : }
     152             : 
     153    12491412 : static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     154             : {
     155    12751353 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     156    12491412 :         return NDR_ERR_SUCCESS;
     157             : }
     158             : 
     159    49731066 : static enum ndr_err_code ndr_pull_security_ace_object_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     160             : {
     161             :         uint32_t v;
     162    51529554 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     163    51529554 :         *r = v;
     164    49731066 :         return NDR_ERR_SUCCESS;
     165             : }
     166             : 
     167           0 : _PUBLIC_ void ndr_print_security_ace_object_flags(struct ndr_print *ndr, const char *name, uint32_t r)
     168             : {
     169           0 :         ndr_print_uint32(ndr, name, r);
     170           0 :         ndr->depth++;
     171           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_OBJECT_TYPE_PRESENT", SEC_ACE_OBJECT_TYPE_PRESENT, r);
     172           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT", SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT, r);
     173           0 :         ndr->depth--;
     174           0 : }
     175             : 
     176    25502706 : static enum ndr_err_code ndr_push_security_ace_object_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_type *r)
     177             : {
     178             :         uint32_t level;
     179    25502706 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     180    25502706 :         if (ndr_flags & NDR_SCALARS) {
     181             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     182    12751353 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     183    12751353 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     184    12751353 :                 switch (level) {
     185    11275518 :                         case SEC_ACE_OBJECT_TYPE_PRESENT: {
     186    11275518 :                                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type));
     187    11051379 :                         break; }
     188             : 
     189     1440033 :                         default: {
     190     1440033 :                         break; }
     191             : 
     192             :                 }
     193    11690375 :         }
     194    24982824 :         return NDR_ERR_SUCCESS;
     195             : }
     196             : 
     197   103059108 : static enum ndr_err_code ndr_pull_security_ace_object_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_type *r)
     198             : {
     199             :         uint32_t level;
     200   103059108 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     201   103059108 :         if (ndr_flags & NDR_SCALARS) {
     202             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     203    51529554 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     204    51529554 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     205    51529554 :                 switch (level) {
     206    47029164 :                         case SEC_ACE_OBJECT_TYPE_PRESENT: {
     207    47029164 :                                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type));
     208    45310962 :                         break; }
     209             : 
     210     4420104 :                         default: {
     211     4420104 :                         break; }
     212             : 
     213             :                 }
     214    44103045 :         }
     215    99462132 :         return NDR_ERR_SUCCESS;
     216             : }
     217             : 
     218           0 : _PUBLIC_ void ndr_print_security_ace_object_type(struct ndr_print *ndr, const char *name, const union security_ace_object_type *r)
     219             : {
     220             :         uint32_t level;
     221           0 :         level = ndr_print_steal_switch_value(ndr, r);
     222           0 :         ndr_print_union(ndr, name, level, "security_ace_object_type");
     223           0 :         switch (level) {
     224           0 :                 case SEC_ACE_OBJECT_TYPE_PRESENT:
     225           0 :                         ndr_print_GUID(ndr, "type", &r->type);
     226           0 :                 break;
     227             : 
     228           0 :                 default:
     229           0 :                 break;
     230             : 
     231             :         }
     232           0 : }
     233             : 
     234    25502706 : static enum ndr_err_code ndr_push_security_ace_object_inherited_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_inherited_type *r)
     235             : {
     236             :         uint32_t level;
     237    25502706 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     238    25502706 :         if (ndr_flags & NDR_SCALARS) {
     239             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     240    12751353 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     241    12751353 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     242    12751353 :                 switch (level) {
     243     8987730 :                         case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
     244     8987730 :                                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type));
     245     8772086 :                         break; }
     246             : 
     247     3719326 :                         default: {
     248     3719326 :                         break; }
     249             : 
     250             :                 }
     251    11690375 :         }
     252    24982824 :         return NDR_ERR_SUCCESS;
     253             : }
     254             : 
     255   103059108 : static enum ndr_err_code ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_inherited_type *r)
     256             : {
     257             :         uint32_t level;
     258   103059108 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     259   103059108 :         if (ndr_flags & NDR_SCALARS) {
     260             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     261    51529554 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     262    51529554 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     263    51529554 :                 switch (level) {
     264    27653965 :                         case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
     265    27653965 :                                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type));
     266    27169164 :                         break; }
     267             : 
     268    22561902 :                         default: {
     269    22561902 :                         break; }
     270             : 
     271             :                 }
     272    44103045 :         }
     273    99462132 :         return NDR_ERR_SUCCESS;
     274             : }
     275             : 
     276           0 : _PUBLIC_ void ndr_print_security_ace_object_inherited_type(struct ndr_print *ndr, const char *name, const union security_ace_object_inherited_type *r)
     277             : {
     278             :         uint32_t level;
     279           0 :         level = ndr_print_steal_switch_value(ndr, r);
     280           0 :         ndr_print_union(ndr, name, level, "security_ace_object_inherited_type");
     281           0 :         switch (level) {
     282           0 :                 case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT:
     283           0 :                         ndr_print_GUID(ndr, "inherited_type", &r->inherited_type);
     284           0 :                 break;
     285             : 
     286           0 :                 default:
     287           0 :                 break;
     288             : 
     289             :         }
     290           0 : }
     291             : 
     292    25502706 : static enum ndr_err_code ndr_push_security_ace_object(struct ndr_push *ndr, int ndr_flags, const struct security_ace_object *r)
     293             : {
     294    25502706 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     295    25502706 :         if (ndr_flags & NDR_SCALARS) {
     296    12751353 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     297    13011294 :                 NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags));
     298    12751353 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     299    12751353 :                 NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
     300    12751353 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     301    12751353 :                 NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
     302    12751353 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     303             :         }
     304    25502706 :         if (ndr_flags & NDR_BUFFERS) {
     305    12751353 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     306    12751353 :                 NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
     307    12751353 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     308    12751353 :                 NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
     309             :         }
     310    24982824 :         return NDR_ERR_SUCCESS;
     311             : }
     312             : 
     313   103059108 : static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r)
     314             : {
     315   103059108 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     316   103059108 :         if (ndr_flags & NDR_SCALARS) {
     317    51529554 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     318    53328042 :                 NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags));
     319    51529554 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     320    51529554 :                 NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type));
     321    51529554 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     322    51529554 :                 NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type));
     323    51529554 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     324             :         }
     325   103059108 :         if (ndr_flags & NDR_BUFFERS) {
     326    51529554 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
     327    51529554 :                 NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type));
     328    51529554 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
     329    51529554 :                 NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type));
     330             :         }
     331    99462132 :         return NDR_ERR_SUCCESS;
     332             : }
     333             : 
     334           0 : _PUBLIC_ void ndr_print_security_ace_object(struct ndr_print *ndr, const char *name, const struct security_ace_object *r)
     335             : {
     336           0 :         ndr_print_struct(ndr, name, "security_ace_object");
     337           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     338           0 :         ndr->depth++;
     339           0 :         ndr_print_security_ace_object_flags(ndr, "flags", r->flags);
     340           0 :         ndr_print_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT);
     341           0 :         ndr_print_security_ace_object_type(ndr, "type", &r->type);
     342           0 :         ndr_print_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT);
     343           0 :         ndr_print_security_ace_object_inherited_type(ndr, "inherited_type", &r->inherited_type);
     344           0 :         ndr->depth--;
     345             : }
     346             : 
     347    53480880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace_object_ctr(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_ctr *r)
     348             : {
     349             :         uint32_t level;
     350    53480880 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     351    53480880 :         if (ndr_flags & NDR_SCALARS) {
     352             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     353    26740440 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     354    26740440 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
     355    26740440 :                 switch (level) {
     356    11622727 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
     357    11622727 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     358    11389198 :                         break; }
     359             : 
     360         735 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
     361         735 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     362         735 :                         break; }
     363             : 
     364     1127891 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
     365     1127891 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     366     1101479 :                         break; }
     367             : 
     368           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
     369           0 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object));
     370           0 :                         break; }
     371             : 
     372    13171673 :                         default: {
     373    13171673 :                         break; }
     374             : 
     375             :                 }
     376    23762448 :         }
     377    53480880 :         if (ndr_flags & NDR_BUFFERS) {
     378    26740440 :                 if (!(ndr_flags & NDR_SCALARS)) {
     379             :                         /* We didn't get it above, and the token is not needed after this. */
     380    26740440 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     381             :                 }
     382    26740440 :                 switch (level) {
     383    11622727 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     384    11622727 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     385    11389198 :                         break;
     386             : 
     387         735 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     388         735 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     389         735 :                         break;
     390             : 
     391     1127891 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     392     1127891 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     393     1101479 :                         break;
     394             : 
     395           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     396           0 :                                 NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     397           0 :                         break;
     398             : 
     399    13171673 :                         default:
     400    13171673 :                         break;
     401             : 
     402             :                 }
     403    23762448 :         }
     404    51326170 :         return NDR_ERR_SUCCESS;
     405             : }
     406             : 
     407   179631856 : _PUBLIC_ enum ndr_err_code ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_ctr *r)
     408             : {
     409             :         uint32_t level;
     410   179631856 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     411   179631856 :         if (ndr_flags & NDR_SCALARS) {
     412             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     413    89815928 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     414    89815928 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
     415    89815928 :                 switch (level) {
     416    46202591 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
     417    46202591 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     418    44612209 :                         break; }
     419             : 
     420       36048 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: {
     421       36048 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     422       36048 :                         break; }
     423             : 
     424     5290915 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: {
     425     5290915 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     426     5082809 :                         break; }
     427             : 
     428           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: {
     429           0 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object));
     430           0 :                         break; }
     431             : 
     432    36179755 :                         default: {
     433    36179755 :                         break; }
     434             : 
     435             :                 }
     436    76223607 :         }
     437   179631856 :         if (ndr_flags & NDR_BUFFERS) {
     438    89815928 :                 if (!(ndr_flags & NDR_SCALARS)) {
     439             :                         /* We didn't get it above, and the token is not needed after this. */
     440    89815928 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     441             :                 }
     442    89815928 :                 switch (level) {
     443    46202591 :                         case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     444    46202591 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     445    44612209 :                         break;
     446             : 
     447       36048 :                         case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     448       36048 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     449       36048 :                         break;
     450             : 
     451     5290915 :                         case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     452     5290915 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     453     5082809 :                         break;
     454             : 
     455           0 :                         case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     456           0 :                                 NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object));
     457           0 :                         break;
     458             : 
     459    36179755 :                         default:
     460    36179755 :                         break;
     461             : 
     462             :                 }
     463    76223607 :         }
     464   171821642 :         return NDR_ERR_SUCCESS;
     465             : }
     466             : 
     467        4406 : _PUBLIC_ void ndr_print_security_ace_object_ctr(struct ndr_print *ndr, const char *name, const union security_ace_object_ctr *r)
     468             : {
     469             :         uint32_t level;
     470        4406 :         level = ndr_print_steal_switch_value(ndr, r);
     471        4406 :         ndr_print_union(ndr, name, level, "security_ace_object_ctr");
     472        4406 :         switch (level) {
     473           0 :                 case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
     474           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     475           0 :                 break;
     476             : 
     477           0 :                 case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT:
     478           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     479           0 :                 break;
     480             : 
     481           0 :                 case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
     482           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     483           0 :                 break;
     484             : 
     485           0 :                 case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT:
     486           0 :                         ndr_print_security_ace_object(ndr, "object", &r->object);
     487           0 :                 break;
     488             : 
     489        4374 :                 default:
     490        4374 :                 break;
     491             : 
     492             :         }
     493        4406 : }
     494             : 
     495    53480880 : _PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r)
     496             : {
     497    53480880 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     498    53480880 :         if (ndr_flags & NDR_SCALARS) {
     499    26740440 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     500    26740440 :                 NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type));
     501    26740440 :                 NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags));
     502    26740440 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->flags)));
     503    26740440 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask));
     504    26740440 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
     505    26740440 :                 NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object));
     506    26740440 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee));
     507    26740440 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     508             :         }
     509    53480880 :         if (ndr_flags & NDR_BUFFERS) {
     510    26740440 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type));
     511    26740440 :                 NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object));
     512             :         }
     513    51326170 :         return NDR_ERR_SUCCESS;
     514             : }
     515             : 
     516           0 : static void ndr_print_flags_security_ace(struct ndr_print *ndr, const char *name, int unused, const struct security_ace *r)
     517             : {
     518           0 :         ndr_print_security_ace(ndr, name, r);
     519           0 : }
     520             : 
     521        4406 : _PUBLIC_ void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r)
     522             : {
     523        4406 :         ndr_print_struct(ndr, name, "security_ace");
     524        4406 :         if (r == NULL) { ndr_print_null(ndr); return; }
     525        4406 :         ndr->depth++;
     526        4406 :         ndr_print_security_ace_type(ndr, "type", r->type);
     527        4406 :         ndr_print_security_ace_flags(ndr, "flags", r->flags);
     528        4406 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_ace(r, ndr->flags):r->size);
     529        4406 :         ndr_print_uint32(ndr, "access_mask", r->access_mask);
     530        4406 :         ndr_print_set_switch_value(ndr, &r->object, r->type);
     531        4406 :         ndr_print_security_ace_object_ctr(ndr, "object", &r->object);
     532        4406 :         ndr_print_dom_sid(ndr, "trustee", &r->trustee);
     533        4406 :         ndr->depth--;
     534             : }
     535             : 
     536     3748088 : static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r)
     537             : {
     538     3995744 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
     539     3748088 :         return NDR_ERR_SUCCESS;
     540             : }
     541             : 
     542     9654661 : static enum ndr_err_code ndr_pull_security_acl_revision(struct ndr_pull *ndr, int ndr_flags, enum security_acl_revision *r)
     543             : {
     544             :         uint16_t v;
     545    10210261 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
     546    10210261 :         *r = v;
     547     9654661 :         return NDR_ERR_SUCCESS;
     548             : }
     549             : 
     550        3505 : _PUBLIC_ void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r)
     551             : {
     552        3505 :         const char *val = NULL;
     553             : 
     554        3505 :         switch (r) {
     555        3503 :                 case SECURITY_ACL_REVISION_NT4: val = "SECURITY_ACL_REVISION_NT4"; break;
     556           2 :                 case SECURITY_ACL_REVISION_ADS: val = "SECURITY_ACL_REVISION_ADS"; break;
     557             :         }
     558        3505 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     559        3505 : }
     560             : 
     561     3995744 : _PUBLIC_ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, const struct security_acl *r)
     562             : {
     563             :         uint32_t cntr_aces_0;
     564     3995744 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     565     3995744 :         if (ndr_flags & NDR_SCALARS) {
     566     3995744 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     567     4243400 :                 NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision));
     568     3995744 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->flags)));
     569     3995744 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces));
     570    30488528 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     571    26740440 :                         NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
     572             :                 }
     573     3995744 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     574             :         }
     575     3995744 :         if (ndr_flags & NDR_BUFFERS) {
     576    30488528 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     577    26740440 :                         NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
     578             :                 }
     579             :         }
     580     3748088 :         return NDR_ERR_SUCCESS;
     581             : }
     582             : 
     583    10210261 : _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
     584             : {
     585    10210261 :         uint32_t size_aces_0 = 0;
     586             :         uint32_t cntr_aces_0;
     587    10210261 :         TALLOC_CTX *_mem_save_aces_0 = NULL;
     588    10210261 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     589    10210261 :         if (ndr_flags & NDR_SCALARS) {
     590    10210261 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     591    10765861 :                 NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision));
     592    10210261 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
     593    10210261 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
     594    10210261 :                 if (r->num_aces > 2000) {
     595           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     596             :                 }
     597    10210261 :                 size_aces_0 = r->num_aces;
     598    10210261 :                 NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
     599    10210261 :                 _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
     600    10210261 :                 NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
     601   100026189 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     602    89815928 :                         NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
     603             :                 }
     604    10210261 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
     605    10210261 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     606             :         }
     607    10210261 :         if (ndr_flags & NDR_BUFFERS) {
     608    10210261 :                 size_aces_0 = r->num_aces;
     609    10210261 :                 _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
     610    10210261 :                 NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
     611   100026189 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     612    89815928 :                         NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
     613             :                 }
     614    10210261 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
     615    23802582 :                 for (cntr_aces_0 = 0; cntr_aces_0 < (size_aces_0); cntr_aces_0++) {
     616             :                 }
     617             :         }
     618     9654661 :         return NDR_ERR_SUCCESS;
     619             : }
     620             : 
     621           0 : static void ndr_print_flags_security_acl(struct ndr_print *ndr, const char *name, int unused, const struct security_acl *r)
     622             : {
     623           0 :         ndr_print_security_acl(ndr, name, r);
     624           0 : }
     625             : 
     626        3505 : _PUBLIC_ void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r)
     627             : {
     628             :         uint32_t cntr_aces_0;
     629        3505 :         ndr_print_struct(ndr, name, "security_acl");
     630        3505 :         if (r == NULL) { ndr_print_null(ndr); return; }
     631        3505 :         ndr->depth++;
     632        3505 :         ndr_print_security_acl_revision(ndr, "revision", r->revision);
     633        3505 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_acl(r, ndr->flags):r->size);
     634        3505 :         ndr_print_uint32(ndr, "num_aces", r->num_aces);
     635        3505 :         ndr->print(ndr, "%s: ARRAY(%d)", "aces", (int)r->num_aces);
     636        3505 :         ndr->depth++;
     637        7911 :         for (cntr_aces_0 = 0; cntr_aces_0 < (r->num_aces); cntr_aces_0++) {
     638        4406 :                 ndr_print_security_ace(ndr, "aces", &r->aces[cntr_aces_0]);
     639             :         }
     640        3505 :         ndr->depth--;
     641        3505 :         ndr->depth--;
     642             : }
     643             : 
     644     2648411 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
     645             : {
     646     2648411 :         NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
     647     2648411 :         return NDR_ERR_SUCCESS;
     648             : }
     649             : 
     650     6573881 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r)
     651             : {
     652             :         uint8_t v;
     653     6573881 :         NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
     654     6573881 :         *r = v;
     655     6573881 :         return NDR_ERR_SUCCESS;
     656             : }
     657             : 
     658        3537 : _PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r)
     659             : {
     660        3537 :         const char *val = NULL;
     661             : 
     662        3537 :         switch (r) {
     663        3537 :                 case SECURITY_DESCRIPTOR_REVISION_1: val = "SECURITY_DESCRIPTOR_REVISION_1"; break;
     664             :         }
     665        3537 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     666        3537 : }
     667             : 
     668     2648411 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
     669             : {
     670     2648411 :         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
     671     2648411 :         return NDR_ERR_SUCCESS;
     672             : }
     673             : 
     674     6573881 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
     675             : {
     676             :         uint16_t v;
     677     6573881 :         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
     678     6573881 :         *r = v;
     679     6573881 :         return NDR_ERR_SUCCESS;
     680             : }
     681             : 
     682        3537 : _PUBLIC_ void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r)
     683             : {
     684        3537 :         ndr_print_uint16(ndr, name, r);
     685        3537 :         ndr->depth++;
     686        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_OWNER_DEFAULTED", SEC_DESC_OWNER_DEFAULTED, r);
     687        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_GROUP_DEFAULTED", SEC_DESC_GROUP_DEFAULTED, r);
     688        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PRESENT", SEC_DESC_DACL_PRESENT, r);
     689        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_DEFAULTED", SEC_DESC_DACL_DEFAULTED, r);
     690        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PRESENT", SEC_DESC_SACL_PRESENT, r);
     691        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_DEFAULTED", SEC_DESC_SACL_DEFAULTED, r);
     692        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_TRUSTED", SEC_DESC_DACL_TRUSTED, r);
     693        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SERVER_SECURITY", SEC_DESC_SERVER_SECURITY, r);
     694        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERIT_REQ", SEC_DESC_DACL_AUTO_INHERIT_REQ, r);
     695        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERIT_REQ", SEC_DESC_SACL_AUTO_INHERIT_REQ, r);
     696        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERITED", SEC_DESC_DACL_AUTO_INHERITED, r);
     697        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERITED", SEC_DESC_SACL_AUTO_INHERITED, r);
     698        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PROTECTED", SEC_DESC_DACL_PROTECTED, r);
     699        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PROTECTED", SEC_DESC_SACL_PROTECTED, r);
     700        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_RM_CONTROL_VALID", SEC_DESC_RM_CONTROL_VALID, r);
     701        3537 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SELF_RELATIVE", SEC_DESC_SELF_RELATIVE, r);
     702        3537 :         ndr->depth--;
     703        3537 : }
     704             : 
     705     2646293 : _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
     706             : {
     707             :         {
     708     2646293 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     709     2646293 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     710     2646293 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     711     2646293 :                 if (ndr_flags & NDR_SCALARS) {
     712     2646293 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     713     2646293 :                         NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
     714     2646293 :                         NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
     715     2646293 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
     716     2646293 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
     717     2646293 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
     718     2646293 :                         NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
     719     2646293 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     720             :                 }
     721     2646293 :                 if (ndr_flags & NDR_BUFFERS) {
     722     2646293 :                         if (r->owner_sid) {
     723     2613407 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
     724     2613407 :                                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
     725     2613407 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
     726             :                         }
     727     2646293 :                         if (r->group_sid) {
     728     2593996 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
     729     2593996 :                                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
     730     2593996 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
     731             :                         }
     732     2646293 :                         if (r->sacl) {
     733     1356946 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
     734     1356946 :                                 NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
     735     1356946 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
     736             :                         }
     737     2646293 :                         if (r->dacl) {
     738     2636680 :                                 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
     739     2636680 :                                 NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
     740     2636680 :                                 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
     741             :                         }
     742             :                 }
     743     2646293 :                 ndr->flags = _flags_save_STRUCT;
     744             :         }
     745     2646293 :         return NDR_ERR_SUCCESS;
     746             : }
     747             : 
     748     6573881 : _PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r)
     749             : {
     750             :         uint32_t _ptr_owner_sid;
     751     6573881 :         TALLOC_CTX *_mem_save_owner_sid_0 = NULL;
     752             :         uint32_t _ptr_group_sid;
     753     6573881 :         TALLOC_CTX *_mem_save_group_sid_0 = NULL;
     754             :         uint32_t _ptr_sacl;
     755     6573881 :         TALLOC_CTX *_mem_save_sacl_0 = NULL;
     756             :         uint32_t _ptr_dacl;
     757     6573881 :         TALLOC_CTX *_mem_save_dacl_0 = NULL;
     758             :         {
     759     6573881 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     760     6573881 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     761     6573881 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     762     6573881 :                 if (ndr_flags & NDR_SCALARS) {
     763     6573881 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     764     6573881 :                         NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision));
     765     6573881 :                         NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type));
     766     6573881 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
     767     6573881 :                         if (_ptr_owner_sid) {
     768     6540169 :                                 NDR_PULL_ALLOC(ndr, r->owner_sid);
     769     6540169 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid));
     770             :                         } else {
     771       33712 :                                 r->owner_sid = NULL;
     772             :                         }
     773     6573645 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
     774     6573645 :                         if (_ptr_group_sid) {
     775     6520498 :                                 NDR_PULL_ALLOC(ndr, r->group_sid);
     776     6520498 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid));
     777             :                         } else {
     778       53147 :                                 r->group_sid = NULL;
     779             :                         }
     780     6573645 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
     781     6573645 :                         if (_ptr_sacl) {
     782     3646235 :                                 NDR_PULL_ALLOC(ndr, r->sacl);
     783     3646235 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
     784             :                         } else {
     785     2927410 :                                 r->sacl = NULL;
     786             :                         }
     787     6573645 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
     788     6573645 :                         if (_ptr_dacl) {
     789     6564026 :                                 NDR_PULL_ALLOC(ndr, r->dacl);
     790     6564026 :                                 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
     791             :                         } else {
     792        9619 :                                 r->dacl = NULL;
     793             :                         }
     794     6573645 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     795             :                 }
     796     6573645 :                 if (ndr_flags & NDR_BUFFERS) {
     797     6573645 :                         if (r->owner_sid) {
     798             :                                 uint32_t _relative_save_offset;
     799     6539933 :                                 _relative_save_offset = ndr->offset;
     800     6539933 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
     801     6539933 :                                 _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     802     6539933 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
     803     6539933 :                                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
     804     6539933 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
     805     6539933 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     806     6539933 :                                         ndr->relative_highest_offset = ndr->offset;
     807             :                                 }
     808     6539933 :                                 ndr->offset = _relative_save_offset;
     809             :                         }
     810     6573645 :                         if (r->group_sid) {
     811             :                                 uint32_t _relative_save_offset;
     812     6520498 :                                 _relative_save_offset = ndr->offset;
     813     6520498 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
     814     6520498 :                                 _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     815     6520498 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
     816     6520498 :                                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
     817     6520498 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
     818     6520498 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     819     6520498 :                                         ndr->relative_highest_offset = ndr->offset;
     820             :                                 }
     821     6520498 :                                 ndr->offset = _relative_save_offset;
     822             :                         }
     823     6573645 :                         if (r->sacl) {
     824             :                                 uint32_t _relative_save_offset;
     825     3646235 :                                 _relative_save_offset = ndr->offset;
     826     3646235 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
     827     3646235 :                                 _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
     828     3646235 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
     829     3646235 :                                 NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
     830     3646235 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
     831     3646235 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     832     3646234 :                                         ndr->relative_highest_offset = ndr->offset;
     833             :                                 }
     834     3646235 :                                 ndr->offset = _relative_save_offset;
     835             :                         }
     836     6573645 :                         if (r->dacl) {
     837             :                                 uint32_t _relative_save_offset;
     838     6564026 :                                 _relative_save_offset = ndr->offset;
     839     6564026 :                                 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
     840     6564026 :                                 _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
     841     6564026 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
     842     6564026 :                                 NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
     843     6564026 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
     844     6564026 :                                 if (ndr->offset > ndr->relative_highest_offset) {
     845     6563321 :                                         ndr->relative_highest_offset = ndr->offset;
     846             :                                 }
     847     6564026 :                                 ndr->offset = _relative_save_offset;
     848             :                         }
     849             :                 }
     850     6573645 :                 ndr->flags = _flags_save_STRUCT;
     851             :         }
     852     6573645 :         return NDR_ERR_SUCCESS;
     853             : }
     854             : 
     855           0 : static void ndr_print_flags_security_descriptor(struct ndr_print *ndr, const char *name, int unused, const struct security_descriptor *r)
     856             : {
     857           0 :         ndr_print_security_descriptor(ndr, name, r);
     858           0 : }
     859             : 
     860        3537 : _PUBLIC_ void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r)
     861             : {
     862        3537 :         ndr_print_struct(ndr, name, "security_descriptor");
     863        3537 :         if (r == NULL) { ndr_print_null(ndr); return; }
     864             :         {
     865        3537 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     866        3537 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
     867        3537 :                 ndr->depth++;
     868        3537 :                 ndr_print_security_descriptor_revision(ndr, "revision", r->revision);
     869        3537 :                 ndr_print_security_descriptor_type(ndr, "type", r->type);
     870        3537 :                 ndr_print_ptr(ndr, "owner_sid", r->owner_sid);
     871        3537 :                 ndr->depth++;
     872        3537 :                 if (r->owner_sid) {
     873        3335 :                         ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid);
     874             :                 }
     875        3537 :                 ndr->depth--;
     876        3537 :                 ndr_print_ptr(ndr, "group_sid", r->group_sid);
     877        3537 :                 ndr->depth++;
     878        3537 :                 if (r->group_sid) {
     879          73 :                         ndr_print_dom_sid(ndr, "group_sid", r->group_sid);
     880             :                 }
     881        3537 :                 ndr->depth--;
     882        3537 :                 ndr_print_ptr(ndr, "sacl", r->sacl);
     883        3537 :                 ndr->depth++;
     884        3537 :                 if (r->sacl) {
     885           0 :                         ndr_print_security_acl(ndr, "sacl", r->sacl);
     886             :                 }
     887        3537 :                 ndr->depth--;
     888        3537 :                 ndr_print_ptr(ndr, "dacl", r->dacl);
     889        3537 :                 ndr->depth++;
     890        3537 :                 if (r->dacl) {
     891        3505 :                         ndr_print_security_acl(ndr, "dacl", r->dacl);
     892             :                 }
     893        3537 :                 ndr->depth--;
     894        3537 :                 ndr->depth--;
     895        3537 :                 ndr->flags = _flags_save_STRUCT;
     896             :         }
     897             : }
     898             : 
     899        4680 : _PUBLIC_ enum ndr_err_code ndr_push_sec_desc_buf(struct ndr_push *ndr, int ndr_flags, const struct sec_desc_buf *r)
     900             : {
     901        4680 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     902        4680 :         if (ndr_flags & NDR_SCALARS) {
     903        2894 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     904        2894 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_security_descriptor(r->sd, ndr->flags)));
     905        2894 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd));
     906        2894 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     907             :         }
     908        4680 :         if (ndr_flags & NDR_BUFFERS) {
     909        2894 :                 if (r->sd) {
     910             :                         {
     911             :                                 struct ndr_push *_ndr_sd;
     912        2136 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sd, 4, -1));
     913        2136 :                                 NDR_CHECK(ndr_push_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
     914        2136 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sd, 4, -1));
     915             :                         }
     916             :                 }
     917             :         }
     918        4660 :         return NDR_ERR_SUCCESS;
     919             : }
     920             : 
     921        4594 : _PUBLIC_ enum ndr_err_code ndr_pull_sec_desc_buf(struct ndr_pull *ndr, int ndr_flags, struct sec_desc_buf *r)
     922             : {
     923             :         uint32_t _ptr_sd;
     924        4594 :         TALLOC_CTX *_mem_save_sd_0 = NULL;
     925        4594 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     926        4594 :         if (ndr_flags & NDR_SCALARS) {
     927        2847 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     928        2847 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sd_size));
     929        2847 :                 if (r->sd_size > 262144) {
     930           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
     931             :                 }
     932        2847 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd));
     933        2847 :                 if (_ptr_sd) {
     934        2124 :                         NDR_PULL_ALLOC(ndr, r->sd);
     935             :                 } else {
     936         723 :                         r->sd = NULL;
     937             :                 }
     938        2847 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     939             :         }
     940        4594 :         if (ndr_flags & NDR_BUFFERS) {
     941        2847 :                 if (r->sd) {
     942        2124 :                         _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
     943        2124 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0);
     944             :                         {
     945             :                                 struct ndr_pull *_ndr_sd;
     946        2124 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sd, 4, -1));
     947        2124 :                                 NDR_CHECK(ndr_pull_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd));
     948        2124 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sd, 4, -1));
     949             :                         }
     950        2124 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0);
     951             :                 }
     952             :         }
     953        4570 :         return NDR_ERR_SUCCESS;
     954             : }
     955             : 
     956           0 : static void ndr_print_flags_sec_desc_buf(struct ndr_print *ndr, const char *name, int unused, const struct sec_desc_buf *r)
     957             : {
     958           0 :         ndr_print_sec_desc_buf(ndr, name, r);
     959           0 : }
     960             : 
     961         118 : _PUBLIC_ void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r)
     962             : {
     963         118 :         ndr_print_struct(ndr, name, "sec_desc_buf");
     964         118 :         if (r == NULL) { ndr_print_null(ndr); return; }
     965         118 :         ndr->depth++;
     966         118 :         ndr_print_uint32(ndr, "sd_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_descriptor(r->sd, ndr->flags):r->sd_size);
     967         118 :         ndr_print_ptr(ndr, "sd", r->sd);
     968         118 :         ndr->depth++;
     969         118 :         if (r->sd) {
     970          36 :                 ndr_print_security_descriptor(ndr, "sd", r->sd);
     971             :         }
     972         118 :         ndr->depth--;
     973         118 :         ndr->depth--;
     974             : }
     975             : 
     976      410767 : _PUBLIC_ enum ndr_err_code ndr_push_security_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     977             : {
     978      410767 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     979      410767 :         return NDR_ERR_SUCCESS;
     980             : }
     981             : 
     982      443944 : _PUBLIC_ enum ndr_err_code ndr_pull_security_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     983             : {
     984             :         uint32_t v;
     985      443944 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     986      443944 :         *r = v;
     987      443944 :         return NDR_ERR_SUCCESS;
     988             : }
     989             : 
     990       21136 : _PUBLIC_ void ndr_print_security_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
     991             : {
     992       21136 :         ndr_print_uint32(ndr, name, r);
     993       21136 :         ndr->depth++;
     994       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
     995       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
     996       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
     997       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
     998       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
     999       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY", SE_GROUP_INTEGRITY, r);
    1000       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_INTEGRITY_ENABLED", SE_GROUP_INTEGRITY_ENABLED, r);
    1001       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
    1002       21136 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
    1003       21136 :         ndr->depth--;
    1004       21136 : }
    1005             : 
    1006      246120 : _PUBLIC_ enum ndr_err_code ndr_push_security_token(struct ndr_push *ndr, int ndr_flags, const struct security_token *r)
    1007             : {
    1008             :         uint32_t cntr_sids_0;
    1009      246120 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1010      246120 :         if (ndr_flags & NDR_SCALARS) {
    1011      246120 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1012      246120 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
    1013      246120 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
    1014     2800296 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
    1015     2558569 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
    1016             :                 }
    1017      250513 :                 NDR_CHECK(ndr_push_se_privilege(ndr, NDR_SCALARS, r->privilege_mask));
    1018      250513 :                 NDR_CHECK(ndr_push_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, r->rights_mask));
    1019      246120 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1020             :         }
    1021      241727 :         if (ndr_flags & NDR_BUFFERS) {
    1022             :         }
    1023      246120 :         return NDR_ERR_SUCCESS;
    1024             : }
    1025             : 
    1026      152170 : _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r)
    1027             : {
    1028      152170 :         uint32_t size_sids_0 = 0;
    1029             :         uint32_t cntr_sids_0;
    1030      152170 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1031      152170 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1032      152170 :         if (ndr_flags & NDR_SCALARS) {
    1033      152170 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1034      152170 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
    1035      152170 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    1036      152170 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
    1037      152170 :                 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
    1038      152170 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1039      152170 :                 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1040     1533576 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
    1041     1381406 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
    1042             :                 }
    1043      152170 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1044      154789 :                 NDR_CHECK(ndr_pull_se_privilege(ndr, NDR_SCALARS, &r->privilege_mask));
    1045      154789 :                 NDR_CHECK(ndr_pull_lsa_SystemAccessModeFlags(ndr, NDR_SCALARS, &r->rights_mask));
    1046      152170 :                 if (r->sids) {
    1047      152170 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
    1048             :                 }
    1049      152170 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1050             :         }
    1051      149551 :         if (ndr_flags & NDR_BUFFERS) {
    1052             :         }
    1053      152170 :         return NDR_ERR_SUCCESS;
    1054             : }
    1055             : 
    1056           0 : static void ndr_print_flags_security_token(struct ndr_print *ndr, const char *name, int unused, const struct security_token *r)
    1057             : {
    1058           0 :         ndr_print_security_token(ndr, name, r);
    1059           0 : }
    1060             : 
    1061           0 : _PUBLIC_ void ndr_print_security_token(struct ndr_print *ndr, const char *name, const struct security_token *r)
    1062             : {
    1063             :         uint32_t cntr_sids_0;
    1064           0 :         ndr_print_struct(ndr, name, "security_token");
    1065           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1066           0 :         ndr->depth++;
    1067           0 :         ndr_print_uint32(ndr, "num_sids", r->num_sids);
    1068           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
    1069           0 :         ndr->depth++;
    1070           0 :         for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
    1071           0 :                 ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
    1072             :         }
    1073           0 :         ndr->depth--;
    1074           0 :         ndr_print_se_privilege(ndr, "privilege_mask", r->privilege_mask);
    1075           0 :         ndr_print_lsa_SystemAccessModeFlags(ndr, "rights_mask", r->rights_mask);
    1076           0 :         ndr->depth--;
    1077             : }
    1078             : 
    1079      239534 : _PUBLIC_ enum ndr_err_code ndr_push_security_unix_token(struct ndr_push *ndr, int ndr_flags, const struct security_unix_token *r)
    1080             : {
    1081             :         uint32_t cntr_groups_0;
    1082      239534 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1083      239534 :         if (ndr_flags & NDR_SCALARS) {
    1084      239534 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->ngroups));
    1085      239534 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1086      239534 :                 NDR_CHECK(ndr_push_uid_t(ndr, NDR_SCALARS, r->uid));
    1087      239534 :                 NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->gid));
    1088      239534 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ngroups));
    1089     1726765 :                 for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
    1090     1491534 :                         NDR_CHECK(ndr_push_gid_t(ndr, NDR_SCALARS, r->groups[cntr_groups_0]));
    1091             :                 }
    1092      239534 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1093             :         }
    1094      235231 :         if (ndr_flags & NDR_BUFFERS) {
    1095             :         }
    1096      239534 :         return NDR_ERR_SUCCESS;
    1097             : }
    1098             : 
    1099      145563 : _PUBLIC_ enum ndr_err_code ndr_pull_security_unix_token(struct ndr_pull *ndr, int ndr_flags, struct security_unix_token *r)
    1100             : {
    1101      145563 :         uint32_t size_groups_0 = 0;
    1102             :         uint32_t cntr_groups_0;
    1103      145563 :         TALLOC_CTX *_mem_save_groups_0 = NULL;
    1104      145563 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1105      145563 :         if (ndr_flags & NDR_SCALARS) {
    1106      145563 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->groups));
    1107      145563 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1108      145563 :                 NDR_CHECK(ndr_pull_uid_t(ndr, NDR_SCALARS, &r->uid));
    1109      145563 :                 NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->gid));
    1110      145563 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ngroups));
    1111      145563 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->groups, &size_groups_0));
    1112      145563 :                 NDR_PULL_ALLOC_N(ndr, r->groups, size_groups_0);
    1113      145563 :                 _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1114      145563 :                 NDR_PULL_SET_MEM_CTX(ndr, r->groups, 0);
    1115      897776 :                 for (cntr_groups_0 = 0; cntr_groups_0 < (size_groups_0); cntr_groups_0++) {
    1116      752213 :                         NDR_CHECK(ndr_pull_gid_t(ndr, NDR_SCALARS, &r->groups[cntr_groups_0]));
    1117             :                 }
    1118      145563 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, 0);
    1119      145563 :                 if (r->groups) {
    1120      145563 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->groups, r->ngroups));
    1121             :                 }
    1122      145563 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1123             :         }
    1124      143034 :         if (ndr_flags & NDR_BUFFERS) {
    1125             :         }
    1126      145563 :         return NDR_ERR_SUCCESS;
    1127             : }
    1128             : 
    1129           0 : static void ndr_print_flags_security_unix_token(struct ndr_print *ndr, const char *name, int unused, const struct security_unix_token *r)
    1130             : {
    1131           0 :         ndr_print_security_unix_token(ndr, name, r);
    1132           0 : }
    1133             : 
    1134           0 : _PUBLIC_ void ndr_print_security_unix_token(struct ndr_print *ndr, const char *name, const struct security_unix_token *r)
    1135             : {
    1136             :         uint32_t cntr_groups_0;
    1137           0 :         ndr_print_struct(ndr, name, "security_unix_token");
    1138           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1139           0 :         ndr->depth++;
    1140           0 :         ndr_print_uid_t(ndr, "uid", r->uid);
    1141           0 :         ndr_print_gid_t(ndr, "gid", r->gid);
    1142           0 :         ndr_print_uint32(ndr, "ngroups", r->ngroups);
    1143           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "groups", (int)r->ngroups);
    1144           0 :         ndr->depth++;
    1145           0 :         for (cntr_groups_0 = 0; cntr_groups_0 < (r->ngroups); cntr_groups_0++) {
    1146           0 :                 ndr_print_gid_t(ndr, "groups", r->groups[cntr_groups_0]);
    1147             :         }
    1148           0 :         ndr->depth--;
    1149           0 :         ndr->depth--;
    1150             : }
    1151             : 
    1152         408 : _PUBLIC_ enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1153             : {
    1154         408 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1155         408 :         return NDR_ERR_SUCCESS;
    1156             : }
    1157             : 
    1158         408 : _PUBLIC_ enum ndr_err_code ndr_pull_security_secinfo(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1159             : {
    1160             :         uint32_t v;
    1161         408 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1162         408 :         *r = v;
    1163         408 :         return NDR_ERR_SUCCESS;
    1164             : }
    1165             : 
    1166           0 : _PUBLIC_ void ndr_print_security_secinfo(struct ndr_print *ndr, const char *name, uint32_t r)
    1167             : {
    1168           0 :         ndr_print_uint32(ndr, name, r);
    1169           0 :         ndr->depth++;
    1170           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_OWNER", SECINFO_OWNER, r);
    1171           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_GROUP", SECINFO_GROUP, r);
    1172           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_DACL", SECINFO_DACL, r);
    1173           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SACL", SECINFO_SACL, r);
    1174           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_LABEL", SECINFO_LABEL, r);
    1175           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_ATTRIBUTE", SECINFO_ATTRIBUTE, r);
    1176           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SCOPE", SECINFO_SCOPE, r);
    1177           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_BACKUP", SECINFO_BACKUP, r);
    1178           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_SACL", SECINFO_UNPROTECTED_SACL, r);
    1179           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_DACL", SECINFO_UNPROTECTED_DACL, r);
    1180           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_SACL", SECINFO_PROTECTED_SACL, r);
    1181           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_DACL", SECINFO_PROTECTED_DACL, r);
    1182           0 :         ndr->depth--;
    1183           0 : }
    1184             : 
    1185      227528 : _PUBLIC_ enum ndr_err_code ndr_push_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_push *ndr, int ndr_flags, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1186             : {
    1187             :         {
    1188      227528 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1189      227528 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1190      227528 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1191      227528 :                 if (ndr_flags & NDR_SCALARS) {
    1192      227528 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    1193      227528 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Flags));
    1194      227528 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TokenIL));
    1195      227528 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32));
    1196      227528 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1197             :                 }
    1198      227528 :                 if (ndr_flags & NDR_BUFFERS) {
    1199             :                 }
    1200      227528 :                 ndr->flags = _flags_save_STRUCT;
    1201             :         }
    1202      227528 :         return NDR_ERR_SUCCESS;
    1203             : }
    1204             : 
    1205       27543 : _PUBLIC_ enum ndr_err_code ndr_pull_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_pull *ndr, int ndr_flags, struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1206             : {
    1207       27543 :         uint32_t size_MachineId_0 = 0;
    1208             :         {
    1209       27543 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1210       27543 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1211       27543 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1212       27543 :                 if (ndr_flags & NDR_SCALARS) {
    1213       27543 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    1214       27543 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Flags));
    1215       27543 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TokenIL));
    1216       27543 :                         size_MachineId_0 = 32;
    1217       27543 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, size_MachineId_0));
    1218       27543 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1219             :                 }
    1220       27541 :                 if (ndr_flags & NDR_BUFFERS) {
    1221             :                 }
    1222       27543 :                 ndr->flags = _flags_save_STRUCT;
    1223             :         }
    1224       27543 :         return NDR_ERR_SUCCESS;
    1225             : }
    1226             : 
    1227           0 : static void ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, int unused, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1228             : {
    1229           0 :         ndr_print_LSAP_TOKEN_INFO_INTEGRITY(ndr, name, r);
    1230           0 : }
    1231             : 
    1232           4 : _PUBLIC_ void ndr_print_LSAP_TOKEN_INFO_INTEGRITY(struct ndr_print *ndr, const char *name, const struct LSAP_TOKEN_INFO_INTEGRITY *r)
    1233             : {
    1234           4 :         ndr_print_struct(ndr, name, "LSAP_TOKEN_INFO_INTEGRITY");
    1235           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1236             :         {
    1237           4 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1238           4 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1239           4 :                 ndr->depth++;
    1240           4 :                 ndr_print_uint32(ndr, "Flags", r->Flags);
    1241           4 :                 ndr_print_uint32(ndr, "TokenIL", r->TokenIL);
    1242           4 :                 ndr_print_array_uint8(ndr, "MachineId", r->MachineId, 32);
    1243           4 :                 ndr->depth--;
    1244           4 :                 ndr->flags = _flags_save_STRUCT;
    1245             :         }
    1246             : }
    1247             : 
    1248      113764 : _PUBLIC_ size_t ndr_size_LSAP_TOKEN_INFO_INTEGRITY(const struct LSAP_TOKEN_INFO_INTEGRITY *r, int flags)
    1249             : {
    1250      113764 :         flags |= LIBNDR_PRINT_ARRAY_HEX;
    1251      113764 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_LSAP_TOKEN_INFO_INTEGRITY);
    1252             : }
    1253             : 
    1254        1231 : _PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1255             : {
    1256        1231 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1257        1231 :         return NDR_ERR_SUCCESS;
    1258             : }
    1259             : 
    1260        3969 : _PUBLIC_ enum ndr_err_code ndr_pull_kerb_EncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1261             : {
    1262             :         uint32_t v;
    1263        3969 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1264        3969 :         *r = v;
    1265        3969 :         return NDR_ERR_SUCCESS;
    1266             : }
    1267             : 
    1268         476 : _PUBLIC_ void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
    1269             : {
    1270         476 :         ndr_print_uint32(ndr, name, r);
    1271         476 :         ndr->depth++;
    1272         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_CRC", KERB_ENCTYPE_DES_CBC_CRC, r);
    1273         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_MD5", KERB_ENCTYPE_DES_CBC_MD5, r);
    1274         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RC4_HMAC_MD5", KERB_ENCTYPE_RC4_HMAC_MD5, r);
    1275         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96, r);
    1276         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96, r);
    1277         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_FAST_SUPPORTED", KERB_ENCTYPE_FAST_SUPPORTED, r);
    1278         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED", KERB_ENCTYPE_COMPOUND_IDENTITY_SUPPORTED, r);
    1279         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_CLAIMS_SUPPORTED", KERB_ENCTYPE_CLAIMS_SUPPORTED, r);
    1280         476 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED", KERB_ENCTYPE_RESOURCE_SID_COMPRESSION_DISABLED, r);
    1281         476 :         ndr->depth--;
    1282         476 : }
    1283             : 
    1284           0 : _PUBLIC_ enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1285             : {
    1286           0 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1287           0 :         return NDR_ERR_SUCCESS;
    1288             : }
    1289             : 
    1290           0 : _PUBLIC_ enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1291             : {
    1292             :         uint32_t v;
    1293           0 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1294           0 :         *r = v;
    1295           0 :         return NDR_ERR_SUCCESS;
    1296             : }
    1297             : 
    1298           0 : _PUBLIC_ void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r)
    1299             : {
    1300           0 :         ndr_print_uint32(ndr, name, r);
    1301           0 :         ndr->depth++;
    1302           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DACL_AUTO_INHERIT", SEC_DACL_AUTO_INHERIT, r);
    1303           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_SACL_AUTO_INHERIT", SEC_SACL_AUTO_INHERIT, r);
    1304           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DEFAULT_DESCRIPTOR", SEC_DEFAULT_DESCRIPTOR, r);
    1305           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_OWNER_FROM_PARENT", SEC_OWNER_FROM_PARENT, r);
    1306           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_GROUP_FROM_PARENT", SEC_GROUP_FROM_PARENT, r);
    1307           0 :         ndr->depth--;
    1308           0 : }
    1309             : 
    1310             : #ifndef SKIP_NDR_TABLE_security
    1311             : static const struct ndr_interface_public_struct security_public_structs[] = {
    1312             :         {
    1313             :                 .name = "dom_sid",
    1314             :                 .struct_size = sizeof(struct dom_sid ),
    1315             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_dom_sid,
    1316             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_dom_sid,
    1317             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_dom_sid,
    1318             :         },
    1319             :         {
    1320             :                 .name = "security_ace",
    1321             :                 .struct_size = sizeof(struct security_ace ),
    1322             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_ace,
    1323             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_ace,
    1324             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_ace,
    1325             :         },
    1326             :         {
    1327             :                 .name = "security_acl",
    1328             :                 .struct_size = sizeof(struct security_acl ),
    1329             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_acl,
    1330             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_acl,
    1331             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_acl,
    1332             :         },
    1333             :         {
    1334             :                 .name = "security_descriptor",
    1335             :                 .struct_size = sizeof(struct security_descriptor ),
    1336             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_descriptor,
    1337             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_descriptor,
    1338             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_descriptor,
    1339             :         },
    1340             :         {
    1341             :                 .name = "sec_desc_buf",
    1342             :                 .struct_size = sizeof(struct sec_desc_buf ),
    1343             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_sec_desc_buf,
    1344             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_sec_desc_buf,
    1345             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_sec_desc_buf,
    1346             :         },
    1347             :         {
    1348             :                 .name = "security_token",
    1349             :                 .struct_size = sizeof(struct security_token ),
    1350             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_token,
    1351             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_token,
    1352             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_token,
    1353             :         },
    1354             :         {
    1355             :                 .name = "security_unix_token",
    1356             :                 .struct_size = sizeof(struct security_unix_token ),
    1357             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_security_unix_token,
    1358             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_security_unix_token,
    1359             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_security_unix_token,
    1360             :         },
    1361             :         {
    1362             :                 .name = "LSAP_TOKEN_INFO_INTEGRITY",
    1363             :                 .struct_size = sizeof(struct LSAP_TOKEN_INFO_INTEGRITY ),
    1364             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_LSAP_TOKEN_INFO_INTEGRITY,
    1365             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_LSAP_TOKEN_INFO_INTEGRITY,
    1366             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_LSAP_TOKEN_INFO_INTEGRITY,
    1367             :         },
    1368             :         { .name = NULL }
    1369             : };
    1370             : 
    1371             : static const struct ndr_interface_call security_calls[] = {
    1372             :         { .name = NULL }
    1373             : };
    1374             : 
    1375             : static const char * const security_endpoint_strings[] = {
    1376             :         "ncacn_np:[\\pipe\\security]", 
    1377             : };
    1378             : 
    1379             : static const struct ndr_interface_string_array security_endpoints = {
    1380             :         .count  = 1,
    1381             :         .names  = security_endpoint_strings
    1382             : };
    1383             : 
    1384             : static const char * const security_authservice_strings[] = {
    1385             :         "host", 
    1386             : };
    1387             : 
    1388             : static const struct ndr_interface_string_array security_authservices = {
    1389             :         .count  = 1,
    1390             :         .names  = security_authservice_strings
    1391             : };
    1392             : 
    1393             : 
    1394             : const struct ndr_interface_table ndr_table_security = {
    1395             :         .name           = "security",
    1396             :         .syntax_id      = {
    1397             :                 {0xcbf7d408,0x2d6c,0x11e2,{0xae,0x5b},{0x0b,0x56,0x92,0x79,0x0e,0x18}},
    1398             :                 NDR_SECURITY_VERSION
    1399             :         },
    1400             :         .helpstring     = NDR_SECURITY_HELPSTRING,
    1401             :         .num_calls      = 0,
    1402             :         .calls          = security_calls,
    1403             :         .num_public_structs     = 8,
    1404             :         .public_structs         = security_public_structs,
    1405             :         .endpoints      = &security_endpoints,
    1406             :         .authservices   = &security_authservices
    1407             : };
    1408             : 
    1409             : #endif /* SKIP_NDR_TABLE_security */

Generated by: LCOV version 1.13