summaryrefslogtreecommitdiffstats
path: root/source/rpc_server/srv_srvsvc_nt.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-01-10 17:47:53 +0000
committerJeremy Allison <jra@samba.org>2007-01-10 17:47:53 +0000
commit82311a1f42f7dbb888f013ebcd183bba099db9c1 (patch)
treea7d4dfa31550d90d99ccfb61fb036249e9841caa /source/rpc_server/srv_srvsvc_nt.c
parentf7675bca8275347c69da4241f7bf5a412005fd4a (diff)
downloadsamba-82311a1f42f7dbb888f013ebcd183bba099db9c1.tar.gz
samba-82311a1f42f7dbb888f013ebcd183bba099db9c1.tar.xz
samba-82311a1f42f7dbb888f013ebcd183bba099db9c1.zip
r20655: After consulting with Volker, fix our pathname
handling. Gets rid of more code than it adds. I will port this to SAMBA_3_0 next. There are still some wrinkles with wildcard delete I am working on - for example a dirtype pattern of 0x8aa4 isn't handled correctly yet.... still looking at this. Jeremy.
Diffstat (limited to 'source/rpc_server/srv_srvsvc_nt.c')
-rw-r--r--source/rpc_server/srv_srvsvc_nt.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c
index 0fb1629d7fa..ceba681af93 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -1791,7 +1791,6 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
pstring qualname;
files_struct *fsp = NULL;
SMB_STRUCT_STAT st;
- BOOL bad_path;
NTSTATUS nt_status;
struct current_user user;
connection_struct *conn = NULL;
@@ -1826,8 +1825,8 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
became_user = True;
unistr2_to_ascii(filename, &q_u->uni_file_name, sizeof(filename));
- unix_convert(filename, conn, NULL, &bad_path, &st);
- if (bad_path) {
+ nt_status = unix_convert(filename, conn, NULL, &st);
+ if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(3,("_srv_net_file_query_secdesc: bad pathname %s\n", filename));
r_u->status = WERR_ACCESS_DENIED;
goto error_exit;
@@ -1906,7 +1905,6 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
DATA_BLOB null_pw;
files_struct *fsp = NULL;
SMB_STRUCT_STAT st;
- BOOL bad_path;
NTSTATUS nt_status;
struct current_user user;
connection_struct *conn = NULL;
@@ -1941,8 +1939,8 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
became_user = True;
unistr2_to_ascii(filename, &q_u->uni_file_name, sizeof(filename));
- unix_convert(filename, conn, NULL, &bad_path, &st);
- if (bad_path) {
+ nt_status = unix_convert(filename, conn, NULL, &st);
+ if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(3,("_srv_net_file_set_secdesc: bad pathname %s\n", filename));
r_u->status = WERR_ACCESS_DENIED;
goto error_exit;