[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha5-147-g24309db

Andrew Tridgell tridge at samba.org
Thu Jul 24 04:27:21 GMT 2008


The branch, v4-0-test has been updated
       via  24309dbf4d9622fcfafa29ef98bc0459fdaa814b (commit)
       via  4f6646f06988b1fb8be9e0c8ae833bb9792184af (commit)
       via  4b3af09450cf33c6785a3d8fddddc68047f2e388 (commit)
       via  036f73d39a7ef882fd76afcd3c11eef483f6c308 (commit)
       via  341f64834e13cdbc7d4742a4652ae39b70a4231f (commit)
       via  af7fb2e38ba27cf8058eb1cef1f96bbc7b19849f (commit)
      from  bbe895db7144b192981fad9ab6bbd3ebacb8d299 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 24309dbf4d9622fcfafa29ef98bc0459fdaa814b
Merge: 4f6646f06988b1fb8be9e0c8ae833bb9792184af bbe895db7144b192981fad9ab6bbd3ebacb8d299
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 14:26:30 2008 +1000

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test

commit 4f6646f06988b1fb8be9e0c8ae833bb9792184af
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 14:21:52 2008 +1000

    we can't query the ACL on a new file till it exists!

commit 4b3af09450cf33c6785a3d8fddddc68047f2e388
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 14:21:31 2008 +1000

    initialise query_maximal_access here too

commit 036f73d39a7ef882fd76afcd3c11eef483f6c308
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 14:20:02 2008 +1000

    make sure we initialise query_maximal_access

commit 341f64834e13cdbc7d4742a4652ae39b70a4231f
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 14:19:49 2008 +1000

    fixed spelling error

commit af7fb2e38ba27cf8058eb1cef1f96bbc7b19849f
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jul 24 11:48:27 2008 +1000

    fixd a bug in the signal handling code - we could get phantom signals
    (signum 64)

-----------------------------------------------------------------------

Summary of changes:
 source/lib/events/events_signal.c |   10 +++++-----
 source/ntvfs/posix/pvfs_open.c    |   12 ++++++------
 source/ntvfs/posix/xattr_system.c |    2 +-
 source/smb_server/smb/nttrans.c   |    1 +
 source/smb_server/smb/reply.c     |    1 +
 5 files changed, 14 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/events/events_signal.c b/source/lib/events/events_signal.c
index 80a14ac..652df53 100644
--- a/source/lib/events/events_signal.c
+++ b/source/lib/events/events_signal.c
@@ -46,15 +46,15 @@ struct sigcounter {
   the poor design of signals means that this table must be static global
 */
 static struct sig_state {
-	struct signal_event *sig_handlers[NUM_SIGNALS];
-	struct sigaction *oldact[NUM_SIGNALS];
-	struct sigcounter signal_count[NUM_SIGNALS];
+	struct signal_event *sig_handlers[NUM_SIGNALS+1];
+	struct sigaction *oldact[NUM_SIGNALS+1];
+	struct sigcounter signal_count[NUM_SIGNALS+1];
 	struct sigcounter got_signal;
 	int pipe_hack[2];
 #ifdef SA_SIGINFO
 	/* with SA_SIGINFO we get quite a lot of info per signal */
-	siginfo_t *sig_info[NUM_SIGNALS];
-	struct sigcounter sig_blocked[NUM_SIGNALS];
+	siginfo_t *sig_info[NUM_SIGNALS+1];
+	struct sigcounter sig_blocked[NUM_SIGNALS+1];
 #endif
 } *sig_state;
 
diff --git a/source/ntvfs/posix/pvfs_open.c b/source/ntvfs/posix/pvfs_open.c
index 01a249c..6114b20 100644
--- a/source/ntvfs/posix/pvfs_open.c
+++ b/source/ntvfs/posix/pvfs_open.c
@@ -631,12 +631,6 @@ static NTSTATUS pvfs_create_file(struct pvfs_state *pvfs,
 	status = pvfs_access_check_create(pvfs, req, name, &access_mask);
 	NT_STATUS_NOT_OK_RETURN(status);
 
-	if (io->generic.in.query_maximal_access) {
-		status = pvfs_access_maximal_allowed(pvfs, req, name, 
-						     &io->generic.out.maximal_access);
-		NT_STATUS_NOT_OK_RETURN(status);
-	}
-
 	/* check that the parent isn't opened with delete on close set */
 	status = pvfs_resolve_parent(pvfs, req, name, &parent);
 	if (NT_STATUS_IS_OK(status)) {
@@ -707,6 +701,12 @@ static NTSTATUS pvfs_create_file(struct pvfs_state *pvfs,
 		goto cleanup_delete;
 	}
 
+	if (io->generic.in.query_maximal_access) {
+		status = pvfs_access_maximal_allowed(pvfs, req, name, 
+						     &io->generic.out.maximal_access);
+		NT_STATUS_NOT_OK_RETURN(status);
+	}
+
 	/* form the lock context used for byte range locking and
 	   opendb locking */
 	status = pvfs_locking_key(name, f->handle, &f->handle->odb_locking_key);
diff --git a/source/ntvfs/posix/xattr_system.c b/source/ntvfs/posix/xattr_system.c
index 7283d71..9a89f2a 100644
--- a/source/ntvfs/posix/xattr_system.c
+++ b/source/ntvfs/posix/xattr_system.c
@@ -74,7 +74,7 @@ again:
 				return NT_STATUS_NOT_FOUND;
 
 			} else {
-				/* if not this was probably a legittimate error
+				/* if not this was probably a legitimate error
 				 * reset ret and errno to the correct values */
 				errno = EPERM;
 				ret = -1;
diff --git a/source/smb_server/smb/nttrans.c b/source/smb_server/smb/nttrans.c
index a959793..4a06ea4 100644
--- a/source/smb_server/smb/nttrans.c
+++ b/source/smb_server/smb/nttrans.c
@@ -134,6 +134,7 @@ static NTSTATUS nttrans_create(struct smbsrv_request *req,
 	io->ntcreatex.in.security_flags   = CVAL(params, 52);
 	io->ntcreatex.in.sec_desc         = NULL;
 	io->ntcreatex.in.ea_list          = NULL;
+	io->ntcreatex.in.query_maximal_access = false;
 
 	req_pull_string(&req->in.bufinfo, &io->ntcreatex.in.fname, 
 			params + 53, 
diff --git a/source/smb_server/smb/reply.c b/source/smb_server/smb/reply.c
index d7ed052..9c4ee99 100644
--- a/source/smb_server/smb/reply.c
+++ b/source/smb_server/smb/reply.c
@@ -2192,6 +2192,7 @@ void smbsrv_reply_ntcreate_and_X(struct smbsrv_request *req)
 	io->ntcreatex.in.security_flags =   CVAL(req->in.vwv, 47);
 	io->ntcreatex.in.ea_list          = NULL;
 	io->ntcreatex.in.sec_desc         = NULL;
+	io->ntcreatex.in.query_maximal_access = false;
 
 	/* we use a couple of bits of the create options internally */
 	if (io->ntcreatex.in.create_options & NTCREATEX_OPTIONS_PRIVATE_MASK) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list