[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Tue Apr 22 14:20:04 MDT 2014


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 <jra at 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 <jra at samba.org>
    Reviewed-by: Richard Sharpe <realrichardsharpe at gmail.com>
    Reviewed-by: David Disseldorp <ddiss at suse.de>
    
    Autobuild-User(master): Jeremy Allison <jra at 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


More information about the samba-cvs mailing list