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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Date:   Thu Jul 24 14:21:31 2008 +1000

    initialise query_maximal_access here too

commit 036f73d39a7ef882fd76afcd3c11eef483f6c308
Author: Andrew Tridgell <[EMAIL PROTECTED]>
Date:   Thu Jul 24 14:20:02 2008 +1000

    make sure we initialise query_maximal_access

commit 341f64834e13cdbc7d4742a4652ae39b70a4231f
Author: Andrew Tridgell <[EMAIL PROTECTED]>
Date:   Thu Jul 24 14:19:49 2008 +1000

    fixed spelling error

commit af7fb2e38ba27cf8058eb1cef1f96bbc7b19849f
Author: Andrew Tridgell <[EMAIL PROTECTED]>
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

Reply via email to