]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Use pidl for _lsa_GetSystemAccessAccount().
authorGünther Deschner <gd@samba.org>
Fri, 8 Feb 2008 17:54:02 +0000 (18:54 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 8 Feb 2008 21:54:36 +0000 (22:54 +0100)
Guenther

source/rpc_server/srv_lsa.c
source/rpc_server/srv_lsa_nt.c

index 057c8f691ccb6a5d1be29f869dd21d35fef67927..24bc65c51ace955f0bf4718e82c3dc5e214df715 100644 (file)
@@ -356,29 +356,7 @@ static bool api_lsa_enum_privsaccount(pipes_struct *p)
 
 static bool api_lsa_getsystemaccount(pipes_struct *p)
 {
-       LSA_Q_GETSYSTEMACCOUNT q_u;
-       LSA_R_GETSYSTEMACCOUNT r_u;
-       
-       prs_struct *data = &p->in_data.data;
-       prs_struct *rdata = &p->out_data.rdata;
-
-       ZERO_STRUCT(q_u);
-       ZERO_STRUCT(r_u);
-
-       if(!lsa_io_q_getsystemaccount("", &q_u, data, 0)) {
-               DEBUG(0,("api_lsa_getsystemaccount: failed to unmarshall LSA_Q_GETSYSTEMACCOUNT.\n"));
-               return False;
-       }
-
-       r_u.status = _lsa_getsystemaccount(p, &q_u, &r_u);
-
-       /* store the response in the SMB stream */
-       if(!lsa_io_r_getsystemaccount("", &r_u, rdata, 0)) {
-               DEBUG(0,("api_lsa_getsystemaccount: Failed to marshall LSA_R_GETSYSTEMACCOUNT.\n"));
-               return False;
-       }
-
-       return True;
+       return proxy_lsa_call(p, NDR_LSA_GETSYSTEMACCESSACCOUNT);
 }
 
 
index dd1ee3d3577de14e3392d63ba04ad63c3ac0ef6b..247a52df469a1fd7deb0594d214a3a3a6bc35d2b 100644 (file)
@@ -1733,16 +1733,17 @@ NTSTATUS _lsa_enum_privsaccount(pipes_struct *p, prs_struct *ps, LSA_Q_ENUMPRIVS
 }
 
 /***************************************************************************
+ _lsa_GetSystemAccessAccount
  ***************************************************************************/
 
-NTSTATUS _lsa_getsystemaccount(pipes_struct *p, LSA_Q_GETSYSTEMACCOUNT *q_u, LSA_R_GETSYSTEMACCOUNT *r_u)
+NTSTATUS _lsa_GetSystemAccessAccount(pipes_struct *p,
+                                    struct lsa_GetSystemAccessAccount *r)
 {
        struct lsa_info *info=NULL;
 
        /* find the connection policy handle. */
 
-       if (!find_policy_by_hnd(p, &q_u->pol, (void **)(void *)&info))
+       if (!find_policy_by_hnd(p, r->in.handle, (void **)(void *)&info))
                return NT_STATUS_INVALID_HANDLE;
 
        if (!lookup_sid(p->mem_ctx, &info->sid, NULL, NULL, NULL))
@@ -1757,7 +1758,7 @@ NTSTATUS _lsa_getsystemaccount(pipes_struct *p, LSA_Q_GETSYSTEMACCOUNT *q_u, LSA
          they can be ORed together
        */
 
-       r_u->access = PR_LOG_ON_LOCALLY | PR_ACCESS_FROM_NETWORK;
+       *r->out.access_mask = PR_LOG_ON_LOCALLY | PR_ACCESS_FROM_NETWORK;
 
        return NT_STATUS_OK;
 }
@@ -2271,12 +2272,6 @@ NTSTATUS _lsa_SetQuotasForAccount(pipes_struct *p, struct lsa_SetQuotasForAccoun
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS _lsa_GetSystemAccessAccount(pipes_struct *p, struct lsa_GetSystemAccessAccount *r)
-{
-       p->rng_fault_state = True;
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 NTSTATUS _lsa_QueryTrustedDomainInfo(pipes_struct *p, struct lsa_QueryTrustedDomainInfo *r)
 {
        p->rng_fault_state = True;