diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/srv_srvsvc.c | 25 | ||||
-rw-r--r-- | source3/rpc_server/srv_srvsvc_nt.c | 23 |
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; |