LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_lsa_scompat.c (source / functions) Hit Total Coverage
Test: coverage report for support-claim-type-attributes 6b5c566e Lines: 549 1590 34.5 %
Date: 2023-11-21 12:31:41 Functions: 10 13 76.9 %

          Line data    Source code
       1             : /* s3 compat server functions auto-generated by pidl */
       2             : #include "bin/default/librpc/gen_ndr/ndr_lsa.h"
       3             : #include "bin/default/librpc/gen_ndr/ndr_lsa_scompat.h"
       4             : #include <librpc/rpc/dcesrv_core.h>
       5             : #include <rpc_server/rpc_config.h>
       6             : #include <rpc_server/rpc_server.h>
       7             : #include <util/debug.h>
       8             : 
       9             : enum s3compat_rpc_dispatch {
      10             :         S3COMPAT_RPC_DISPATCH_EXTERNAL = 0x00000001,
      11             :         S3COMPAT_RPC_DISPATCH_INTERNAL = 0x00000002,
      12             : };
      13             : 
      14             : /* lsarpc - dcerpc server boilerplate generated by pidl */
      15        2290 : static NTSTATUS lsarpc__op_bind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
      16             : {
      17             : #ifdef DCESRV_INTERFACE_LSARPC_BIND
      18        2290 :         return DCESRV_INTERFACE_LSARPC_BIND(context,iface);
      19             : #else
      20             :         return NT_STATUS_OK;
      21             : #endif
      22             : }
      23             : 
      24        2288 : static void lsarpc__op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
      25             : {
      26             : #ifdef DCESRV_INTERFACE_LSARPC_UNBIND
      27             :         DCESRV_INTERFACE_LSARPC_UNBIND(context, iface);
      28             : #else
      29        2288 :         return;
      30             : #endif
      31             : }
      32             : 
      33        8154 : NTSTATUS lsarpc__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
      34             : {
      35           0 :         enum ndr_err_code ndr_err;
      36        8154 :         uint16_t opnum = dce_call->pkt.u.request.opnum;
      37             : 
      38        8154 :         dce_call->fault_code = 0;
      39             : 
      40        8154 :         if (opnum >= ndr_table_lsarpc.num_calls) {
      41           0 :                 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
      42           0 :                 return NT_STATUS_NET_WRITE_FAULT;
      43             :         }
      44             : 
      45        8154 :         *r = talloc_named(mem_ctx, ndr_table_lsarpc.calls[opnum].struct_size, "struct %s", ndr_table_lsarpc.calls[opnum].name);
      46        8154 :         NT_STATUS_HAVE_NO_MEMORY(*r);
      47             : 
      48             :         /* unravel the NDR for the packet */
      49        8154 :         ndr_err = ndr_table_lsarpc.calls[opnum].ndr_pull(pull, NDR_IN, *r);
      50        8154 :         if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
      51           0 :                 dce_call->fault_code = DCERPC_FAULT_NDR;
      52           0 :                 return NT_STATUS_NET_WRITE_FAULT;
      53             :         }
      54             : 
      55        8154 :         return NT_STATUS_OK;
      56             : }
      57             : 
      58        8154 : static NTSTATUS lsarpc__op_dispatch_internal(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, enum s3compat_rpc_dispatch dispatch)
      59             : {
      60        8154 :         uint16_t opnum = dce_call->pkt.u.request.opnum;
      61        8154 :         struct pipes_struct *p = NULL;
      62        8154 :         NTSTATUS status = NT_STATUS_OK;
      63        8154 :         bool impersonated = false;
      64             : 
      65             :         /* Retrieve pipes struct */
      66        8154 :         p = dcesrv_get_pipes_struct(dce_call->conn);
      67        8154 :         p->dce_call = dce_call;
      68        8154 :         p->mem_ctx = mem_ctx;
      69             :         /* Reset pipes struct fault state */
      70        8154 :         p->fault_state = 0;
      71             : 
      72             :         /* Impersonate */
      73        8154 :         if (dispatch == S3COMPAT_RPC_DISPATCH_EXTERNAL) {
      74        8154 :                 impersonated = become_authenticated_pipe_user(dce_call->auth_state->session_info);
      75        8154 :                 if (!impersonated) {
      76           0 :                         dce_call->fault_code = DCERPC_FAULT_ACCESS_DENIED;
      77           0 :                         status = NT_STATUS_NET_WRITE_FAULT;
      78           0 :                         goto fail;
      79             :                 }
      80             :         }
      81             : 
      82        8154 :         switch (opnum) {
      83         903 :         case 0: { /* lsa_Close */
      84         903 :                 struct lsa_Close *r2 = (struct lsa_Close *)r;
      85         903 :                 if (DEBUGLEVEL >= 10) {
      86           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_Close, NDR_IN, r2);
      87             :                 }
      88         903 :                 NDR_ZERO_STRUCT(r2->out);
      89         903 :                 r2->out.handle = r2->in.handle;
      90         903 :                 r2->out.result = _lsa_Close(p, r2);
      91         903 :                 break;
      92             :         }
      93           8 :         case 1: { /* lsa_Delete */
      94           8 :                 struct lsa_Delete *r2 = (struct lsa_Delete *)r;
      95           8 :                 if (DEBUGLEVEL >= 10) {
      96           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_Delete, NDR_IN, r2);
      97             :                 }
      98           8 :                 r2->out.result = _lsa_Delete(p, r2);
      99           8 :                 break;
     100             :         }
     101           2 :         case 2: { /* lsa_EnumPrivs */
     102           2 :                 struct lsa_EnumPrivs *r2 = (struct lsa_EnumPrivs *)r;
     103           2 :                 if (DEBUGLEVEL >= 10) {
     104           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivs, NDR_IN, r2);
     105             :                 }
     106           2 :                 NDR_ZERO_STRUCT(r2->out);
     107           2 :                 r2->out.resume_handle = r2->in.resume_handle;
     108           2 :                 r2->out.privs = talloc_zero(r2, struct lsa_PrivArray);
     109           2 :                 if (r2->out.privs == NULL) {
     110           0 :                         status = NT_STATUS_NO_MEMORY;
     111           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     112           0 :                         goto fail;
     113             :                 }
     114             : 
     115           2 :                 r2->out.result = _lsa_EnumPrivs(p, r2);
     116           2 :                 break;
     117             :         }
     118          12 :         case 3: { /* lsa_QuerySecurity */
     119          12 :                 struct lsa_QuerySecurity *r2 = (struct lsa_QuerySecurity *)r;
     120          12 :                 if (DEBUGLEVEL >= 10) {
     121           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecurity, NDR_IN, r2);
     122             :                 }
     123          12 :                 NDR_ZERO_STRUCT(r2->out);
     124          12 :                 r2->out.sdbuf = talloc_zero(r2, struct sec_desc_buf *);
     125          12 :                 if (r2->out.sdbuf == NULL) {
     126           0 :                         status = NT_STATUS_NO_MEMORY;
     127           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     128           0 :                         goto fail;
     129             :                 }
     130             : 
     131          12 :                 r2->out.result = _lsa_QuerySecurity(p, r2);
     132          12 :                 break;
     133             :         }
     134           0 :         case 4: { /* lsa_SetSecObj */
     135           0 :                 struct lsa_SetSecObj *r2 = (struct lsa_SetSecObj *)r;
     136           0 :                 if (DEBUGLEVEL >= 10) {
     137           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecObj, NDR_IN, r2);
     138             :                 }
     139           0 :                 r2->out.result = _lsa_SetSecObj(p, r2);
     140           0 :                 break;
     141             :         }
     142           0 :         case 5: { /* lsa_ChangePassword */
     143           0 :                 struct lsa_ChangePassword *r2 = (struct lsa_ChangePassword *)r;
     144           0 :                 if (DEBUGLEVEL >= 10) {
     145           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_ChangePassword, NDR_IN, r2);
     146             :                 }
     147           0 :                 r2->out.result = _lsa_ChangePassword(p, r2);
     148           0 :                 break;
     149             :         }
     150        1431 :         case 6: { /* lsa_OpenPolicy */
     151        1431 :                 struct lsa_OpenPolicy *r2 = (struct lsa_OpenPolicy *)r;
     152        1431 :                 if (DEBUGLEVEL >= 10) {
     153           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy, NDR_IN, r2);
     154             :                 }
     155        1431 :                 NDR_ZERO_STRUCT(r2->out);
     156        1431 :                 r2->out.handle = talloc_zero(r2, struct policy_handle);
     157        1431 :                 if (r2->out.handle == NULL) {
     158           0 :                         status = NT_STATUS_NO_MEMORY;
     159           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     160           0 :                         goto fail;
     161             :                 }
     162             : 
     163        1431 :                 r2->out.result = _lsa_OpenPolicy(p, r2);
     164        1431 :                 break;
     165             :         }
     166         836 :         case 7: { /* lsa_QueryInfoPolicy */
     167         836 :                 struct lsa_QueryInfoPolicy *r2 = (struct lsa_QueryInfoPolicy *)r;
     168         836 :                 if (DEBUGLEVEL >= 10) {
     169           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy, NDR_IN, r2);
     170             :                 }
     171         836 :                 NDR_ZERO_STRUCT(r2->out);
     172         836 :                 r2->out.info = talloc_zero(r2, union lsa_PolicyInformation *);
     173         836 :                 if (r2->out.info == NULL) {
     174           0 :                         status = NT_STATUS_NO_MEMORY;
     175           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     176           0 :                         goto fail;
     177             :                 }
     178             : 
     179         836 :                 r2->out.result = _lsa_QueryInfoPolicy(p, r2);
     180         836 :                 break;
     181             :         }
     182           0 :         case 8: { /* lsa_SetInfoPolicy */
     183           0 :                 struct lsa_SetInfoPolicy *r2 = (struct lsa_SetInfoPolicy *)r;
     184           0 :                 if (DEBUGLEVEL >= 10) {
     185           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy, NDR_IN, r2);
     186             :                 }
     187           0 :                 r2->out.result = _lsa_SetInfoPolicy(p, r2);
     188           0 :                 break;
     189             :         }
     190           0 :         case 9: { /* lsa_ClearAuditLog */
     191           0 :                 struct lsa_ClearAuditLog *r2 = (struct lsa_ClearAuditLog *)r;
     192           0 :                 if (DEBUGLEVEL >= 10) {
     193           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_ClearAuditLog, NDR_IN, r2);
     194             :                 }
     195           0 :                 r2->out.result = _lsa_ClearAuditLog(p, r2);
     196           0 :                 break;
     197             :         }
     198           2 :         case 10: { /* lsa_CreateAccount */
     199           2 :                 struct lsa_CreateAccount *r2 = (struct lsa_CreateAccount *)r;
     200           2 :                 if (DEBUGLEVEL >= 10) {
     201           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateAccount, NDR_IN, r2);
     202             :                 }
     203           2 :                 NDR_ZERO_STRUCT(r2->out);
     204           2 :                 r2->out.acct_handle = talloc_zero(r2, struct policy_handle);
     205           2 :                 if (r2->out.acct_handle == NULL) {
     206           0 :                         status = NT_STATUS_NO_MEMORY;
     207           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     208           0 :                         goto fail;
     209             :                 }
     210             : 
     211           2 :                 r2->out.result = _lsa_CreateAccount(p, r2);
     212           2 :                 break;
     213             :         }
     214           7 :         case 11: { /* lsa_EnumAccounts */
     215           7 :                 struct lsa_EnumAccounts *r2 = (struct lsa_EnumAccounts *)r;
     216           7 :                 if (DEBUGLEVEL >= 10) {
     217           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccounts, NDR_IN, r2);
     218             :                 }
     219           7 :                 NDR_ZERO_STRUCT(r2->out);
     220           7 :                 r2->out.resume_handle = r2->in.resume_handle;
     221           7 :                 r2->out.sids = talloc_zero(r2, struct lsa_SidArray);
     222           7 :                 if (r2->out.sids == NULL) {
     223           0 :                         status = NT_STATUS_NO_MEMORY;
     224           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     225           0 :                         goto fail;
     226             :                 }
     227             : 
     228           7 :                 r2->out.result = _lsa_EnumAccounts(p, r2);
     229           7 :                 break;
     230             :         }
     231           0 :         case 12: { /* lsa_CreateTrustedDomain */
     232           0 :                 struct lsa_CreateTrustedDomain *r2 = (struct lsa_CreateTrustedDomain *)r;
     233           0 :                 if (DEBUGLEVEL >= 10) {
     234           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomain, NDR_IN, r2);
     235             :                 }
     236           0 :                 NDR_ZERO_STRUCT(r2->out);
     237           0 :                 r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
     238           0 :                 if (r2->out.trustdom_handle == NULL) {
     239           0 :                         status = NT_STATUS_NO_MEMORY;
     240           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     241           0 :                         goto fail;
     242             :                 }
     243             : 
     244           0 :                 r2->out.result = _lsa_CreateTrustedDomain(p, r2);
     245           0 :                 break;
     246             :         }
     247           0 :         case 13: { /* lsa_EnumTrustDom */
     248           0 :                 struct lsa_EnumTrustDom *r2 = (struct lsa_EnumTrustDom *)r;
     249           0 :                 if (DEBUGLEVEL >= 10) {
     250           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustDom, NDR_IN, r2);
     251             :                 }
     252           0 :                 NDR_ZERO_STRUCT(r2->out);
     253           0 :                 r2->out.resume_handle = r2->in.resume_handle;
     254           0 :                 r2->out.domains = talloc_zero(r2, struct lsa_DomainList);
     255           0 :                 if (r2->out.domains == NULL) {
     256           0 :                         status = NT_STATUS_NO_MEMORY;
     257           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     258           0 :                         goto fail;
     259             :                 }
     260             : 
     261           0 :                 r2->out.result = _lsa_EnumTrustDom(p, r2);
     262           0 :                 break;
     263             :         }
     264         251 :         case 14: { /* lsa_LookupNames */
     265         251 :                 struct lsa_LookupNames *r2 = (struct lsa_LookupNames *)r;
     266         251 :                 if (DEBUGLEVEL >= 10) {
     267           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames, NDR_IN, r2);
     268             :                 }
     269         251 :                 NDR_ZERO_STRUCT(r2->out);
     270         251 :                 r2->out.sids = r2->in.sids;
     271         251 :                 r2->out.count = r2->in.count;
     272         251 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
     273         251 :                 if (r2->out.domains == NULL) {
     274           0 :                         status = NT_STATUS_NO_MEMORY;
     275           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     276           0 :                         goto fail;
     277             :                 }
     278             : 
     279         251 :                 r2->out.result = _lsa_LookupNames(p, r2);
     280         251 :                 break;
     281             :         }
     282        1867 :         case 15: { /* lsa_LookupSids */
     283        1867 :                 struct lsa_LookupSids *r2 = (struct lsa_LookupSids *)r;
     284        1867 :                 if (DEBUGLEVEL >= 10) {
     285           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids, NDR_IN, r2);
     286             :                 }
     287        1867 :                 NDR_ZERO_STRUCT(r2->out);
     288        1867 :                 r2->out.names = r2->in.names;
     289        1867 :                 r2->out.count = r2->in.count;
     290        1867 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
     291        1867 :                 if (r2->out.domains == NULL) {
     292           0 :                         status = NT_STATUS_NO_MEMORY;
     293           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     294           0 :                         goto fail;
     295             :                 }
     296             : 
     297        1867 :                 r2->out.result = _lsa_LookupSids(p, r2);
     298        1867 :                 break;
     299             :         }
     300         344 :         case 16: { /* lsa_CreateSecret */
     301         344 :                 struct lsa_CreateSecret *r2 = (struct lsa_CreateSecret *)r;
     302         344 :                 if (DEBUGLEVEL >= 10) {
     303           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateSecret, NDR_IN, r2);
     304             :                 }
     305         344 :                 NDR_ZERO_STRUCT(r2->out);
     306         344 :                 r2->out.sec_handle = talloc_zero(r2, struct policy_handle);
     307         344 :                 if (r2->out.sec_handle == NULL) {
     308           0 :                         status = NT_STATUS_NO_MEMORY;
     309           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     310           0 :                         goto fail;
     311             :                 }
     312             : 
     313         344 :                 r2->out.result = _lsa_CreateSecret(p, r2);
     314         344 :                 break;
     315             :         }
     316          14 :         case 17: { /* lsa_OpenAccount */
     317          14 :                 struct lsa_OpenAccount *r2 = (struct lsa_OpenAccount *)r;
     318          14 :                 if (DEBUGLEVEL >= 10) {
     319           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenAccount, NDR_IN, r2);
     320             :                 }
     321          14 :                 NDR_ZERO_STRUCT(r2->out);
     322          14 :                 r2->out.acct_handle = talloc_zero(r2, struct policy_handle);
     323          14 :                 if (r2->out.acct_handle == NULL) {
     324           0 :                         status = NT_STATUS_NO_MEMORY;
     325           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     326           0 :                         goto fail;
     327             :                 }
     328             : 
     329          14 :                 r2->out.result = _lsa_OpenAccount(p, r2);
     330          14 :                 break;
     331             :         }
     332          12 :         case 18: { /* lsa_EnumPrivsAccount */
     333          12 :                 struct lsa_EnumPrivsAccount *r2 = (struct lsa_EnumPrivsAccount *)r;
     334          12 :                 if (DEBUGLEVEL >= 10) {
     335           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivsAccount, NDR_IN, r2);
     336             :                 }
     337          12 :                 NDR_ZERO_STRUCT(r2->out);
     338          12 :                 r2->out.privs = talloc_zero(r2, struct lsa_PrivilegeSet *);
     339          12 :                 if (r2->out.privs == NULL) {
     340           0 :                         status = NT_STATUS_NO_MEMORY;
     341           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     342           0 :                         goto fail;
     343             :                 }
     344             : 
     345          12 :                 r2->out.result = _lsa_EnumPrivsAccount(p, r2);
     346          12 :                 break;
     347             :         }
     348           2 :         case 19: { /* lsa_AddPrivilegesToAccount */
     349           2 :                 struct lsa_AddPrivilegesToAccount *r2 = (struct lsa_AddPrivilegesToAccount *)r;
     350           2 :                 if (DEBUGLEVEL >= 10) {
     351           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_AddPrivilegesToAccount, NDR_IN, r2);
     352             :                 }
     353           2 :                 r2->out.result = _lsa_AddPrivilegesToAccount(p, r2);
     354           2 :                 break;
     355             :         }
     356           2 :         case 20: { /* lsa_RemovePrivilegesFromAccount */
     357           2 :                 struct lsa_RemovePrivilegesFromAccount *r2 = (struct lsa_RemovePrivilegesFromAccount *)r;
     358           2 :                 if (DEBUGLEVEL >= 10) {
     359           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RemovePrivilegesFromAccount, NDR_IN, r2);
     360             :                 }
     361           2 :                 r2->out.result = _lsa_RemovePrivilegesFromAccount(p, r2);
     362           2 :                 break;
     363             :         }
     364           0 :         case 21: { /* lsa_GetQuotasForAccount */
     365           0 :                 struct lsa_GetQuotasForAccount *r2 = (struct lsa_GetQuotasForAccount *)r;
     366           0 :                 if (DEBUGLEVEL >= 10) {
     367           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetQuotasForAccount, NDR_IN, r2);
     368             :                 }
     369           0 :                 r2->out.result = _lsa_GetQuotasForAccount(p, r2);
     370           0 :                 break;
     371             :         }
     372           0 :         case 22: { /* lsa_SetQuotasForAccount */
     373           0 :                 struct lsa_SetQuotasForAccount *r2 = (struct lsa_SetQuotasForAccount *)r;
     374           0 :                 if (DEBUGLEVEL >= 10) {
     375           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetQuotasForAccount, NDR_IN, r2);
     376             :                 }
     377           0 :                 r2->out.result = _lsa_SetQuotasForAccount(p, r2);
     378           0 :                 break;
     379             :         }
     380          14 :         case 23: { /* lsa_GetSystemAccessAccount */
     381          14 :                 struct lsa_GetSystemAccessAccount *r2 = (struct lsa_GetSystemAccessAccount *)r;
     382          14 :                 if (DEBUGLEVEL >= 10) {
     383           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetSystemAccessAccount, NDR_IN, r2);
     384             :                 }
     385          14 :                 NDR_ZERO_STRUCT(r2->out);
     386          14 :                 r2->out.access_mask = talloc_zero(r2, uint32_t);
     387          14 :                 if (r2->out.access_mask == NULL) {
     388           0 :                         status = NT_STATUS_NO_MEMORY;
     389           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     390           0 :                         goto fail;
     391             :                 }
     392             : 
     393          14 :                 r2->out.result = _lsa_GetSystemAccessAccount(p, r2);
     394          14 :                 break;
     395             :         }
     396           0 :         case 24: { /* lsa_SetSystemAccessAccount */
     397           0 :                 struct lsa_SetSystemAccessAccount *r2 = (struct lsa_SetSystemAccessAccount *)r;
     398           0 :                 if (DEBUGLEVEL >= 10) {
     399           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSystemAccessAccount, NDR_IN, r2);
     400             :                 }
     401           0 :                 r2->out.result = _lsa_SetSystemAccessAccount(p, r2);
     402           0 :                 break;
     403             :         }
     404           0 :         case 25: { /* lsa_OpenTrustedDomain */
     405           0 :                 struct lsa_OpenTrustedDomain *r2 = (struct lsa_OpenTrustedDomain *)r;
     406           0 :                 if (DEBUGLEVEL >= 10) {
     407           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomain, NDR_IN, r2);
     408             :                 }
     409           0 :                 NDR_ZERO_STRUCT(r2->out);
     410           0 :                 r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
     411           0 :                 if (r2->out.trustdom_handle == NULL) {
     412           0 :                         status = NT_STATUS_NO_MEMORY;
     413           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     414           0 :                         goto fail;
     415             :                 }
     416             : 
     417           0 :                 r2->out.result = _lsa_OpenTrustedDomain(p, r2);
     418           0 :                 break;
     419             :         }
     420           0 :         case 26: { /* lsa_QueryTrustedDomainInfo */
     421           0 :                 struct lsa_QueryTrustedDomainInfo *r2 = (struct lsa_QueryTrustedDomainInfo *)r;
     422           0 :                 if (DEBUGLEVEL >= 10) {
     423           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfo, NDR_IN, r2);
     424             :                 }
     425           0 :                 NDR_ZERO_STRUCT(r2->out);
     426           0 :                 r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
     427           0 :                 if (r2->out.info == NULL) {
     428           0 :                         status = NT_STATUS_NO_MEMORY;
     429           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     430           0 :                         goto fail;
     431             :                 }
     432             : 
     433           0 :                 r2->out.result = _lsa_QueryTrustedDomainInfo(p, r2);
     434           0 :                 break;
     435             :         }
     436           0 :         case 27: { /* lsa_SetInformationTrustedDomain */
     437           0 :                 struct lsa_SetInformationTrustedDomain *r2 = (struct lsa_SetInformationTrustedDomain *)r;
     438           0 :                 if (DEBUGLEVEL >= 10) {
     439           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInformationTrustedDomain, NDR_IN, r2);
     440             :                 }
     441           0 :                 r2->out.result = _lsa_SetInformationTrustedDomain(p, r2);
     442           0 :                 break;
     443             :         }
     444           8 :         case 28: { /* lsa_OpenSecret */
     445           8 :                 struct lsa_OpenSecret *r2 = (struct lsa_OpenSecret *)r;
     446           8 :                 if (DEBUGLEVEL >= 10) {
     447           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenSecret, NDR_IN, r2);
     448             :                 }
     449           8 :                 NDR_ZERO_STRUCT(r2->out);
     450           8 :                 r2->out.sec_handle = talloc_zero(r2, struct policy_handle);
     451           8 :                 if (r2->out.sec_handle == NULL) {
     452           0 :                         status = NT_STATUS_NO_MEMORY;
     453           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     454           0 :                         goto fail;
     455             :                 }
     456             : 
     457           8 :                 r2->out.result = _lsa_OpenSecret(p, r2);
     458           8 :                 break;
     459             :         }
     460         464 :         case 29: { /* lsa_SetSecret */
     461         464 :                 struct lsa_SetSecret *r2 = (struct lsa_SetSecret *)r;
     462         464 :                 if (DEBUGLEVEL >= 10) {
     463           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecret, NDR_IN, r2);
     464             :                 }
     465         464 :                 r2->out.result = _lsa_SetSecret(p, r2);
     466         464 :                 break;
     467             :         }
     468         236 :         case 30: { /* lsa_QuerySecret */
     469         236 :                 struct lsa_QuerySecret *r2 = (struct lsa_QuerySecret *)r;
     470         236 :                 if (DEBUGLEVEL >= 10) {
     471           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecret, NDR_IN, r2);
     472             :                 }
     473         236 :                 NDR_ZERO_STRUCT(r2->out);
     474         236 :                 r2->out.new_val = r2->in.new_val;
     475         236 :                 r2->out.new_mtime = r2->in.new_mtime;
     476         236 :                 r2->out.old_val = r2->in.old_val;
     477         236 :                 r2->out.old_mtime = r2->in.old_mtime;
     478         236 :                 r2->out.result = _lsa_QuerySecret(p, r2);
     479         236 :                 break;
     480             :         }
     481          20 :         case 31: { /* lsa_LookupPrivValue */
     482          20 :                 struct lsa_LookupPrivValue *r2 = (struct lsa_LookupPrivValue *)r;
     483          20 :                 if (DEBUGLEVEL >= 10) {
     484           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivValue, NDR_IN, r2);
     485             :                 }
     486          20 :                 NDR_ZERO_STRUCT(r2->out);
     487          20 :                 r2->out.luid = talloc_zero(r2, struct lsa_LUID);
     488          20 :                 if (r2->out.luid == NULL) {
     489           0 :                         status = NT_STATUS_NO_MEMORY;
     490           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     491           0 :                         goto fail;
     492             :                 }
     493             : 
     494          20 :                 r2->out.result = _lsa_LookupPrivValue(p, r2);
     495          20 :                 break;
     496             :         }
     497          50 :         case 32: { /* lsa_LookupPrivName */
     498          50 :                 struct lsa_LookupPrivName *r2 = (struct lsa_LookupPrivName *)r;
     499          50 :                 if (DEBUGLEVEL >= 10) {
     500           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivName, NDR_IN, r2);
     501             :                 }
     502          50 :                 NDR_ZERO_STRUCT(r2->out);
     503          50 :                 r2->out.name = talloc_zero(r2, struct lsa_StringLarge *);
     504          50 :                 if (r2->out.name == NULL) {
     505           0 :                         status = NT_STATUS_NO_MEMORY;
     506           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     507           0 :                         goto fail;
     508             :                 }
     509             : 
     510          50 :                 r2->out.result = _lsa_LookupPrivName(p, r2);
     511          50 :                 break;
     512             :         }
     513          18 :         case 33: { /* lsa_LookupPrivDisplayName */
     514          18 :                 struct lsa_LookupPrivDisplayName *r2 = (struct lsa_LookupPrivDisplayName *)r;
     515          18 :                 if (DEBUGLEVEL >= 10) {
     516           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivDisplayName, NDR_IN, r2);
     517             :                 }
     518          18 :                 NDR_ZERO_STRUCT(r2->out);
     519          18 :                 r2->out.disp_name = talloc_zero(r2, struct lsa_StringLarge *);
     520          18 :                 if (r2->out.disp_name == NULL) {
     521           0 :                         status = NT_STATUS_NO_MEMORY;
     522           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     523           0 :                         goto fail;
     524             :                 }
     525             : 
     526          18 :                 r2->out.returned_language_id = talloc_zero(r2, uint16_t);
     527          18 :                 if (r2->out.returned_language_id == NULL) {
     528           0 :                         status = NT_STATUS_NO_MEMORY;
     529           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     530           0 :                         goto fail;
     531             :                 }
     532             : 
     533          18 :                 r2->out.result = _lsa_LookupPrivDisplayName(p, r2);
     534          18 :                 break;
     535             :         }
     536         347 :         case 34: { /* lsa_DeleteObject */
     537         347 :                 struct lsa_DeleteObject *r2 = (struct lsa_DeleteObject *)r;
     538         347 :                 if (DEBUGLEVEL >= 10) {
     539           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteObject, NDR_IN, r2);
     540             :                 }
     541         347 :                 NDR_ZERO_STRUCT(r2->out);
     542         347 :                 r2->out.handle = r2->in.handle;
     543         347 :                 r2->out.result = _lsa_DeleteObject(p, r2);
     544         347 :                 break;
     545             :         }
     546          18 :         case 35: { /* lsa_EnumAccountsWithUserRight */
     547          18 :                 struct lsa_EnumAccountsWithUserRight *r2 = (struct lsa_EnumAccountsWithUserRight *)r;
     548          18 :                 if (DEBUGLEVEL >= 10) {
     549           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountsWithUserRight, NDR_IN, r2);
     550             :                 }
     551          18 :                 NDR_ZERO_STRUCT(r2->out);
     552          18 :                 r2->out.sids = talloc_zero(r2, struct lsa_SidArray);
     553          18 :                 if (r2->out.sids == NULL) {
     554           0 :                         status = NT_STATUS_NO_MEMORY;
     555           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     556           0 :                         goto fail;
     557             :                 }
     558             : 
     559          18 :                 r2->out.result = _lsa_EnumAccountsWithUserRight(p, r2);
     560          18 :                 break;
     561             :         }
     562         112 :         case 36: { /* lsa_EnumAccountRights */
     563         112 :                 struct lsa_EnumAccountRights *r2 = (struct lsa_EnumAccountRights *)r;
     564         112 :                 if (DEBUGLEVEL >= 10) {
     565           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountRights, NDR_IN, r2);
     566             :                 }
     567         112 :                 NDR_ZERO_STRUCT(r2->out);
     568         112 :                 r2->out.rights = talloc_zero(r2, struct lsa_RightSet);
     569         112 :                 if (r2->out.rights == NULL) {
     570           0 :                         status = NT_STATUS_NO_MEMORY;
     571           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     572           0 :                         goto fail;
     573             :                 }
     574             : 
     575         112 :                 r2->out.result = _lsa_EnumAccountRights(p, r2);
     576         112 :                 break;
     577             :         }
     578          24 :         case 37: { /* lsa_AddAccountRights */
     579          24 :                 struct lsa_AddAccountRights *r2 = (struct lsa_AddAccountRights *)r;
     580          24 :                 if (DEBUGLEVEL >= 10) {
     581           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_AddAccountRights, NDR_IN, r2);
     582             :                 }
     583          24 :                 r2->out.result = _lsa_AddAccountRights(p, r2);
     584          24 :                 break;
     585             :         }
     586          20 :         case 38: { /* lsa_RemoveAccountRights */
     587          20 :                 struct lsa_RemoveAccountRights *r2 = (struct lsa_RemoveAccountRights *)r;
     588          20 :                 if (DEBUGLEVEL >= 10) {
     589           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RemoveAccountRights, NDR_IN, r2);
     590             :                 }
     591          20 :                 r2->out.result = _lsa_RemoveAccountRights(p, r2);
     592          20 :                 break;
     593             :         }
     594           0 :         case 39: { /* lsa_QueryTrustedDomainInfoBySid */
     595           0 :                 struct lsa_QueryTrustedDomainInfoBySid *r2 = (struct lsa_QueryTrustedDomainInfoBySid *)r;
     596           0 :                 if (DEBUGLEVEL >= 10) {
     597           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoBySid, NDR_IN, r2);
     598             :                 }
     599           0 :                 NDR_ZERO_STRUCT(r2->out);
     600           0 :                 r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
     601           0 :                 if (r2->out.info == NULL) {
     602           0 :                         status = NT_STATUS_NO_MEMORY;
     603           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     604           0 :                         goto fail;
     605             :                 }
     606             : 
     607           0 :                 r2->out.result = _lsa_QueryTrustedDomainInfoBySid(p, r2);
     608           0 :                 break;
     609             :         }
     610           0 :         case 40: { /* lsa_SetTrustedDomainInfo */
     611           0 :                 struct lsa_SetTrustedDomainInfo *r2 = (struct lsa_SetTrustedDomainInfo *)r;
     612           0 :                 if (DEBUGLEVEL >= 10) {
     613           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfo, NDR_IN, r2);
     614             :                 }
     615           0 :                 r2->out.result = _lsa_SetTrustedDomainInfo(p, r2);
     616           0 :                 break;
     617             :         }
     618           0 :         case 41: { /* lsa_DeleteTrustedDomain */
     619           0 :                 struct lsa_DeleteTrustedDomain *r2 = (struct lsa_DeleteTrustedDomain *)r;
     620           0 :                 if (DEBUGLEVEL >= 10) {
     621           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteTrustedDomain, NDR_IN, r2);
     622             :                 }
     623           0 :                 r2->out.result = _lsa_DeleteTrustedDomain(p, r2);
     624           0 :                 break;
     625             :         }
     626           0 :         case 42: { /* lsa_StorePrivateData */
     627           0 :                 struct lsa_StorePrivateData *r2 = (struct lsa_StorePrivateData *)r;
     628           0 :                 if (DEBUGLEVEL >= 10) {
     629           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_StorePrivateData, NDR_IN, r2);
     630             :                 }
     631           0 :                 r2->out.result = _lsa_StorePrivateData(p, r2);
     632           0 :                 break;
     633             :         }
     634           0 :         case 43: { /* lsa_RetrievePrivateData */
     635           0 :                 struct lsa_RetrievePrivateData *r2 = (struct lsa_RetrievePrivateData *)r;
     636           0 :                 if (DEBUGLEVEL >= 10) {
     637           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RetrievePrivateData, NDR_IN, r2);
     638             :                 }
     639           0 :                 NDR_ZERO_STRUCT(r2->out);
     640           0 :                 r2->out.val = r2->in.val;
     641           0 :                 r2->out.result = _lsa_RetrievePrivateData(p, r2);
     642           0 :                 break;
     643             :         }
     644         653 :         case 44: { /* lsa_OpenPolicy2 */
     645         653 :                 struct lsa_OpenPolicy2 *r2 = (struct lsa_OpenPolicy2 *)r;
     646         653 :                 if (DEBUGLEVEL >= 10) {
     647           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy2, NDR_IN, r2);
     648             :                 }
     649         653 :                 NDR_ZERO_STRUCT(r2->out);
     650         653 :                 r2->out.handle = talloc_zero(r2, struct policy_handle);
     651         653 :                 if (r2->out.handle == NULL) {
     652           0 :                         status = NT_STATUS_NO_MEMORY;
     653           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     654           0 :                         goto fail;
     655             :                 }
     656             : 
     657         653 :                 r2->out.result = _lsa_OpenPolicy2(p, r2);
     658         653 :                 break;
     659             :         }
     660         275 :         case 45: { /* lsa_GetUserName */
     661         275 :                 struct lsa_GetUserName *r2 = (struct lsa_GetUserName *)r;
     662         275 :                 if (DEBUGLEVEL >= 10) {
     663           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetUserName, NDR_IN, r2);
     664             :                 }
     665         275 :                 NDR_ZERO_STRUCT(r2->out);
     666         275 :                 r2->out.account_name = r2->in.account_name;
     667         275 :                 r2->out.authority_name = r2->in.authority_name;
     668         275 :                 r2->out.result = _lsa_GetUserName(p, r2);
     669         275 :                 break;
     670             :         }
     671         121 :         case 46: { /* lsa_QueryInfoPolicy2 */
     672         121 :                 struct lsa_QueryInfoPolicy2 *r2 = (struct lsa_QueryInfoPolicy2 *)r;
     673         121 :                 if (DEBUGLEVEL >= 10) {
     674           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy2, NDR_IN, r2);
     675             :                 }
     676         121 :                 NDR_ZERO_STRUCT(r2->out);
     677         121 :                 r2->out.info = talloc_zero(r2, union lsa_PolicyInformation *);
     678         121 :                 if (r2->out.info == NULL) {
     679           0 :                         status = NT_STATUS_NO_MEMORY;
     680           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     681           0 :                         goto fail;
     682             :                 }
     683             : 
     684         121 :                 r2->out.result = _lsa_QueryInfoPolicy2(p, r2);
     685         121 :                 break;
     686             :         }
     687           0 :         case 47: { /* lsa_SetInfoPolicy2 */
     688           0 :                 struct lsa_SetInfoPolicy2 *r2 = (struct lsa_SetInfoPolicy2 *)r;
     689           0 :                 if (DEBUGLEVEL >= 10) {
     690           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy2, NDR_IN, r2);
     691             :                 }
     692           0 :                 r2->out.result = _lsa_SetInfoPolicy2(p, r2);
     693           0 :                 break;
     694             :         }
     695           0 :         case 48: { /* lsa_QueryTrustedDomainInfoByName */
     696           0 :                 struct lsa_QueryTrustedDomainInfoByName *r2 = (struct lsa_QueryTrustedDomainInfoByName *)r;
     697           0 :                 if (DEBUGLEVEL >= 10) {
     698           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoByName, NDR_IN, r2);
     699             :                 }
     700           0 :                 NDR_ZERO_STRUCT(r2->out);
     701           0 :                 r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
     702           0 :                 if (r2->out.info == NULL) {
     703           0 :                         status = NT_STATUS_NO_MEMORY;
     704           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     705           0 :                         goto fail;
     706             :                 }
     707             : 
     708           0 :                 r2->out.result = _lsa_QueryTrustedDomainInfoByName(p, r2);
     709           0 :                 break;
     710             :         }
     711           0 :         case 49: { /* lsa_SetTrustedDomainInfoByName */
     712           0 :                 struct lsa_SetTrustedDomainInfoByName *r2 = (struct lsa_SetTrustedDomainInfoByName *)r;
     713           0 :                 if (DEBUGLEVEL >= 10) {
     714           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfoByName, NDR_IN, r2);
     715             :                 }
     716           0 :                 r2->out.result = _lsa_SetTrustedDomainInfoByName(p, r2);
     717           0 :                 break;
     718             :         }
     719           0 :         case 50: { /* lsa_EnumTrustedDomainsEx */
     720           0 :                 struct lsa_EnumTrustedDomainsEx *r2 = (struct lsa_EnumTrustedDomainsEx *)r;
     721           0 :                 if (DEBUGLEVEL >= 10) {
     722           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustedDomainsEx, NDR_IN, r2);
     723             :                 }
     724           0 :                 NDR_ZERO_STRUCT(r2->out);
     725           0 :                 r2->out.resume_handle = r2->in.resume_handle;
     726           0 :                 r2->out.domains = talloc_zero(r2, struct lsa_DomainListEx);
     727           0 :                 if (r2->out.domains == NULL) {
     728           0 :                         status = NT_STATUS_NO_MEMORY;
     729           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     730           0 :                         goto fail;
     731             :                 }
     732             : 
     733           0 :                 r2->out.result = _lsa_EnumTrustedDomainsEx(p, r2);
     734           0 :                 break;
     735             :         }
     736           0 :         case 51: { /* lsa_CreateTrustedDomainEx */
     737           0 :                 struct lsa_CreateTrustedDomainEx *r2 = (struct lsa_CreateTrustedDomainEx *)r;
     738           0 :                 if (DEBUGLEVEL >= 10) {
     739           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx, NDR_IN, r2);
     740             :                 }
     741           0 :                 NDR_ZERO_STRUCT(r2->out);
     742           0 :                 r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
     743           0 :                 if (r2->out.trustdom_handle == NULL) {
     744           0 :                         status = NT_STATUS_NO_MEMORY;
     745           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     746           0 :                         goto fail;
     747             :                 }
     748             : 
     749           0 :                 r2->out.result = _lsa_CreateTrustedDomainEx(p, r2);
     750           0 :                 break;
     751             :         }
     752           0 :         case 52: { /* lsa_CloseTrustedDomainEx */
     753           0 :                 struct lsa_CloseTrustedDomainEx *r2 = (struct lsa_CloseTrustedDomainEx *)r;
     754           0 :                 if (DEBUGLEVEL >= 10) {
     755           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CloseTrustedDomainEx, NDR_IN, r2);
     756             :                 }
     757           0 :                 NDR_ZERO_STRUCT(r2->out);
     758           0 :                 r2->out.handle = r2->in.handle;
     759           0 :                 r2->out.result = _lsa_CloseTrustedDomainEx(p, r2);
     760           0 :                 break;
     761             :         }
     762           0 :         case 53: { /* lsa_QueryDomainInformationPolicy */
     763           0 :                 struct lsa_QueryDomainInformationPolicy *r2 = (struct lsa_QueryDomainInformationPolicy *)r;
     764           0 :                 if (DEBUGLEVEL >= 10) {
     765           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryDomainInformationPolicy, NDR_IN, r2);
     766             :                 }
     767           0 :                 NDR_ZERO_STRUCT(r2->out);
     768           0 :                 r2->out.info = talloc_zero(r2, union lsa_DomainInformationPolicy *);
     769           0 :                 if (r2->out.info == NULL) {
     770           0 :                         status = NT_STATUS_NO_MEMORY;
     771           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     772           0 :                         goto fail;
     773             :                 }
     774             : 
     775           0 :                 r2->out.result = _lsa_QueryDomainInformationPolicy(p, r2);
     776           0 :                 break;
     777             :         }
     778           0 :         case 54: { /* lsa_SetDomainInformationPolicy */
     779           0 :                 struct lsa_SetDomainInformationPolicy *r2 = (struct lsa_SetDomainInformationPolicy *)r;
     780           0 :                 if (DEBUGLEVEL >= 10) {
     781           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetDomainInformationPolicy, NDR_IN, r2);
     782             :                 }
     783           0 :                 r2->out.result = _lsa_SetDomainInformationPolicy(p, r2);
     784           0 :                 break;
     785             :         }
     786           0 :         case 55: { /* lsa_OpenTrustedDomainByName */
     787           0 :                 struct lsa_OpenTrustedDomainByName *r2 = (struct lsa_OpenTrustedDomainByName *)r;
     788           0 :                 if (DEBUGLEVEL >= 10) {
     789           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomainByName, NDR_IN, r2);
     790             :                 }
     791           0 :                 NDR_ZERO_STRUCT(r2->out);
     792           0 :                 r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
     793           0 :                 if (r2->out.trustdom_handle == NULL) {
     794           0 :                         status = NT_STATUS_NO_MEMORY;
     795           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     796           0 :                         goto fail;
     797             :                 }
     798             : 
     799           0 :                 r2->out.result = _lsa_OpenTrustedDomainByName(p, r2);
     800           0 :                 break;
     801             :         }
     802           0 :         case 56: { /* lsa_TestCall */
     803           0 :                 struct lsa_TestCall *r2 = (struct lsa_TestCall *)r;
     804           0 :                 if (DEBUGLEVEL >= 10) {
     805           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_TestCall, NDR_IN, r2);
     806             :                 }
     807           0 :                 r2->out.result = _lsa_TestCall(p, r2);
     808           0 :                 break;
     809             :         }
     810           2 :         case 57: { /* lsa_LookupSids2 */
     811           2 :                 struct lsa_LookupSids2 *r2 = (struct lsa_LookupSids2 *)r;
     812           2 :                 if (DEBUGLEVEL >= 10) {
     813           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids2, NDR_IN, r2);
     814             :                 }
     815           2 :                 NDR_ZERO_STRUCT(r2->out);
     816           2 :                 r2->out.names = r2->in.names;
     817           2 :                 r2->out.count = r2->in.count;
     818           2 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
     819           2 :                 if (r2->out.domains == NULL) {
     820           0 :                         status = NT_STATUS_NO_MEMORY;
     821           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     822           0 :                         goto fail;
     823             :                 }
     824             : 
     825           2 :                 r2->out.result = _lsa_LookupSids2(p, r2);
     826           2 :                 break;
     827             :         }
     828           4 :         case 58: { /* lsa_LookupNames2 */
     829           4 :                 struct lsa_LookupNames2 *r2 = (struct lsa_LookupNames2 *)r;
     830           4 :                 if (DEBUGLEVEL >= 10) {
     831           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames2, NDR_IN, r2);
     832             :                 }
     833           4 :                 NDR_ZERO_STRUCT(r2->out);
     834           4 :                 r2->out.sids = r2->in.sids;
     835           4 :                 r2->out.count = r2->in.count;
     836           4 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
     837           4 :                 if (r2->out.domains == NULL) {
     838           0 :                         status = NT_STATUS_NO_MEMORY;
     839           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     840           0 :                         goto fail;
     841             :                 }
     842             : 
     843           4 :                 r2->out.result = _lsa_LookupNames2(p, r2);
     844           4 :                 break;
     845             :         }
     846           0 :         case 59: { /* lsa_CreateTrustedDomainEx2 */
     847           0 :                 struct lsa_CreateTrustedDomainEx2 *r2 = (struct lsa_CreateTrustedDomainEx2 *)r;
     848           0 :                 if (DEBUGLEVEL >= 10) {
     849           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx2, NDR_IN, r2);
     850             :                 }
     851           0 :                 NDR_ZERO_STRUCT(r2->out);
     852           0 :                 r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
     853           0 :                 if (r2->out.trustdom_handle == NULL) {
     854           0 :                         status = NT_STATUS_NO_MEMORY;
     855           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     856           0 :                         goto fail;
     857             :                 }
     858             : 
     859           0 :                 r2->out.result = _lsa_CreateTrustedDomainEx2(p, r2);
     860           0 :                 break;
     861             :         }
     862           0 :         case 60: { /* lsa_CREDRWRITE */
     863           0 :                 struct lsa_CREDRWRITE *r2 = (struct lsa_CREDRWRITE *)r;
     864           0 :                 if (DEBUGLEVEL >= 10) {
     865           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITE, NDR_IN, r2);
     866             :                 }
     867           0 :                 r2->out.result = _lsa_CREDRWRITE(p, r2);
     868           0 :                 break;
     869             :         }
     870           0 :         case 61: { /* lsa_CREDRREAD */
     871           0 :                 struct lsa_CREDRREAD *r2 = (struct lsa_CREDRREAD *)r;
     872           0 :                 if (DEBUGLEVEL >= 10) {
     873           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREAD, NDR_IN, r2);
     874             :                 }
     875           0 :                 r2->out.result = _lsa_CREDRREAD(p, r2);
     876           0 :                 break;
     877             :         }
     878           0 :         case 62: { /* lsa_CREDRENUMERATE */
     879           0 :                 struct lsa_CREDRENUMERATE *r2 = (struct lsa_CREDRENUMERATE *)r;
     880           0 :                 if (DEBUGLEVEL >= 10) {
     881           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRENUMERATE, NDR_IN, r2);
     882             :                 }
     883           0 :                 r2->out.result = _lsa_CREDRENUMERATE(p, r2);
     884           0 :                 break;
     885             :         }
     886           0 :         case 63: { /* lsa_CREDRWRITEDOMAINCREDENTIALS */
     887           0 :                 struct lsa_CREDRWRITEDOMAINCREDENTIALS *r2 = (struct lsa_CREDRWRITEDOMAINCREDENTIALS *)r;
     888           0 :                 if (DEBUGLEVEL >= 10) {
     889           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, NDR_IN, r2);
     890             :                 }
     891           0 :                 r2->out.result = _lsa_CREDRWRITEDOMAINCREDENTIALS(p, r2);
     892           0 :                 break;
     893             :         }
     894           0 :         case 64: { /* lsa_CREDRREADDOMAINCREDENTIALS */
     895           0 :                 struct lsa_CREDRREADDOMAINCREDENTIALS *r2 = (struct lsa_CREDRREADDOMAINCREDENTIALS *)r;
     896           0 :                 if (DEBUGLEVEL >= 10) {
     897           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, NDR_IN, r2);
     898             :                 }
     899           0 :                 r2->out.result = _lsa_CREDRREADDOMAINCREDENTIALS(p, r2);
     900           0 :                 break;
     901             :         }
     902           0 :         case 65: { /* lsa_CREDRDELETE */
     903           0 :                 struct lsa_CREDRDELETE *r2 = (struct lsa_CREDRDELETE *)r;
     904           0 :                 if (DEBUGLEVEL >= 10) {
     905           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRDELETE, NDR_IN, r2);
     906             :                 }
     907           0 :                 r2->out.result = _lsa_CREDRDELETE(p, r2);
     908           0 :                 break;
     909             :         }
     910           0 :         case 66: { /* lsa_CREDRGETTARGETINFO */
     911           0 :                 struct lsa_CREDRGETTARGETINFO *r2 = (struct lsa_CREDRGETTARGETINFO *)r;
     912           0 :                 if (DEBUGLEVEL >= 10) {
     913           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETTARGETINFO, NDR_IN, r2);
     914             :                 }
     915           0 :                 r2->out.result = _lsa_CREDRGETTARGETINFO(p, r2);
     916           0 :                 break;
     917             :         }
     918           0 :         case 67: { /* lsa_CREDRPROFILELOADED */
     919           0 :                 struct lsa_CREDRPROFILELOADED *r2 = (struct lsa_CREDRPROFILELOADED *)r;
     920           0 :                 if (DEBUGLEVEL >= 10) {
     921           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRPROFILELOADED, NDR_IN, r2);
     922             :                 }
     923           0 :                 r2->out.result = _lsa_CREDRPROFILELOADED(p, r2);
     924           0 :                 break;
     925             :         }
     926           4 :         case 68: { /* lsa_LookupNames3 */
     927           4 :                 struct lsa_LookupNames3 *r2 = (struct lsa_LookupNames3 *)r;
     928           4 :                 if (DEBUGLEVEL >= 10) {
     929           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames3, NDR_IN, r2);
     930             :                 }
     931           4 :                 NDR_ZERO_STRUCT(r2->out);
     932           4 :                 r2->out.sids = r2->in.sids;
     933           4 :                 r2->out.count = r2->in.count;
     934           4 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
     935           4 :                 if (r2->out.domains == NULL) {
     936           0 :                         status = NT_STATUS_NO_MEMORY;
     937           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     938           0 :                         goto fail;
     939             :                 }
     940             : 
     941           4 :                 r2->out.result = _lsa_LookupNames3(p, r2);
     942           4 :                 break;
     943             :         }
     944           0 :         case 69: { /* lsa_CREDRGETSESSIONTYPES */
     945           0 :                 struct lsa_CREDRGETSESSIONTYPES *r2 = (struct lsa_CREDRGETSESSIONTYPES *)r;
     946           0 :                 if (DEBUGLEVEL >= 10) {
     947           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETSESSIONTYPES, NDR_IN, r2);
     948             :                 }
     949           0 :                 r2->out.result = _lsa_CREDRGETSESSIONTYPES(p, r2);
     950           0 :                 break;
     951             :         }
     952           0 :         case 70: { /* lsa_LSARREGISTERAUDITEVENT */
     953           0 :                 struct lsa_LSARREGISTERAUDITEVENT *r2 = (struct lsa_LSARREGISTERAUDITEVENT *)r;
     954           0 :                 if (DEBUGLEVEL >= 10) {
     955           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARREGISTERAUDITEVENT, NDR_IN, r2);
     956             :                 }
     957           0 :                 r2->out.result = _lsa_LSARREGISTERAUDITEVENT(p, r2);
     958           0 :                 break;
     959             :         }
     960           0 :         case 71: { /* lsa_LSARGENAUDITEVENT */
     961           0 :                 struct lsa_LSARGENAUDITEVENT *r2 = (struct lsa_LSARGENAUDITEVENT *)r;
     962           0 :                 if (DEBUGLEVEL >= 10) {
     963           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARGENAUDITEVENT, NDR_IN, r2);
     964             :                 }
     965           0 :                 r2->out.result = _lsa_LSARGENAUDITEVENT(p, r2);
     966           0 :                 break;
     967             :         }
     968           0 :         case 72: { /* lsa_LSARUNREGISTERAUDITEVENT */
     969           0 :                 struct lsa_LSARUNREGISTERAUDITEVENT *r2 = (struct lsa_LSARUNREGISTERAUDITEVENT *)r;
     970           0 :                 if (DEBUGLEVEL >= 10) {
     971           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, NDR_IN, r2);
     972             :                 }
     973           0 :                 r2->out.result = _lsa_LSARUNREGISTERAUDITEVENT(p, r2);
     974           0 :                 break;
     975             :         }
     976           0 :         case 73: { /* lsa_lsaRQueryForestTrustInformation */
     977           0 :                 struct lsa_lsaRQueryForestTrustInformation *r2 = (struct lsa_lsaRQueryForestTrustInformation *)r;
     978           0 :                 if (DEBUGLEVEL >= 10) {
     979           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRQueryForestTrustInformation, NDR_IN, r2);
     980             :                 }
     981           0 :                 NDR_ZERO_STRUCT(r2->out);
     982           0 :                 r2->out.forest_trust_info = talloc_zero(r2, struct lsa_ForestTrustInformation *);
     983           0 :                 if (r2->out.forest_trust_info == NULL) {
     984           0 :                         status = NT_STATUS_NO_MEMORY;
     985           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
     986           0 :                         goto fail;
     987             :                 }
     988             : 
     989           0 :                 r2->out.result = _lsa_lsaRQueryForestTrustInformation(p, r2);
     990           0 :                 break;
     991             :         }
     992           0 :         case 74: { /* lsa_lsaRSetForestTrustInformation */
     993           0 :                 struct lsa_lsaRSetForestTrustInformation *r2 = (struct lsa_lsaRSetForestTrustInformation *)r;
     994           0 :                 if (DEBUGLEVEL >= 10) {
     995           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRSetForestTrustInformation, NDR_IN, r2);
     996             :                 }
     997           0 :                 NDR_ZERO_STRUCT(r2->out);
     998           0 :                 r2->out.collision_info = talloc_zero(r2, struct lsa_ForestTrustCollisionInfo *);
     999           0 :                 if (r2->out.collision_info == NULL) {
    1000           0 :                         status = NT_STATUS_NO_MEMORY;
    1001           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
    1002           0 :                         goto fail;
    1003             :                 }
    1004             : 
    1005           0 :                 r2->out.result = _lsa_lsaRSetForestTrustInformation(p, r2);
    1006           0 :                 break;
    1007             :         }
    1008           0 :         case 75: { /* lsa_CREDRRENAME */
    1009           0 :                 struct lsa_CREDRRENAME *r2 = (struct lsa_CREDRRENAME *)r;
    1010           0 :                 if (DEBUGLEVEL >= 10) {
    1011           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRRENAME, NDR_IN, r2);
    1012             :                 }
    1013           0 :                 r2->out.result = _lsa_CREDRRENAME(p, r2);
    1014           0 :                 break;
    1015             :         }
    1016          25 :         case 76: { /* lsa_LookupSids3 */
    1017          25 :                 struct lsa_LookupSids3 *r2 = (struct lsa_LookupSids3 *)r;
    1018          25 :                 if (DEBUGLEVEL >= 10) {
    1019           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids3, NDR_IN, r2);
    1020             :                 }
    1021          25 :                 NDR_ZERO_STRUCT(r2->out);
    1022          25 :                 r2->out.names = r2->in.names;
    1023          25 :                 r2->out.count = r2->in.count;
    1024          25 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
    1025          25 :                 if (r2->out.domains == NULL) {
    1026           0 :                         status = NT_STATUS_NO_MEMORY;
    1027           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
    1028           0 :                         goto fail;
    1029             :                 }
    1030             : 
    1031          25 :                 r2->out.result = _lsa_LookupSids3(p, r2);
    1032          25 :                 break;
    1033             :         }
    1034          46 :         case 77: { /* lsa_LookupNames4 */
    1035          46 :                 struct lsa_LookupNames4 *r2 = (struct lsa_LookupNames4 *)r;
    1036          46 :                 if (DEBUGLEVEL >= 10) {
    1037           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames4, NDR_IN, r2);
    1038             :                 }
    1039          46 :                 NDR_ZERO_STRUCT(r2->out);
    1040          46 :                 r2->out.sids = r2->in.sids;
    1041          46 :                 r2->out.count = r2->in.count;
    1042          46 :                 r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
    1043          46 :                 if (r2->out.domains == NULL) {
    1044           0 :                         status = NT_STATUS_NO_MEMORY;
    1045           0 :                         p->fault_state = DCERPC_FAULT_CANT_PERFORM;
    1046           0 :                         goto fail;
    1047             :                 }
    1048             : 
    1049          46 :                 r2->out.result = _lsa_LookupNames4(p, r2);
    1050          46 :                 break;
    1051             :         }
    1052           0 :         case 78: { /* lsa_LSAROPENPOLICYSCE */
    1053           0 :                 struct lsa_LSAROPENPOLICYSCE *r2 = (struct lsa_LSAROPENPOLICYSCE *)r;
    1054           0 :                 if (DEBUGLEVEL >= 10) {
    1055           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSAROPENPOLICYSCE, NDR_IN, r2);
    1056             :                 }
    1057           0 :                 r2->out.result = _lsa_LSAROPENPOLICYSCE(p, r2);
    1058           0 :                 break;
    1059             :         }
    1060           0 :         case 79: { /* lsa_LSARADTREGISTERSECURITYEVENTSOURCE */
    1061           0 :                 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *)r;
    1062           0 :                 if (DEBUGLEVEL >= 10) {
    1063           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, NDR_IN, r2);
    1064             :                 }
    1065           0 :                 r2->out.result = _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(p, r2);
    1066           0 :                 break;
    1067             :         }
    1068           0 :         case 80: { /* lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE */
    1069           0 :                 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *)r;
    1070           0 :                 if (DEBUGLEVEL >= 10) {
    1071           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, NDR_IN, r2);
    1072             :                 }
    1073           0 :                 r2->out.result = _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(p, r2);
    1074           0 :                 break;
    1075             :         }
    1076           0 :         case 81: { /* lsa_LSARADTREPORTSECURITYEVENT */
    1077           0 :                 struct lsa_LSARADTREPORTSECURITYEVENT *r2 = (struct lsa_LSARADTREPORTSECURITYEVENT *)r;
    1078           0 :                 if (DEBUGLEVEL >= 10) {
    1079           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, NDR_IN, r2);
    1080             :                 }
    1081           0 :                 r2->out.result = _lsa_LSARADTREPORTSECURITYEVENT(p, r2);
    1082           0 :                 break;
    1083             :         }
    1084           0 :         default:
    1085           0 :                 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
    1086           0 :                 break;
    1087             :         }
    1088             : 
    1089        8154 : fail:
    1090             :         /* Unimpersonate */
    1091        8154 :         if (impersonated) {
    1092        8154 :                 unbecome_authenticated_pipe_user();
    1093             :         }
    1094             : 
    1095        8154 :         p->dce_call = NULL;
    1096        8154 :         p->mem_ctx = NULL;
    1097             :         /* Check pipes struct fault state */
    1098        8154 :         if (p->fault_state != 0) {
    1099         156 :                 dce_call->fault_code = p->fault_state;
    1100             :         }
    1101        8154 :         if (dce_call->fault_code != 0) {
    1102         156 :                 status = NT_STATUS_NET_WRITE_FAULT;
    1103             :         }
    1104             : 
    1105        8154 :         return status;
    1106             : }
    1107             : 
    1108        8154 : NTSTATUS lsarpc__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
    1109             : {
    1110        8154 :         return lsarpc__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_EXTERNAL);
    1111             : }
    1112             : 
    1113        7998 : NTSTATUS lsarpc__op_reply(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
    1114             : {
    1115        7998 :         uint16_t opnum = dce_call->pkt.u.request.opnum;
    1116             : 
    1117        7998 :         switch (opnum) {
    1118         878 :         case 0: { /* lsa_Close */
    1119         878 :                 struct lsa_Close *r2 = (struct lsa_Close *)r;
    1120         878 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1121           0 :                         DEBUG(5,("function lsa_Close replied async\n"));
    1122             :                 }
    1123         878 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1124           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_Close, NDR_OUT | NDR_SET_VALUES, r2);
    1125             :                 }
    1126         878 :                 if (dce_call->fault_code != 0) {
    1127           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_Close\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1128             :                 }
    1129         878 :                 break;
    1130             :         }
    1131           8 :         case 1: { /* lsa_Delete */
    1132           8 :                 struct lsa_Delete *r2 = (struct lsa_Delete *)r;
    1133           8 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1134           0 :                         DEBUG(5,("function lsa_Delete replied async\n"));
    1135             :                 }
    1136           8 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1137           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_Delete, NDR_OUT | NDR_SET_VALUES, r2);
    1138             :                 }
    1139           8 :                 if (dce_call->fault_code != 0) {
    1140           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_Delete\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1141             :                 }
    1142           8 :                 break;
    1143             :         }
    1144           2 :         case 2: { /* lsa_EnumPrivs */
    1145           2 :                 struct lsa_EnumPrivs *r2 = (struct lsa_EnumPrivs *)r;
    1146           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1147           0 :                         DEBUG(5,("function lsa_EnumPrivs replied async\n"));
    1148             :                 }
    1149           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1150           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivs, NDR_OUT | NDR_SET_VALUES, r2);
    1151             :                 }
    1152           2 :                 if (dce_call->fault_code != 0) {
    1153           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumPrivs\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1154             :                 }
    1155           2 :                 break;
    1156             :         }
    1157          12 :         case 3: { /* lsa_QuerySecurity */
    1158          12 :                 struct lsa_QuerySecurity *r2 = (struct lsa_QuerySecurity *)r;
    1159          12 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1160           0 :                         DEBUG(5,("function lsa_QuerySecurity replied async\n"));
    1161             :                 }
    1162          12 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1163           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecurity, NDR_OUT | NDR_SET_VALUES, r2);
    1164             :                 }
    1165          12 :                 if (dce_call->fault_code != 0) {
    1166           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QuerySecurity\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1167             :                 }
    1168          12 :                 break;
    1169             :         }
    1170           0 :         case 4: { /* lsa_SetSecObj */
    1171           0 :                 struct lsa_SetSecObj *r2 = (struct lsa_SetSecObj *)r;
    1172           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1173           0 :                         DEBUG(5,("function lsa_SetSecObj replied async\n"));
    1174             :                 }
    1175           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1176           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecObj, NDR_OUT | NDR_SET_VALUES, r2);
    1177             :                 }
    1178           0 :                 if (dce_call->fault_code != 0) {
    1179           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetSecObj\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1180             :                 }
    1181           0 :                 break;
    1182             :         }
    1183           0 :         case 5: { /* lsa_ChangePassword */
    1184           0 :                 struct lsa_ChangePassword *r2 = (struct lsa_ChangePassword *)r;
    1185           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1186           0 :                         DEBUG(5,("function lsa_ChangePassword replied async\n"));
    1187             :                 }
    1188           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1189           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_ChangePassword, NDR_OUT | NDR_SET_VALUES, r2);
    1190             :                 }
    1191           0 :                 if (dce_call->fault_code != 0) {
    1192           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_ChangePassword\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1193             :                 }
    1194           0 :                 break;
    1195             :         }
    1196        1429 :         case 6: { /* lsa_OpenPolicy */
    1197        1429 :                 struct lsa_OpenPolicy *r2 = (struct lsa_OpenPolicy *)r;
    1198        1429 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1199           0 :                         DEBUG(5,("function lsa_OpenPolicy replied async\n"));
    1200             :                 }
    1201        1429 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1202           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy, NDR_OUT | NDR_SET_VALUES, r2);
    1203             :                 }
    1204        1429 :                 if (dce_call->fault_code != 0) {
    1205           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1206             :                 }
    1207        1429 :                 break;
    1208             :         }
    1209         836 :         case 7: { /* lsa_QueryInfoPolicy */
    1210         836 :                 struct lsa_QueryInfoPolicy *r2 = (struct lsa_QueryInfoPolicy *)r;
    1211         836 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1212           0 :                         DEBUG(5,("function lsa_QueryInfoPolicy replied async\n"));
    1213             :                 }
    1214         836 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1215           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy, NDR_OUT | NDR_SET_VALUES, r2);
    1216             :                 }
    1217         836 :                 if (dce_call->fault_code != 0) {
    1218           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryInfoPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1219             :                 }
    1220         836 :                 break;
    1221             :         }
    1222           0 :         case 8: { /* lsa_SetInfoPolicy */
    1223           0 :                 struct lsa_SetInfoPolicy *r2 = (struct lsa_SetInfoPolicy *)r;
    1224           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1225           0 :                         DEBUG(5,("function lsa_SetInfoPolicy replied async\n"));
    1226             :                 }
    1227           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1228           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy, NDR_OUT | NDR_SET_VALUES, r2);
    1229             :                 }
    1230           0 :                 if (dce_call->fault_code != 0) {
    1231           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetInfoPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1232             :                 }
    1233           0 :                 break;
    1234             :         }
    1235           0 :         case 9: { /* lsa_ClearAuditLog */
    1236           0 :                 struct lsa_ClearAuditLog *r2 = (struct lsa_ClearAuditLog *)r;
    1237           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1238           0 :                         DEBUG(5,("function lsa_ClearAuditLog replied async\n"));
    1239             :                 }
    1240           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1241           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_ClearAuditLog, NDR_OUT | NDR_SET_VALUES, r2);
    1242             :                 }
    1243           0 :                 if (dce_call->fault_code != 0) {
    1244           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_ClearAuditLog\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1245             :                 }
    1246           0 :                 break;
    1247             :         }
    1248           2 :         case 10: { /* lsa_CreateAccount */
    1249           2 :                 struct lsa_CreateAccount *r2 = (struct lsa_CreateAccount *)r;
    1250           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1251           0 :                         DEBUG(5,("function lsa_CreateAccount replied async\n"));
    1252             :                 }
    1253           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1254           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1255             :                 }
    1256           2 :                 if (dce_call->fault_code != 0) {
    1257           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CreateAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1258             :                 }
    1259           2 :                 break;
    1260             :         }
    1261           7 :         case 11: { /* lsa_EnumAccounts */
    1262           7 :                 struct lsa_EnumAccounts *r2 = (struct lsa_EnumAccounts *)r;
    1263           7 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1264           0 :                         DEBUG(5,("function lsa_EnumAccounts replied async\n"));
    1265             :                 }
    1266           7 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1267           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccounts, NDR_OUT | NDR_SET_VALUES, r2);
    1268             :                 }
    1269           7 :                 if (dce_call->fault_code != 0) {
    1270           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumAccounts\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1271             :                 }
    1272           7 :                 break;
    1273             :         }
    1274           0 :         case 12: { /* lsa_CreateTrustedDomain */
    1275           0 :                 struct lsa_CreateTrustedDomain *r2 = (struct lsa_CreateTrustedDomain *)r;
    1276           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1277           0 :                         DEBUG(5,("function lsa_CreateTrustedDomain replied async\n"));
    1278             :                 }
    1279           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1280           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
    1281             :                 }
    1282           0 :                 if (dce_call->fault_code != 0) {
    1283           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1284             :                 }
    1285           0 :                 break;
    1286             :         }
    1287           0 :         case 13: { /* lsa_EnumTrustDom */
    1288           0 :                 struct lsa_EnumTrustDom *r2 = (struct lsa_EnumTrustDom *)r;
    1289           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1290           0 :                         DEBUG(5,("function lsa_EnumTrustDom replied async\n"));
    1291             :                 }
    1292           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1293           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustDom, NDR_OUT | NDR_SET_VALUES, r2);
    1294             :                 }
    1295           0 :                 if (dce_call->fault_code != 0) {
    1296           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumTrustDom\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1297             :                 }
    1298           0 :                 break;
    1299             :         }
    1300         251 :         case 14: { /* lsa_LookupNames */
    1301         251 :                 struct lsa_LookupNames *r2 = (struct lsa_LookupNames *)r;
    1302         251 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1303           0 :                         DEBUG(5,("function lsa_LookupNames replied async\n"));
    1304             :                 }
    1305         251 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1306           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames, NDR_OUT | NDR_SET_VALUES, r2);
    1307             :                 }
    1308         251 :                 if (dce_call->fault_code != 0) {
    1309           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupNames\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1310             :                 }
    1311         251 :                 break;
    1312             :         }
    1313        1867 :         case 15: { /* lsa_LookupSids */
    1314        1867 :                 struct lsa_LookupSids *r2 = (struct lsa_LookupSids *)r;
    1315        1867 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1316           0 :                         DEBUG(5,("function lsa_LookupSids replied async\n"));
    1317             :                 }
    1318        1867 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1319           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids, NDR_OUT | NDR_SET_VALUES, r2);
    1320             :                 }
    1321        1867 :                 if (dce_call->fault_code != 0) {
    1322           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupSids\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1323             :                 }
    1324        1867 :                 break;
    1325             :         }
    1326         344 :         case 16: { /* lsa_CreateSecret */
    1327         344 :                 struct lsa_CreateSecret *r2 = (struct lsa_CreateSecret *)r;
    1328         344 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1329           0 :                         DEBUG(5,("function lsa_CreateSecret replied async\n"));
    1330             :                 }
    1331         344 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1332           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateSecret, NDR_OUT | NDR_SET_VALUES, r2);
    1333             :                 }
    1334         344 :                 if (dce_call->fault_code != 0) {
    1335           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CreateSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1336             :                 }
    1337         344 :                 break;
    1338             :         }
    1339          14 :         case 17: { /* lsa_OpenAccount */
    1340          14 :                 struct lsa_OpenAccount *r2 = (struct lsa_OpenAccount *)r;
    1341          14 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1342           0 :                         DEBUG(5,("function lsa_OpenAccount replied async\n"));
    1343             :                 }
    1344          14 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1345           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1346             :                 }
    1347          14 :                 if (dce_call->fault_code != 0) {
    1348           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1349             :                 }
    1350          14 :                 break;
    1351             :         }
    1352          12 :         case 18: { /* lsa_EnumPrivsAccount */
    1353          12 :                 struct lsa_EnumPrivsAccount *r2 = (struct lsa_EnumPrivsAccount *)r;
    1354          12 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1355           0 :                         DEBUG(5,("function lsa_EnumPrivsAccount replied async\n"));
    1356             :                 }
    1357          12 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1358           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivsAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1359             :                 }
    1360          12 :                 if (dce_call->fault_code != 0) {
    1361           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumPrivsAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1362             :                 }
    1363          12 :                 break;
    1364             :         }
    1365           2 :         case 19: { /* lsa_AddPrivilegesToAccount */
    1366           2 :                 struct lsa_AddPrivilegesToAccount *r2 = (struct lsa_AddPrivilegesToAccount *)r;
    1367           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1368           0 :                         DEBUG(5,("function lsa_AddPrivilegesToAccount replied async\n"));
    1369             :                 }
    1370           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1371           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_AddPrivilegesToAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1372             :                 }
    1373           2 :                 if (dce_call->fault_code != 0) {
    1374           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_AddPrivilegesToAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1375             :                 }
    1376           2 :                 break;
    1377             :         }
    1378           2 :         case 20: { /* lsa_RemovePrivilegesFromAccount */
    1379           2 :                 struct lsa_RemovePrivilegesFromAccount *r2 = (struct lsa_RemovePrivilegesFromAccount *)r;
    1380           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1381           0 :                         DEBUG(5,("function lsa_RemovePrivilegesFromAccount replied async\n"));
    1382             :                 }
    1383           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1384           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RemovePrivilegesFromAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1385             :                 }
    1386           2 :                 if (dce_call->fault_code != 0) {
    1387           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_RemovePrivilegesFromAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1388             :                 }
    1389           2 :                 break;
    1390             :         }
    1391           0 :         case 21: { /* lsa_GetQuotasForAccount */
    1392           0 :                 struct lsa_GetQuotasForAccount *r2 = (struct lsa_GetQuotasForAccount *)r;
    1393           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1394           0 :                         DEBUG(5,("function lsa_GetQuotasForAccount replied async\n"));
    1395             :                 }
    1396           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1397           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetQuotasForAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1398             :                 }
    1399           0 :                 if (dce_call->fault_code != 0) {
    1400           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_GetQuotasForAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1401             :                 }
    1402           0 :                 break;
    1403             :         }
    1404           0 :         case 22: { /* lsa_SetQuotasForAccount */
    1405           0 :                 struct lsa_SetQuotasForAccount *r2 = (struct lsa_SetQuotasForAccount *)r;
    1406           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1407           0 :                         DEBUG(5,("function lsa_SetQuotasForAccount replied async\n"));
    1408             :                 }
    1409           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1410           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetQuotasForAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1411             :                 }
    1412           0 :                 if (dce_call->fault_code != 0) {
    1413           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetQuotasForAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1414             :                 }
    1415           0 :                 break;
    1416             :         }
    1417          14 :         case 23: { /* lsa_GetSystemAccessAccount */
    1418          14 :                 struct lsa_GetSystemAccessAccount *r2 = (struct lsa_GetSystemAccessAccount *)r;
    1419          14 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1420           0 :                         DEBUG(5,("function lsa_GetSystemAccessAccount replied async\n"));
    1421             :                 }
    1422          14 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1423           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetSystemAccessAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1424             :                 }
    1425          14 :                 if (dce_call->fault_code != 0) {
    1426           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_GetSystemAccessAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1427             :                 }
    1428          14 :                 break;
    1429             :         }
    1430           0 :         case 24: { /* lsa_SetSystemAccessAccount */
    1431           0 :                 struct lsa_SetSystemAccessAccount *r2 = (struct lsa_SetSystemAccessAccount *)r;
    1432           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1433           0 :                         DEBUG(5,("function lsa_SetSystemAccessAccount replied async\n"));
    1434             :                 }
    1435           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1436           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSystemAccessAccount, NDR_OUT | NDR_SET_VALUES, r2);
    1437             :                 }
    1438           0 :                 if (dce_call->fault_code != 0) {
    1439           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetSystemAccessAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1440             :                 }
    1441           0 :                 break;
    1442             :         }
    1443           0 :         case 25: { /* lsa_OpenTrustedDomain */
    1444           0 :                 struct lsa_OpenTrustedDomain *r2 = (struct lsa_OpenTrustedDomain *)r;
    1445           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1446           0 :                         DEBUG(5,("function lsa_OpenTrustedDomain replied async\n"));
    1447             :                 }
    1448           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1449           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
    1450             :                 }
    1451           0 :                 if (dce_call->fault_code != 0) {
    1452           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1453             :                 }
    1454           0 :                 break;
    1455             :         }
    1456           0 :         case 26: { /* lsa_QueryTrustedDomainInfo */
    1457           0 :                 struct lsa_QueryTrustedDomainInfo *r2 = (struct lsa_QueryTrustedDomainInfo *)r;
    1458           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1459           0 :                         DEBUG(5,("function lsa_QueryTrustedDomainInfo replied async\n"));
    1460             :                 }
    1461           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1462           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfo, NDR_OUT | NDR_SET_VALUES, r2);
    1463             :                 }
    1464           0 :                 if (dce_call->fault_code != 0) {
    1465           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfo\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1466             :                 }
    1467           0 :                 break;
    1468             :         }
    1469           0 :         case 27: { /* lsa_SetInformationTrustedDomain */
    1470           0 :                 struct lsa_SetInformationTrustedDomain *r2 = (struct lsa_SetInformationTrustedDomain *)r;
    1471           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1472           0 :                         DEBUG(5,("function lsa_SetInformationTrustedDomain replied async\n"));
    1473             :                 }
    1474           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1475           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInformationTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
    1476             :                 }
    1477           0 :                 if (dce_call->fault_code != 0) {
    1478           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetInformationTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1479             :                 }
    1480           0 :                 break;
    1481             :         }
    1482           8 :         case 28: { /* lsa_OpenSecret */
    1483           8 :                 struct lsa_OpenSecret *r2 = (struct lsa_OpenSecret *)r;
    1484           8 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1485           0 :                         DEBUG(5,("function lsa_OpenSecret replied async\n"));
    1486             :                 }
    1487           8 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1488           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenSecret, NDR_OUT | NDR_SET_VALUES, r2);
    1489             :                 }
    1490           8 :                 if (dce_call->fault_code != 0) {
    1491           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1492             :                 }
    1493           8 :                 break;
    1494             :         }
    1495         464 :         case 29: { /* lsa_SetSecret */
    1496         464 :                 struct lsa_SetSecret *r2 = (struct lsa_SetSecret *)r;
    1497         464 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1498           0 :                         DEBUG(5,("function lsa_SetSecret replied async\n"));
    1499             :                 }
    1500         464 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1501           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecret, NDR_OUT | NDR_SET_VALUES, r2);
    1502             :                 }
    1503         464 :                 if (dce_call->fault_code != 0) {
    1504           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1505             :                 }
    1506         464 :                 break;
    1507             :         }
    1508         236 :         case 30: { /* lsa_QuerySecret */
    1509         236 :                 struct lsa_QuerySecret *r2 = (struct lsa_QuerySecret *)r;
    1510         236 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1511           0 :                         DEBUG(5,("function lsa_QuerySecret replied async\n"));
    1512             :                 }
    1513         236 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1514           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecret, NDR_OUT | NDR_SET_VALUES, r2);
    1515             :                 }
    1516         236 :                 if (dce_call->fault_code != 0) {
    1517           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QuerySecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1518             :                 }
    1519         236 :                 break;
    1520             :         }
    1521          20 :         case 31: { /* lsa_LookupPrivValue */
    1522          20 :                 struct lsa_LookupPrivValue *r2 = (struct lsa_LookupPrivValue *)r;
    1523          20 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1524           0 :                         DEBUG(5,("function lsa_LookupPrivValue replied async\n"));
    1525             :                 }
    1526          20 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1527           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivValue, NDR_OUT | NDR_SET_VALUES, r2);
    1528             :                 }
    1529          20 :                 if (dce_call->fault_code != 0) {
    1530           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivValue\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1531             :                 }
    1532          20 :                 break;
    1533             :         }
    1534          50 :         case 32: { /* lsa_LookupPrivName */
    1535          50 :                 struct lsa_LookupPrivName *r2 = (struct lsa_LookupPrivName *)r;
    1536          50 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1537           0 :                         DEBUG(5,("function lsa_LookupPrivName replied async\n"));
    1538             :                 }
    1539          50 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1540           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivName, NDR_OUT | NDR_SET_VALUES, r2);
    1541             :                 }
    1542          50 :                 if (dce_call->fault_code != 0) {
    1543           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1544             :                 }
    1545          50 :                 break;
    1546             :         }
    1547          18 :         case 33: { /* lsa_LookupPrivDisplayName */
    1548          18 :                 struct lsa_LookupPrivDisplayName *r2 = (struct lsa_LookupPrivDisplayName *)r;
    1549          18 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1550           0 :                         DEBUG(5,("function lsa_LookupPrivDisplayName replied async\n"));
    1551             :                 }
    1552          18 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1553           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivDisplayName, NDR_OUT | NDR_SET_VALUES, r2);
    1554             :                 }
    1555          18 :                 if (dce_call->fault_code != 0) {
    1556           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivDisplayName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1557             :                 }
    1558          18 :                 break;
    1559             :         }
    1560         347 :         case 34: { /* lsa_DeleteObject */
    1561         347 :                 struct lsa_DeleteObject *r2 = (struct lsa_DeleteObject *)r;
    1562         347 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1563           0 :                         DEBUG(5,("function lsa_DeleteObject replied async\n"));
    1564             :                 }
    1565         347 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1566           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteObject, NDR_OUT | NDR_SET_VALUES, r2);
    1567             :                 }
    1568         347 :                 if (dce_call->fault_code != 0) {
    1569           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_DeleteObject\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1570             :                 }
    1571         347 :                 break;
    1572             :         }
    1573          18 :         case 35: { /* lsa_EnumAccountsWithUserRight */
    1574          18 :                 struct lsa_EnumAccountsWithUserRight *r2 = (struct lsa_EnumAccountsWithUserRight *)r;
    1575          18 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1576           0 :                         DEBUG(5,("function lsa_EnumAccountsWithUserRight replied async\n"));
    1577             :                 }
    1578          18 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1579           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountsWithUserRight, NDR_OUT | NDR_SET_VALUES, r2);
    1580             :                 }
    1581          18 :                 if (dce_call->fault_code != 0) {
    1582           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumAccountsWithUserRight\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1583             :                 }
    1584          18 :                 break;
    1585             :         }
    1586         112 :         case 36: { /* lsa_EnumAccountRights */
    1587         112 :                 struct lsa_EnumAccountRights *r2 = (struct lsa_EnumAccountRights *)r;
    1588         112 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1589           0 :                         DEBUG(5,("function lsa_EnumAccountRights replied async\n"));
    1590             :                 }
    1591         112 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1592           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
    1593             :                 }
    1594         112 :                 if (dce_call->fault_code != 0) {
    1595           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1596             :                 }
    1597         112 :                 break;
    1598             :         }
    1599          24 :         case 37: { /* lsa_AddAccountRights */
    1600          24 :                 struct lsa_AddAccountRights *r2 = (struct lsa_AddAccountRights *)r;
    1601          24 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1602           0 :                         DEBUG(5,("function lsa_AddAccountRights replied async\n"));
    1603             :                 }
    1604          24 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1605           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_AddAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
    1606             :                 }
    1607          24 :                 if (dce_call->fault_code != 0) {
    1608           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_AddAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1609             :                 }
    1610          24 :                 break;
    1611             :         }
    1612          20 :         case 38: { /* lsa_RemoveAccountRights */
    1613          20 :                 struct lsa_RemoveAccountRights *r2 = (struct lsa_RemoveAccountRights *)r;
    1614          20 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1615           0 :                         DEBUG(5,("function lsa_RemoveAccountRights replied async\n"));
    1616             :                 }
    1617          20 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1618           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RemoveAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
    1619             :                 }
    1620          20 :                 if (dce_call->fault_code != 0) {
    1621           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_RemoveAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1622             :                 }
    1623          20 :                 break;
    1624             :         }
    1625           0 :         case 39: { /* lsa_QueryTrustedDomainInfoBySid */
    1626           0 :                 struct lsa_QueryTrustedDomainInfoBySid *r2 = (struct lsa_QueryTrustedDomainInfoBySid *)r;
    1627           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1628           0 :                         DEBUG(5,("function lsa_QueryTrustedDomainInfoBySid replied async\n"));
    1629             :                 }
    1630           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1631           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoBySid, NDR_OUT | NDR_SET_VALUES, r2);
    1632             :                 }
    1633           0 :                 if (dce_call->fault_code != 0) {
    1634           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfoBySid\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1635             :                 }
    1636           0 :                 break;
    1637             :         }
    1638           0 :         case 40: { /* lsa_SetTrustedDomainInfo */
    1639           0 :                 struct lsa_SetTrustedDomainInfo *r2 = (struct lsa_SetTrustedDomainInfo *)r;
    1640           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1641           0 :                         DEBUG(5,("function lsa_SetTrustedDomainInfo replied async\n"));
    1642             :                 }
    1643           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1644           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfo, NDR_OUT | NDR_SET_VALUES, r2);
    1645             :                 }
    1646           0 :                 if (dce_call->fault_code != 0) {
    1647           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetTrustedDomainInfo\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1648             :                 }
    1649           0 :                 break;
    1650             :         }
    1651           0 :         case 41: { /* lsa_DeleteTrustedDomain */
    1652           0 :                 struct lsa_DeleteTrustedDomain *r2 = (struct lsa_DeleteTrustedDomain *)r;
    1653           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1654           0 :                         DEBUG(5,("function lsa_DeleteTrustedDomain replied async\n"));
    1655             :                 }
    1656           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1657           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
    1658             :                 }
    1659           0 :                 if (dce_call->fault_code != 0) {
    1660           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_DeleteTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1661             :                 }
    1662           0 :                 break;
    1663             :         }
    1664           0 :         case 42: { /* lsa_StorePrivateData */
    1665           0 :                 struct lsa_StorePrivateData *r2 = (struct lsa_StorePrivateData *)r;
    1666           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1667           0 :                         DEBUG(5,("function lsa_StorePrivateData replied async\n"));
    1668             :                 }
    1669           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1670           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_StorePrivateData, NDR_OUT | NDR_SET_VALUES, r2);
    1671             :                 }
    1672           0 :                 if (dce_call->fault_code != 0) {
    1673           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_StorePrivateData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1674             :                 }
    1675           0 :                 break;
    1676             :         }
    1677           0 :         case 43: { /* lsa_RetrievePrivateData */
    1678           0 :                 struct lsa_RetrievePrivateData *r2 = (struct lsa_RetrievePrivateData *)r;
    1679           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1680           0 :                         DEBUG(5,("function lsa_RetrievePrivateData replied async\n"));
    1681             :                 }
    1682           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1683           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_RetrievePrivateData, NDR_OUT | NDR_SET_VALUES, r2);
    1684             :                 }
    1685           0 :                 if (dce_call->fault_code != 0) {
    1686           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_RetrievePrivateData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1687             :                 }
    1688           0 :                 break;
    1689             :         }
    1690         651 :         case 44: { /* lsa_OpenPolicy2 */
    1691         651 :                 struct lsa_OpenPolicy2 *r2 = (struct lsa_OpenPolicy2 *)r;
    1692         651 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1693           0 :                         DEBUG(5,("function lsa_OpenPolicy2 replied async\n"));
    1694             :                 }
    1695         651 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1696           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
    1697             :                 }
    1698         651 :                 if (dce_call->fault_code != 0) {
    1699           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1700             :                 }
    1701         651 :                 break;
    1702             :         }
    1703         275 :         case 45: { /* lsa_GetUserName */
    1704         275 :                 struct lsa_GetUserName *r2 = (struct lsa_GetUserName *)r;
    1705         275 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1706           0 :                         DEBUG(5,("function lsa_GetUserName replied async\n"));
    1707             :                 }
    1708         275 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1709           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_GetUserName, NDR_OUT | NDR_SET_VALUES, r2);
    1710             :                 }
    1711         275 :                 if (dce_call->fault_code != 0) {
    1712           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_GetUserName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1713             :                 }
    1714         275 :                 break;
    1715             :         }
    1716           2 :         case 46: { /* lsa_QueryInfoPolicy2 */
    1717           2 :                 struct lsa_QueryInfoPolicy2 *r2 = (struct lsa_QueryInfoPolicy2 *)r;
    1718           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1719           0 :                         DEBUG(5,("function lsa_QueryInfoPolicy2 replied async\n"));
    1720             :                 }
    1721           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1722           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
    1723             :                 }
    1724           2 :                 if (dce_call->fault_code != 0) {
    1725           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryInfoPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1726             :                 }
    1727           2 :                 break;
    1728             :         }
    1729           0 :         case 47: { /* lsa_SetInfoPolicy2 */
    1730           0 :                 struct lsa_SetInfoPolicy2 *r2 = (struct lsa_SetInfoPolicy2 *)r;
    1731           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1732           0 :                         DEBUG(5,("function lsa_SetInfoPolicy2 replied async\n"));
    1733             :                 }
    1734           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1735           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
    1736             :                 }
    1737           0 :                 if (dce_call->fault_code != 0) {
    1738           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetInfoPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1739             :                 }
    1740           0 :                 break;
    1741             :         }
    1742           0 :         case 48: { /* lsa_QueryTrustedDomainInfoByName */
    1743           0 :                 struct lsa_QueryTrustedDomainInfoByName *r2 = (struct lsa_QueryTrustedDomainInfoByName *)r;
    1744           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1745           0 :                         DEBUG(5,("function lsa_QueryTrustedDomainInfoByName replied async\n"));
    1746             :                 }
    1747           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1748           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoByName, NDR_OUT | NDR_SET_VALUES, r2);
    1749             :                 }
    1750           0 :                 if (dce_call->fault_code != 0) {
    1751           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfoByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1752             :                 }
    1753           0 :                 break;
    1754             :         }
    1755           0 :         case 49: { /* lsa_SetTrustedDomainInfoByName */
    1756           0 :                 struct lsa_SetTrustedDomainInfoByName *r2 = (struct lsa_SetTrustedDomainInfoByName *)r;
    1757           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1758           0 :                         DEBUG(5,("function lsa_SetTrustedDomainInfoByName replied async\n"));
    1759             :                 }
    1760           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1761           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfoByName, NDR_OUT | NDR_SET_VALUES, r2);
    1762             :                 }
    1763           0 :                 if (dce_call->fault_code != 0) {
    1764           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetTrustedDomainInfoByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1765             :                 }
    1766           0 :                 break;
    1767             :         }
    1768           0 :         case 50: { /* lsa_EnumTrustedDomainsEx */
    1769           0 :                 struct lsa_EnumTrustedDomainsEx *r2 = (struct lsa_EnumTrustedDomainsEx *)r;
    1770           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1771           0 :                         DEBUG(5,("function lsa_EnumTrustedDomainsEx replied async\n"));
    1772             :                 }
    1773           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1774           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustedDomainsEx, NDR_OUT | NDR_SET_VALUES, r2);
    1775             :                 }
    1776           0 :                 if (dce_call->fault_code != 0) {
    1777           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_EnumTrustedDomainsEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1778             :                 }
    1779           0 :                 break;
    1780             :         }
    1781           0 :         case 51: { /* lsa_CreateTrustedDomainEx */
    1782           0 :                 struct lsa_CreateTrustedDomainEx *r2 = (struct lsa_CreateTrustedDomainEx *)r;
    1783           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1784           0 :                         DEBUG(5,("function lsa_CreateTrustedDomainEx replied async\n"));
    1785             :                 }
    1786           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1787           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx, NDR_OUT | NDR_SET_VALUES, r2);
    1788             :                 }
    1789           0 :                 if (dce_call->fault_code != 0) {
    1790           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomainEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1791             :                 }
    1792           0 :                 break;
    1793             :         }
    1794           0 :         case 52: { /* lsa_CloseTrustedDomainEx */
    1795           0 :                 struct lsa_CloseTrustedDomainEx *r2 = (struct lsa_CloseTrustedDomainEx *)r;
    1796           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1797           0 :                         DEBUG(5,("function lsa_CloseTrustedDomainEx replied async\n"));
    1798             :                 }
    1799           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1800           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CloseTrustedDomainEx, NDR_OUT | NDR_SET_VALUES, r2);
    1801             :                 }
    1802           0 :                 if (dce_call->fault_code != 0) {
    1803           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CloseTrustedDomainEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1804             :                 }
    1805           0 :                 break;
    1806             :         }
    1807           0 :         case 53: { /* lsa_QueryDomainInformationPolicy */
    1808           0 :                 struct lsa_QueryDomainInformationPolicy *r2 = (struct lsa_QueryDomainInformationPolicy *)r;
    1809           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1810           0 :                         DEBUG(5,("function lsa_QueryDomainInformationPolicy replied async\n"));
    1811             :                 }
    1812           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1813           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_QueryDomainInformationPolicy, NDR_OUT | NDR_SET_VALUES, r2);
    1814             :                 }
    1815           0 :                 if (dce_call->fault_code != 0) {
    1816           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_QueryDomainInformationPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1817             :                 }
    1818           0 :                 break;
    1819             :         }
    1820           0 :         case 54: { /* lsa_SetDomainInformationPolicy */
    1821           0 :                 struct lsa_SetDomainInformationPolicy *r2 = (struct lsa_SetDomainInformationPolicy *)r;
    1822           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1823           0 :                         DEBUG(5,("function lsa_SetDomainInformationPolicy replied async\n"));
    1824             :                 }
    1825           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1826           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_SetDomainInformationPolicy, NDR_OUT | NDR_SET_VALUES, r2);
    1827             :                 }
    1828           0 :                 if (dce_call->fault_code != 0) {
    1829           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_SetDomainInformationPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1830             :                 }
    1831           0 :                 break;
    1832             :         }
    1833           0 :         case 55: { /* lsa_OpenTrustedDomainByName */
    1834           0 :                 struct lsa_OpenTrustedDomainByName *r2 = (struct lsa_OpenTrustedDomainByName *)r;
    1835           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1836           0 :                         DEBUG(5,("function lsa_OpenTrustedDomainByName replied async\n"));
    1837             :                 }
    1838           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1839           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomainByName, NDR_OUT | NDR_SET_VALUES, r2);
    1840             :                 }
    1841           0 :                 if (dce_call->fault_code != 0) {
    1842           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_OpenTrustedDomainByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1843             :                 }
    1844           0 :                 break;
    1845             :         }
    1846           0 :         case 56: { /* lsa_TestCall */
    1847           0 :                 struct lsa_TestCall *r2 = (struct lsa_TestCall *)r;
    1848           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1849           0 :                         DEBUG(5,("function lsa_TestCall replied async\n"));
    1850             :                 }
    1851           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1852           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_TestCall, NDR_OUT | NDR_SET_VALUES, r2);
    1853             :                 }
    1854           0 :                 if (dce_call->fault_code != 0) {
    1855           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_TestCall\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1856             :                 }
    1857           0 :                 break;
    1858             :         }
    1859           2 :         case 57: { /* lsa_LookupSids2 */
    1860           2 :                 struct lsa_LookupSids2 *r2 = (struct lsa_LookupSids2 *)r;
    1861           2 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1862           0 :                         DEBUG(5,("function lsa_LookupSids2 replied async\n"));
    1863             :                 }
    1864           2 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1865           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids2, NDR_OUT | NDR_SET_VALUES, r2);
    1866             :                 }
    1867           2 :                 if (dce_call->fault_code != 0) {
    1868           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupSids2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1869             :                 }
    1870           2 :                 break;
    1871             :         }
    1872           4 :         case 58: { /* lsa_LookupNames2 */
    1873           4 :                 struct lsa_LookupNames2 *r2 = (struct lsa_LookupNames2 *)r;
    1874           4 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1875           0 :                         DEBUG(5,("function lsa_LookupNames2 replied async\n"));
    1876             :                 }
    1877           4 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1878           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames2, NDR_OUT | NDR_SET_VALUES, r2);
    1879             :                 }
    1880           4 :                 if (dce_call->fault_code != 0) {
    1881           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupNames2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1882             :                 }
    1883           4 :                 break;
    1884             :         }
    1885           0 :         case 59: { /* lsa_CreateTrustedDomainEx2 */
    1886           0 :                 struct lsa_CreateTrustedDomainEx2 *r2 = (struct lsa_CreateTrustedDomainEx2 *)r;
    1887           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1888           0 :                         DEBUG(5,("function lsa_CreateTrustedDomainEx2 replied async\n"));
    1889             :                 }
    1890           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1891           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx2, NDR_OUT | NDR_SET_VALUES, r2);
    1892             :                 }
    1893           0 :                 if (dce_call->fault_code != 0) {
    1894           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomainEx2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1895             :                 }
    1896           0 :                 break;
    1897             :         }
    1898           0 :         case 60: { /* lsa_CREDRWRITE */
    1899           0 :                 struct lsa_CREDRWRITE *r2 = (struct lsa_CREDRWRITE *)r;
    1900           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1901           0 :                         DEBUG(5,("function lsa_CREDRWRITE replied async\n"));
    1902             :                 }
    1903           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1904           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITE, NDR_OUT | NDR_SET_VALUES, r2);
    1905             :                 }
    1906           0 :                 if (dce_call->fault_code != 0) {
    1907           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRWRITE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1908             :                 }
    1909           0 :                 break;
    1910             :         }
    1911           0 :         case 61: { /* lsa_CREDRREAD */
    1912           0 :                 struct lsa_CREDRREAD *r2 = (struct lsa_CREDRREAD *)r;
    1913           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1914           0 :                         DEBUG(5,("function lsa_CREDRREAD replied async\n"));
    1915             :                 }
    1916           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1917           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREAD, NDR_OUT | NDR_SET_VALUES, r2);
    1918             :                 }
    1919           0 :                 if (dce_call->fault_code != 0) {
    1920           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRREAD\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1921             :                 }
    1922           0 :                 break;
    1923             :         }
    1924           0 :         case 62: { /* lsa_CREDRENUMERATE */
    1925           0 :                 struct lsa_CREDRENUMERATE *r2 = (struct lsa_CREDRENUMERATE *)r;
    1926           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1927           0 :                         DEBUG(5,("function lsa_CREDRENUMERATE replied async\n"));
    1928             :                 }
    1929           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1930           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRENUMERATE, NDR_OUT | NDR_SET_VALUES, r2);
    1931             :                 }
    1932           0 :                 if (dce_call->fault_code != 0) {
    1933           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRENUMERATE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1934             :                 }
    1935           0 :                 break;
    1936             :         }
    1937           0 :         case 63: { /* lsa_CREDRWRITEDOMAINCREDENTIALS */
    1938           0 :                 struct lsa_CREDRWRITEDOMAINCREDENTIALS *r2 = (struct lsa_CREDRWRITEDOMAINCREDENTIALS *)r;
    1939           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1940           0 :                         DEBUG(5,("function lsa_CREDRWRITEDOMAINCREDENTIALS replied async\n"));
    1941             :                 }
    1942           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1943           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, NDR_OUT | NDR_SET_VALUES, r2);
    1944             :                 }
    1945           0 :                 if (dce_call->fault_code != 0) {
    1946           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRWRITEDOMAINCREDENTIALS\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1947             :                 }
    1948           0 :                 break;
    1949             :         }
    1950           0 :         case 64: { /* lsa_CREDRREADDOMAINCREDENTIALS */
    1951           0 :                 struct lsa_CREDRREADDOMAINCREDENTIALS *r2 = (struct lsa_CREDRREADDOMAINCREDENTIALS *)r;
    1952           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1953           0 :                         DEBUG(5,("function lsa_CREDRREADDOMAINCREDENTIALS replied async\n"));
    1954             :                 }
    1955           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1956           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, NDR_OUT | NDR_SET_VALUES, r2);
    1957             :                 }
    1958           0 :                 if (dce_call->fault_code != 0) {
    1959           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRREADDOMAINCREDENTIALS\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1960             :                 }
    1961           0 :                 break;
    1962             :         }
    1963           0 :         case 65: { /* lsa_CREDRDELETE */
    1964           0 :                 struct lsa_CREDRDELETE *r2 = (struct lsa_CREDRDELETE *)r;
    1965           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1966           0 :                         DEBUG(5,("function lsa_CREDRDELETE replied async\n"));
    1967             :                 }
    1968           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1969           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRDELETE, NDR_OUT | NDR_SET_VALUES, r2);
    1970             :                 }
    1971           0 :                 if (dce_call->fault_code != 0) {
    1972           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRDELETE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1973             :                 }
    1974           0 :                 break;
    1975             :         }
    1976           0 :         case 66: { /* lsa_CREDRGETTARGETINFO */
    1977           0 :                 struct lsa_CREDRGETTARGETINFO *r2 = (struct lsa_CREDRGETTARGETINFO *)r;
    1978           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1979           0 :                         DEBUG(5,("function lsa_CREDRGETTARGETINFO replied async\n"));
    1980             :                 }
    1981           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1982           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETTARGETINFO, NDR_OUT | NDR_SET_VALUES, r2);
    1983             :                 }
    1984           0 :                 if (dce_call->fault_code != 0) {
    1985           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRGETTARGETINFO\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1986             :                 }
    1987           0 :                 break;
    1988             :         }
    1989           0 :         case 67: { /* lsa_CREDRPROFILELOADED */
    1990           0 :                 struct lsa_CREDRPROFILELOADED *r2 = (struct lsa_CREDRPROFILELOADED *)r;
    1991           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    1992           0 :                         DEBUG(5,("function lsa_CREDRPROFILELOADED replied async\n"));
    1993             :                 }
    1994           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    1995           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRPROFILELOADED, NDR_OUT | NDR_SET_VALUES, r2);
    1996             :                 }
    1997           0 :                 if (dce_call->fault_code != 0) {
    1998           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRPROFILELOADED\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    1999             :                 }
    2000           0 :                 break;
    2001             :         }
    2002           4 :         case 68: { /* lsa_LookupNames3 */
    2003           4 :                 struct lsa_LookupNames3 *r2 = (struct lsa_LookupNames3 *)r;
    2004           4 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2005           0 :                         DEBUG(5,("function lsa_LookupNames3 replied async\n"));
    2006             :                 }
    2007           4 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2008           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames3, NDR_OUT | NDR_SET_VALUES, r2);
    2009             :                 }
    2010           4 :                 if (dce_call->fault_code != 0) {
    2011           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupNames3\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2012             :                 }
    2013           4 :                 break;
    2014             :         }
    2015           0 :         case 69: { /* lsa_CREDRGETSESSIONTYPES */
    2016           0 :                 struct lsa_CREDRGETSESSIONTYPES *r2 = (struct lsa_CREDRGETSESSIONTYPES *)r;
    2017           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2018           0 :                         DEBUG(5,("function lsa_CREDRGETSESSIONTYPES replied async\n"));
    2019             :                 }
    2020           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2021           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETSESSIONTYPES, NDR_OUT | NDR_SET_VALUES, r2);
    2022             :                 }
    2023           0 :                 if (dce_call->fault_code != 0) {
    2024           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRGETSESSIONTYPES\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2025             :                 }
    2026           0 :                 break;
    2027             :         }
    2028           0 :         case 70: { /* lsa_LSARREGISTERAUDITEVENT */
    2029           0 :                 struct lsa_LSARREGISTERAUDITEVENT *r2 = (struct lsa_LSARREGISTERAUDITEVENT *)r;
    2030           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2031           0 :                         DEBUG(5,("function lsa_LSARREGISTERAUDITEVENT replied async\n"));
    2032             :                 }
    2033           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2034           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARREGISTERAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
    2035             :                 }
    2036           0 :                 if (dce_call->fault_code != 0) {
    2037           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARREGISTERAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2038             :                 }
    2039           0 :                 break;
    2040             :         }
    2041           0 :         case 71: { /* lsa_LSARGENAUDITEVENT */
    2042           0 :                 struct lsa_LSARGENAUDITEVENT *r2 = (struct lsa_LSARGENAUDITEVENT *)r;
    2043           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2044           0 :                         DEBUG(5,("function lsa_LSARGENAUDITEVENT replied async\n"));
    2045             :                 }
    2046           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2047           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARGENAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
    2048             :                 }
    2049           0 :                 if (dce_call->fault_code != 0) {
    2050           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARGENAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2051             :                 }
    2052           0 :                 break;
    2053             :         }
    2054           0 :         case 72: { /* lsa_LSARUNREGISTERAUDITEVENT */
    2055           0 :                 struct lsa_LSARUNREGISTERAUDITEVENT *r2 = (struct lsa_LSARUNREGISTERAUDITEVENT *)r;
    2056           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2057           0 :                         DEBUG(5,("function lsa_LSARUNREGISTERAUDITEVENT replied async\n"));
    2058             :                 }
    2059           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2060           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
    2061             :                 }
    2062           0 :                 if (dce_call->fault_code != 0) {
    2063           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARUNREGISTERAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2064             :                 }
    2065           0 :                 break;
    2066             :         }
    2067           0 :         case 73: { /* lsa_lsaRQueryForestTrustInformation */
    2068           0 :                 struct lsa_lsaRQueryForestTrustInformation *r2 = (struct lsa_lsaRQueryForestTrustInformation *)r;
    2069           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2070           0 :                         DEBUG(5,("function lsa_lsaRQueryForestTrustInformation replied async\n"));
    2071             :                 }
    2072           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2073           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRQueryForestTrustInformation, NDR_OUT | NDR_SET_VALUES, r2);
    2074             :                 }
    2075           0 :                 if (dce_call->fault_code != 0) {
    2076           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_lsaRQueryForestTrustInformation\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2077             :                 }
    2078           0 :                 break;
    2079             :         }
    2080           0 :         case 74: { /* lsa_lsaRSetForestTrustInformation */
    2081           0 :                 struct lsa_lsaRSetForestTrustInformation *r2 = (struct lsa_lsaRSetForestTrustInformation *)r;
    2082           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2083           0 :                         DEBUG(5,("function lsa_lsaRSetForestTrustInformation replied async\n"));
    2084             :                 }
    2085           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2086           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRSetForestTrustInformation, NDR_OUT | NDR_SET_VALUES, r2);
    2087             :                 }
    2088           0 :                 if (dce_call->fault_code != 0) {
    2089           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_lsaRSetForestTrustInformation\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2090             :                 }
    2091           0 :                 break;
    2092             :         }
    2093           0 :         case 75: { /* lsa_CREDRRENAME */
    2094           0 :                 struct lsa_CREDRRENAME *r2 = (struct lsa_CREDRRENAME *)r;
    2095           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2096           0 :                         DEBUG(5,("function lsa_CREDRRENAME replied async\n"));
    2097             :                 }
    2098           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2099           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRRENAME, NDR_OUT | NDR_SET_VALUES, r2);
    2100             :                 }
    2101           0 :                 if (dce_call->fault_code != 0) {
    2102           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_CREDRRENAME\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2103             :                 }
    2104           0 :                 break;
    2105             :         }
    2106          21 :         case 76: { /* lsa_LookupSids3 */
    2107          21 :                 struct lsa_LookupSids3 *r2 = (struct lsa_LookupSids3 *)r;
    2108          21 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2109           0 :                         DEBUG(5,("function lsa_LookupSids3 replied async\n"));
    2110             :                 }
    2111          21 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2112           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids3, NDR_OUT | NDR_SET_VALUES, r2);
    2113             :                 }
    2114          21 :                 if (dce_call->fault_code != 0) {
    2115           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupSids3\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2116             :                 }
    2117          21 :                 break;
    2118             :         }
    2119          42 :         case 77: { /* lsa_LookupNames4 */
    2120          42 :                 struct lsa_LookupNames4 *r2 = (struct lsa_LookupNames4 *)r;
    2121          42 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2122           0 :                         DEBUG(5,("function lsa_LookupNames4 replied async\n"));
    2123             :                 }
    2124          42 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2125           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames4, NDR_OUT | NDR_SET_VALUES, r2);
    2126             :                 }
    2127          42 :                 if (dce_call->fault_code != 0) {
    2128           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LookupNames4\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2129             :                 }
    2130          42 :                 break;
    2131             :         }
    2132           0 :         case 78: { /* lsa_LSAROPENPOLICYSCE */
    2133           0 :                 struct lsa_LSAROPENPOLICYSCE *r2 = (struct lsa_LSAROPENPOLICYSCE *)r;
    2134           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2135           0 :                         DEBUG(5,("function lsa_LSAROPENPOLICYSCE replied async\n"));
    2136             :                 }
    2137           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2138           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSAROPENPOLICYSCE, NDR_OUT | NDR_SET_VALUES, r2);
    2139             :                 }
    2140           0 :                 if (dce_call->fault_code != 0) {
    2141           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSAROPENPOLICYSCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2142             :                 }
    2143           0 :                 break;
    2144             :         }
    2145           0 :         case 79: { /* lsa_LSARADTREGISTERSECURITYEVENTSOURCE */
    2146           0 :                 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *)r;
    2147           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2148           0 :                         DEBUG(5,("function lsa_LSARADTREGISTERSECURITYEVENTSOURCE replied async\n"));
    2149             :                 }
    2150           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2151           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, NDR_OUT | NDR_SET_VALUES, r2);
    2152             :                 }
    2153           0 :                 if (dce_call->fault_code != 0) {
    2154           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARADTREGISTERSECURITYEVENTSOURCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2155             :                 }
    2156           0 :                 break;
    2157             :         }
    2158           0 :         case 80: { /* lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE */
    2159           0 :                 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *)r;
    2160           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2161           0 :                         DEBUG(5,("function lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE replied async\n"));
    2162             :                 }
    2163           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2164           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, NDR_OUT | NDR_SET_VALUES, r2);
    2165             :                 }
    2166           0 :                 if (dce_call->fault_code != 0) {
    2167           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2168             :                 }
    2169           0 :                 break;
    2170             :         }
    2171           0 :         case 81: { /* lsa_LSARADTREPORTSECURITYEVENT */
    2172           0 :                 struct lsa_LSARADTREPORTSECURITYEVENT *r2 = (struct lsa_LSARADTREPORTSECURITYEVENT *)r;
    2173           0 :                 if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
    2174           0 :                         DEBUG(5,("function lsa_LSARADTREPORTSECURITYEVENT replied async\n"));
    2175             :                 }
    2176           0 :                 if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
    2177           0 :                         NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, NDR_OUT | NDR_SET_VALUES, r2);
    2178             :                 }
    2179           0 :                 if (dce_call->fault_code != 0) {
    2180           0 :                         DBG_WARNING("dcerpc_fault %s in lsa_LSARADTREPORTSECURITYEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
    2181             :                 }
    2182           0 :                 break;
    2183             :         }
    2184           0 :         default:
    2185           0 :                 dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
    2186           0 :                 break;
    2187             :         }
    2188             : 
    2189        7998 :         if (dce_call->fault_code != 0) {
    2190           0 :                 return NT_STATUS_NET_WRITE_FAULT;
    2191             :         }
    2192             : 
    2193        7998 :         return NT_STATUS_OK;
    2194             : }
    2195             : 
    2196        7998 : NTSTATUS lsarpc__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
    2197             : {
    2198           0 :         enum ndr_err_code ndr_err;
    2199        7998 :         uint16_t opnum = dce_call->pkt.u.request.opnum;
    2200             : 
    2201        7998 :         ndr_err = ndr_table_lsarpc.calls[opnum].ndr_push(push, NDR_OUT, r);
    2202        7998 :         if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
    2203           0 :                 dce_call->fault_code = DCERPC_FAULT_NDR;
    2204           0 :                 return NT_STATUS_NET_WRITE_FAULT;
    2205             :         }
    2206             : 
    2207        7998 :         return NT_STATUS_OK;
    2208             : }
    2209             : 
    2210           0 : NTSTATUS lsarpc__op_local(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
    2211             : {
    2212           0 :         return lsarpc__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_INTERNAL);
    2213             : }
    2214             : 
    2215             : static const struct dcesrv_interface dcesrv_lsarpc_interface = {
    2216             :         .name      = "lsarpc",
    2217             :         .syntax_id = {{0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},0.0},
    2218             :         .bind      = lsarpc__op_bind,
    2219             :         .unbind    = lsarpc__op_unbind,
    2220             :         .ndr_pull  = lsarpc__op_ndr_pull,
    2221             :         .dispatch  = lsarpc__op_dispatch,
    2222             :         .reply     = lsarpc__op_reply,
    2223             :         .ndr_push  = lsarpc__op_ndr_push,
    2224             :         .local     = lsarpc__op_local,
    2225             : #ifdef DCESRV_INTERFACE_LSARPC_FLAGS
    2226             :         .flags     = DCESRV_INTERFACE_LSARPC_FLAGS
    2227             : #else
    2228             :         .flags     = 0
    2229             : #endif
    2230             : };
    2231             : 
    2232         206 : static NTSTATUS lsarpc__op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
    2233             : {
    2234           0 :         uint32_t i;
    2235           0 :         NTSTATUS ret;
    2236             : 
    2237             : #ifdef DCESRV_INTERFACE_LSARPC_NCACN_NP_SECONDARY_ENDPOINT
    2238         206 :         const char *ncacn_np_secondary_endpoint = DCESRV_INTERFACE_LSARPC_NCACN_NP_SECONDARY_ENDPOINT;
    2239             : #else
    2240             :         const char *ncacn_np_secondary_endpoint = NULL;
    2241             : #endif
    2242             : 
    2243        1030 :         for (i=0;i<ndr_table_lsarpc.endpoints->count;i++) {
    2244         824 :                 const char *name = ndr_table_lsarpc.endpoints->names[i];
    2245             : 
    2246         824 :                 ret = dcesrv_interface_register(dce_ctx, name, ncacn_np_secondary_endpoint, &dcesrv_lsarpc_interface, NULL);
    2247         824 :                 if (!NT_STATUS_IS_OK(ret)) {
    2248           0 :                         DBG_ERR("Failed to register endpoint '%s'\n",name);
    2249           0 :                         return ret;
    2250             :                 }
    2251             :         }
    2252             : 
    2253         206 :         return NT_STATUS_OK;
    2254             : }
    2255             : 
    2256         206 : static NTSTATUS lsarpc__op_shutdown_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
    2257             : {
    2258         206 :         return NT_STATUS_OK;
    2259             : }
    2260             : 
    2261           0 : static bool lsarpc__op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
    2262             : {
    2263           0 :         if (dcesrv_lsarpc_interface.syntax_id.if_version == if_version && GUID_equal(&dcesrv_lsarpc_interface.syntax_id.uuid, uuid)) {
    2264           0 :                 memcpy(iface,&dcesrv_lsarpc_interface, sizeof(*iface));
    2265           0 :                 return true;
    2266             :         }
    2267             : 
    2268           0 :         return false;
    2269             : }
    2270             : 
    2271           0 : static bool lsarpc__op_interface_by_name(struct dcesrv_interface *iface, const char *name)
    2272             : {
    2273           0 :         if (strcmp(dcesrv_lsarpc_interface.name, name)==0) {
    2274           0 :                 memcpy(iface, &dcesrv_lsarpc_interface, sizeof(*iface));
    2275           0 :                 return true;
    2276             :         }
    2277             : 
    2278           0 :         return false;
    2279             : }
    2280             : 
    2281             : static const struct dcesrv_endpoint_server lsarpc_ep_server = {
    2282             :         /* fill in our name */
    2283             :         .name = "lsarpc",
    2284             : 
    2285             :         /* Initialization flag */
    2286             :         .initialized = false,
    2287             : 
    2288             :         /* fill in all the operations */
    2289             : #ifdef DCESRV_INTERFACE_LSARPC_INIT_SERVER
    2290             :         .init_server = DCESRV_INTERFACE_LSARPC_INIT_SERVER,
    2291             : #else
    2292             :         .init_server = lsarpc__op_init_server,
    2293             : #endif
    2294             : #ifdef DCESRV_INTERFACE_LSARPC_SHUTDOWN_SERVER
    2295             :         .shutdown_server = DCESRV_INTERFACE_LSARPC_SHUTDOWN_SERVER,
    2296             : #else
    2297             :         .shutdown_server = lsarpc__op_shutdown_server,
    2298             : #endif
    2299             :         .interface_by_uuid = lsarpc__op_interface_by_uuid,
    2300             :         .interface_by_name = lsarpc__op_interface_by_name
    2301             : };
    2302             : 
    2303         206 : const struct dcesrv_endpoint_server *lsarpc_get_ep_server(void)
    2304             : {
    2305         206 :         return &lsarpc_ep_server;
    2306             : }

Generated by: LCOV version 1.14