summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-07-15 20:44:24 +0000
committerLuke Leighton <lkcl@samba.org>1999-07-15 20:44:24 +0000
commit939f6d6794e1dc0677624ac67d1f00950417b713 (patch)
treeed2b5e91fe8040b455647ef552d1430138f9d6d9 /source3/smbd/nttrans.c
parent2b354d7330785337558a678f2b2484691ad7f2eb (diff)
downloadsamba-939f6d6794e1dc0677624ac67d1f00950417b713.tar.gz
samba-939f6d6794e1dc0677624ac67d1f00950417b713.tar.bz2
samba-939f6d6794e1dc0677624ac67d1f00950417b713.zip
more dfs stuff. this looks like it's going to be more appropriate to use
the vfs tables. at the moment, i replaced all calls to unix_convert() with unix_dfs_convert(). this does the job, but it's not very nice. (This used to be commit 00d4aebce9f268a737ef9df9bdbe59f8fe831979)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 657dd8b130..ac688a5baa 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -669,7 +669,11 @@ int reply_ntcreate_and_X(connection_struct *conn,
set_posix_case_semantics(file_attributes);
- unix_convert(fname,conn,0,&bad_path,NULL);
+ if (!unix_dfs_convert(fname,conn,0,&bad_path,NULL))
+ {
+ SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
+ return(ERROR(0, 0xc0000000|NT_STATUS_PATH_NOT_COVERED));
+ }
fsp = file_new();
if (!fsp) {
@@ -952,7 +956,11 @@ static int call_nt_transact_create(connection_struct *conn,
set_posix_case_semantics(file_attributes);
- unix_convert(fname,conn,0,&bad_path,NULL);
+ if (!unix_dfs_convert(fname,conn,0,&bad_path,NULL))
+ {
+ SSVAL(outbuf, smb_flg2, FLAGS2_32_BIT_ERROR_CODES);
+ return(ERROR(0, 0xc0000000|NT_STATUS_PATH_NOT_COVERED));
+ }
fsp = file_new();
if (!fsp) {