diff options
author | Günther Deschner <gd@samba.org> | 2008-03-07 23:40:00 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@bando.sernet.private> | 2008-03-31 14:20:59 +0200 |
commit | fc463400bbb2f93ee3e9a9b18f632453edb9631f (patch) | |
tree | 2e566e253ed623ae9906da0f84633e7090cc4c2e /source/rpc_server | |
parent | ba90d01fedcfc4a7a41cf0c871d4b2a3cd6c95d2 (diff) | |
download | samba-fc463400bbb2f93ee3e9a9b18f632453edb9631f.tar.gz samba-fc463400bbb2f93ee3e9a9b18f632453edb9631f.tar.xz samba-fc463400bbb2f93ee3e9a9b18f632453edb9631f.zip |
Use pidl for _srvsvc_NetNameValidate.
Guenther
(cherry picked from commit 2e1df306785296979ea064006402254e318e946b)
Diffstat (limited to 'source/rpc_server')
-rw-r--r-- | source/rpc_server/srv_srvsvc.c | 25 | ||||
-rw-r--r-- | source/rpc_server/srv_srvsvc_nt.c | 23 |
2 files changed, 11 insertions, 37 deletions
diff --git a/source/rpc_server/srv_srvsvc.c b/source/rpc_server/srv_srvsvc.c index 875cda50f99..8853295608f 100644 --- a/source/rpc_server/srv_srvsvc.c +++ b/source/rpc_server/srv_srvsvc.c @@ -301,30 +301,9 @@ static bool api_srv_net_disk_enum(pipes_struct *p) NetValidateName (opnum 0x21) *******************************************************************/ -static bool api_srv_net_name_validate(pipes_struct *p) +static bool api_srv_net_name_validate(pipes_struct *p) { - SRV_Q_NET_NAME_VALIDATE q_u; - SRV_R_NET_NAME_VALIDATE r_u; - prs_struct *data = &p->in_data.data; - prs_struct *rdata = &p->out_data.rdata; - - ZERO_STRUCT(q_u); - ZERO_STRUCT(r_u); - - /* Unmarshall the net server disk enum. */ - if(!srv_io_q_net_name_validate("", &q_u, data, 0)) { - DEBUG(0,("api_srv_net_name_validate: Failed to unmarshall SRV_Q_NET_NAME_VALIDATE.\n")); - return False; - } - - r_u.status = _srv_net_name_validate(p, &q_u, &r_u); - - if(!srv_io_r_net_name_validate("", &r_u, rdata, 0)) { - DEBUG(0,("api_srv_net_name_validate: Failed to marshall SRV_R_NET_NAME_VALIDATE.\n")); - return False; - } - - return True; + return proxy_srvsvc_call(p, NDR_SRVSVC_NETNAMEVALIDATE); } /******************************************************************* diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c index 7d5b42d0af7..04a523bf0c3 100644 --- a/source/rpc_server/srv_srvsvc_nt.c +++ b/source/rpc_server/srv_srvsvc_nt.c @@ -2383,17 +2383,19 @@ WERROR _srv_net_disk_enum(pipes_struct *p, SRV_Q_NET_DISK_ENUM *q_u, SRV_R_NET_D } /******************************************************************** + _srvsvc_NetNameValidate ********************************************************************/ -WERROR _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV_R_NET_NAME_VALIDATE *r_u) +WERROR _srvsvc_NetNameValidate(pipes_struct *p, + struct srvsvc_NetNameValidate *r) { - fstring sharename; - - switch ( q_u->type ) { + switch (r->in.name_type) { case 0x9: - rpcstr_pull(sharename, q_u->sharename.buffer, sizeof(sharename), q_u->sharename.uni_str_len*2, 0); - if ( !validate_net_name( sharename, INVALID_SHARENAME_CHARS, sizeof(sharename) ) ) { - DEBUG(5,("_srv_net_name_validate: Bad sharename \"%s\"\n", sharename)); + if (!validate_net_name(r->in.name, INVALID_SHARENAME_CHARS, + strlen_m(r->in.name))) + { + DEBUG(5,("_srvsvc_NetNameValidate: Bad sharename \"%s\"\n", + r->in.name)); return WERR_INVALID_NAME; } break; @@ -2405,7 +2407,6 @@ WERROR _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV return WERR_OK; } - /******************************************************************** ********************************************************************/ @@ -2562,12 +2563,6 @@ WERROR _srvsvc_NetPathCompare(pipes_struct *p, struct srvsvc_NetPathCompare *r) return WERR_NOT_SUPPORTED; } -WERROR _srvsvc_NetNameValidate(pipes_struct *p, struct srvsvc_NetNameValidate *r) -{ - p->rng_fault_state = True; - return WERR_NOT_SUPPORTED; -} - WERROR _srvsvc_NETRPRNAMECANONICALIZE(pipes_struct *p, struct srvsvc_NETRPRNAMECANONICALIZE *r) { p->rng_fault_state = True; |