diff options
author | Günther Deschner <gd@samba.org> | 2008-02-11 21:09:21 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-02-11 22:49:10 +0100 |
commit | 6bb6af65abfced64576d990b5f734d61130b3d77 (patch) | |
tree | 8145f106db29cf0c94a876581eebe0bc06cb339b /source3/rpc_server/srv_samr.c | |
parent | 7303fce0e0154e9db460ebf71ebb79811c768122 (diff) | |
download | samba-6bb6af65abfced64576d990b5f734d61130b3d77.tar.gz samba-6bb6af65abfced64576d990b5f734d61130b3d77.tar.xz samba-6bb6af65abfced64576d990b5f734d61130b3d77.zip |
Use pidl for _samr_SetUserInfo and _samr_SetUserInfo2.
Guenther
(This used to be commit d148ffbc955aa62e42ab480e41d3a9b8c63117cd)
Diffstat (limited to 'source3/rpc_server/srv_samr.c')
-rw-r--r-- | source3/rpc_server/srv_samr.c | 51 |
1 files changed, 2 insertions, 49 deletions
diff --git a/source3/rpc_server/srv_samr.c b/source3/rpc_server/srv_samr.c index 771c1e3341..8d626fced9 100644 --- a/source3/rpc_server/srv_samr.c +++ b/source3/rpc_server/srv_samr.c @@ -383,33 +383,7 @@ static bool api_samr_open_alias(pipes_struct *p) static bool api_samr_set_userinfo(pipes_struct *p) { - SAMR_Q_SET_USERINFO q_u; - SAMR_R_SET_USERINFO 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_userinfo("", &q_u, data, 0)) { - DEBUG(0,("api_samr_set_userinfo: Unable to unmarshall SAMR_Q_SET_USERINFO.\n")); - /* Fix for W2K SP2 */ - /* what is that status-code ? - gd */ - if (q_u.switch_value == 0x1a) { - setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_INVALID_TAG)); - return True; - } - return False; - } - - r_u.status = _samr_set_userinfo(p, &q_u, &r_u); - - if(!samr_io_r_set_userinfo("", &r_u, rdata, 0)) { - DEBUG(0,("api_samr_set_userinfo: Unable to marshall SAMR_R_SET_USERINFO.\n")); - return False; - } - - return True; + return proxy_samr_call(p, NDR_SAMR_SETUSERINFO); } /******************************************************************* @@ -418,28 +392,7 @@ static bool api_samr_set_userinfo(pipes_struct *p) static bool api_samr_set_userinfo2(pipes_struct *p) { - SAMR_Q_SET_USERINFO2 q_u; - SAMR_R_SET_USERINFO2 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_userinfo2("", &q_u, data, 0)) { - DEBUG(0,("api_samr_set_userinfo2: Unable to unmarshall SAMR_Q_SET_USERINFO2.\n")); - return False; - } - - r_u.status = _samr_set_userinfo2(p, &q_u, &r_u); - - if(!samr_io_r_set_userinfo2("", &r_u, rdata, 0)) { - DEBUG(0,("api_samr_set_userinfo2: Unable to marshall SAMR_R_SET_USERINFO2.\n")); - return False; - } - - return True; + return proxy_samr_call(p, NDR_SAMR_SETUSERINFO2); } /******************************************************************* |