The branch, master has been updated via 6549716 s3: srvsvc pipe - We should return WERR_BADFILE in _srvsvc_NetShareAdd if the path does not exist. from c0651a3 vfs_gpfs: Avoid warnings in developer build
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 6549716cc104375789f034bec03cf2f74731e477 Author: Jeremy Allison <j...@samba.org> Date: Mon Apr 21 13:58:49 2014 -0700 s3: srvsvc pipe - We should return WERR_BADFILE in _srvsvc_NetShareAdd if the path does not exist. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Richard Sharpe <realrichardsha...@gmail.com> Reviewed-by: David Disseldorp <dd...@suse.de> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Tue Apr 22 22:19:18 CEST 2014 on sn-devel-104 ----------------------------------------------------------------------- Summary of changes: source3/rpc_server/srvsvc/srv_srvsvc_nt.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c index 39d5e05..e030b98 100644 --- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c +++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c @@ -1946,6 +1946,7 @@ WERROR _srvsvc_NetShareAdd(struct pipes_struct *p, struct security_descriptor *psd = NULL; bool is_disk_op; int max_connections = 0; + SMB_STRUCT_STAT st; TALLOC_CTX *ctx = p->mem_ctx; DEBUG(5,("_srvsvc_NetShareAdd: %d\n", __LINE__)); @@ -2045,6 +2046,16 @@ WERROR _srvsvc_NetShareAdd(struct pipes_struct *p, return WERR_OBJECT_PATH_INVALID; } + ret = sys_lstat(path, &st, false); + if (ret == -1 && (errno != EACCES)) { + /* + * If path has any other than permission + * problem, return WERR_BADFILE (as Windows + * does. + */ + return WERR_BADFILE; + } + /* Ensure share name, pathname and comment don't contain '"' characters. */ string_replace(share_name_in, '"', ' '); string_replace(share_name, '"', ' '); -- Samba Shared Repository