summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_server/srv_srvsvc.c25
-rw-r--r--source3/rpc_server/srv_srvsvc_nt.c23
2 files changed, 11 insertions, 37 deletions
diff --git a/source3/rpc_server/srv_srvsvc.c b/source3/rpc_server/srv_srvsvc.c
index 875cda50f9..8853295608 100644
--- a/source3/rpc_server/srv_srvsvc.c
+++ b/source3/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/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c
index a6cf06caa7..a64691c635 100644
--- a/source3/rpc_server/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srv_srvsvc_nt.c
@@ -2380,17 +2380,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;
@@ -2402,7 +2404,6 @@ WERROR _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV
return WERR_OK;
}
-
/********************************************************************
********************************************************************/
@@ -2559,12 +2560,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;