[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