summaryrefslogtreecommitdiffstats
path: root/source/rpc_server
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-03-07 23:40:00 +0100
committerKarolin Seeger <kseeger@bando.sernet.private>2008-03-31 14:20:59 +0200
commitfc463400bbb2f93ee3e9a9b18f632453edb9631f (patch)
tree2e566e253ed623ae9906da0f84633e7090cc4c2e /source/rpc_server
parentba90d01fedcfc4a7a41cf0c871d4b2a3cd6c95d2 (diff)
downloadsamba-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.c25
-rw-r--r--source/rpc_server/srv_srvsvc_nt.c23
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;