More code from "Kai Krueger" <kai@kruegernetz.de>, this time starting to make
[kai/samba.git] / source3 / rpc_server / srv_samr.c
index 1c4fab5312b7318e045a23f8343450b39cba011b..f002a7d1c92a583715d67fba049374b35bd78634 100644 (file)
@@ -126,6 +126,37 @@ static BOOL api_samr_get_usrdom_pwinfo(pipes_struct *p)
        return True;
 }
 
+/*******************************************************************
+ api_samr_set_sec_obj
+ ********************************************************************/
+
+static BOOL api_samr_set_sec_obj(pipes_struct *p)
+{
+       SAMR_Q_SET_SEC_OBJ q_u;
+       SAMR_R_SET_SEC_OBJ 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(!samr_io_q_set_sec_obj("", &q_u, data, 0)) {
+               DEBUG(0,("api_samr_set_sec_obj: unable to unmarshall SAMR_Q_SET_SEC_OBJ.\n"));
+               return False;
+       }
+
+       r_u.status = _samr_set_sec_obj(p, &q_u, &r_u);
+
+       if(!samr_io_r_set_sec_obj("", &r_u, rdata, 0)) {
+               DEBUG(0,("api_samr_set_sec_obj: unable to marshall SAMR_R_SET_SEC_OBJ.\n"));
+               return False;
+       }
+       
+       
+       return True;
+}
+
 /*******************************************************************
  api_samr_query_sec_obj
  ********************************************************************/
@@ -1430,6 +1461,7 @@ static struct api_struct api_samr_cmds [] =
        {"SAMR_LOOKUP_DOMAIN"     , SAMR_LOOKUP_DOMAIN    , api_samr_lookup_domain    },
 
        {"SAMR_QUERY_SEC_OBJECT"  , SAMR_QUERY_SEC_OBJECT , api_samr_query_sec_obj    },
+       {"SAMR_SET_SEC_OBJECT"    , SAMR_SET_SEC_OBJECT   , api_samr_set_sec_obj      },
        {"SAMR_GET_USRDOM_PWINFO" , SAMR_GET_USRDOM_PWINFO, api_samr_get_usrdom_pwinfo},
        {"SAMR_UNKNOWN_2E"        , SAMR_UNKNOWN_2E       , api_samr_unknown_2e       },
        {"SAMR_SET_DOMAIN_INFO"   , SAMR_SET_DOMAIN_INFO  , api_samr_set_dom_info     },