The branch, master has been updated via f650bb9 smbd: Remove unused "brl->key" struct element via e9513bc smbd: Convert some dbgtxt to DEBUG via 3a72cdb torture: Remove an unused variable via 960bd9a torture: Continue buffer check after NOT_IMPLEMENTED infolevels via c944d2e libcli: Correct smb2_lease_pull via eb5e817 libcli: Add const to smb2_lease_pull via b40fcf3 torture: Fix a typo via c134a37 smbd: Fix a comment via 41857bd smbd: Fix confusing comments via 4cde5bf smbd: Avoid calling serverid_exists twice from 9110c07 smbd:smb2: clarify and comment code treating dh2c blob check.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit f650bb94c8b79bec87c2a1f17b573c27e0ef1b1b Author: Volker Lendecke <v...@samba.org> Date: Wed Sep 11 09:31:36 2013 +0000 smbd: Remove unused "brl->key" struct element Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> Autobuild-User(master): Stefan Metzmacher <me...@samba.org> Autobuild-Date(master): Sun Oct 6 15:49:43 CEST 2013 on sn-devel-104 commit e9513bc6ab2974899a3f6ddc73886e969b142502 Author: Volker Lendecke <v...@samba.org> Date: Sun Sep 15 19:18:41 2013 -0700 smbd: Convert some dbgtxt to DEBUG Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit 3a72cdb33aa34fa1d950b73c6ab6698bdc364bb4 Author: Volker Lendecke <v...@samba.org> Date: Thu Sep 26 21:27:42 2013 -0700 torture: Remove an unused variable Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit 960bd9a584a27bde45433be1ca869b2197cf465d Author: Volker Lendecke <v...@samba.org> Date: Thu Sep 26 21:21:21 2013 -0700 torture: Continue buffer check after NOT_IMPLEMENTED infolevels Patch from the SDC plugfest. Not every implementation supports every infolevel, and we want to be able to test buffersize error behaviour for all supported infolevels Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit c944d2ea41456d27e1f327f9e50b70c0bbbde824 Author: Volker Lendecke <v...@samba.org> Date: Thu Sep 26 17:10:50 2013 -0700 libcli: Correct smb2_lease_pull We don't really use leases yet, so so far this went by unnoticed. It's the V2 lease requests that hold the parent lease key, not the V1 ones. Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit eb5e817a73ab158c8f106ac6ae0503d70a315d7f Author: Volker Lendecke <v...@samba.org> Date: Wed Aug 21 10:27:43 2013 +0000 libcli: Add const to smb2_lease_pull Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit b40fcf3f17e4ed9dde31dff73e4669d867753941 Author: Volker Lendecke <v...@samba.org> Date: Sun Sep 22 17:19:09 2013 -0700 torture: Fix a typo Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit c134a37df3084d794267730612e38451887a2fc2 Author: Volker Lendecke <v...@samba.org> Date: Wed Oct 2 15:20:16 2013 +0000 smbd: Fix a comment This has been converted from a timed event to an immediate one in e7dab403c0ca6f6 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit 41857bd0f73bf294fa98d6e697ac563297b24310 Author: Volker Lendecke <v...@samba.org> Date: Tue Sep 3 13:31:27 2013 +0000 smbd: Fix confusing comments The brlock-check is done in grant_fsp_oplock_type Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> commit 4cde5bf1a406e14fcc7a51eba1e337fd1d3c80b3 Author: Volker Lendecke <v...@samba.org> Date: Sun Sep 22 19:16:56 2013 -0700 smbd: Avoid calling serverid_exists twice Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> ----------------------------------------------------------------------- Summary of changes: libcli/smb/smb2_lease.c | 11 ++++++----- libcli/smb/smb2_lease.h | 3 ++- source3/locking/brlock.c | 4 +--- source3/locking/locking.c | 6 ++++++ source3/smbd/open.c | 3 +-- source3/smbd/oplock.c | 36 ++++++++++++++---------------------- source4/torture/raw/streams.c | 2 +- source4/torture/smb2/getinfo.c | 4 +++- 8 files changed, 34 insertions(+), 35 deletions(-) Changeset truncated at 500 lines: diff --git a/libcli/smb/smb2_lease.c b/libcli/smb/smb2_lease.c index 10beaca..f97f096 100644 --- a/libcli/smb/smb2_lease.c +++ b/libcli/smb/smb2_lease.c @@ -23,7 +23,8 @@ #include "includes.h" #include "../libcli/smb/smb_common.h" -ssize_t smb2_lease_pull(uint8_t *buf, size_t len, struct smb2_lease *lease) +ssize_t smb2_lease_pull(const uint8_t *buf, size_t len, + struct smb2_lease *lease) { int version; @@ -45,13 +46,13 @@ ssize_t smb2_lease_pull(uint8_t *buf, size_t len, struct smb2_lease *lease) switch (version) { case 1: - memcpy(&lease->parent_lease_key, buf+32, 16); - lease->lease_epoch = SVAL(buf, 48); - break; - case 2: ZERO_STRUCT(lease->parent_lease_key); lease->lease_epoch = 0; break; + case 2: + memcpy(&lease->parent_lease_key, buf+32, 16); + lease->lease_epoch = SVAL(buf, 48); + break; } return len; diff --git a/libcli/smb/smb2_lease.h b/libcli/smb/smb2_lease.h index fa8e7af..73f97ac 100644 --- a/libcli/smb/smb2_lease.h +++ b/libcli/smb/smb2_lease.h @@ -44,7 +44,8 @@ struct smb2_lease { * Parse a smb2 lease create context. Return -1 on error, buffer.length on * success. V1 and V2 differ only by length of buffer.length */ -ssize_t smb2_lease_pull(uint8_t *buf, size_t len, struct smb2_lease *lease); +ssize_t smb2_lease_pull(const uint8_t *buf, size_t len, + struct smb2_lease *lease); bool smb2_lease_push(const struct smb2_lease *lease, uint8_t *buf, size_t len); #endif /* _LIBCLI_SMB_SMB2_LEASE_H_ */ diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index adbfc5f..ee4354c 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -48,7 +48,6 @@ struct byte_range_lock { unsigned int num_locks; bool modified; bool read_only; - struct file_id key; struct lock_struct *lock_data; struct db_record *record; }; @@ -1944,9 +1943,8 @@ static struct byte_range_lock *brl_get_locks_internal(TALLOC_CTX *mem_ctx, br_lck->fsp = fsp; br_lck->num_locks = 0; br_lck->modified = False; - br_lck->key = fsp->file_id; - key.dptr = (uint8 *)&br_lck->key; + key.dptr = (uint8 *)&fsp->file_id; key.dsize = sizeof(struct file_id); if (!fsp->lockdb_clean) { diff --git a/source3/locking/locking.c b/source3/locking/locking.c index d4c68f8..d0b6eaf 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -646,6 +646,12 @@ bool share_mode_stale_pid(struct share_mode_data *d, unsigned idx) return false; } e = &d->share_modes[idx]; + if (e->stale) { + /* + * Checked before + */ + return true; + } if (serverid_exists(&e->pid)) { DEBUG(10, ("PID %s (index %u out of %u) still exists\n", procid_str_static(&e->pid), idx, diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 1a86233..858d2be 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -2676,8 +2676,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn, status = set_file_oplock(fsp, fsp->oplock_type); if (!NT_STATUS_IS_OK(status)) { /* - * Could not get the kernel oplock or there are byte-range - * locks on the file. + * Could not get the kernel oplock */ fsp->oplock_type = NO_OPLOCK; } diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index 96c451c..70f168e 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -47,8 +47,7 @@ void break_kernel_oplock(struct messaging_context *msg_ctx, files_struct *fsp) /**************************************************************************** Attempt to set an oplock on a file. Succeeds if kernel oplocks are - disabled (just sets flags) and no byte-range locks in the file. Returns True - if oplock set. + disabled (just sets flags). ****************************************************************************/ NTSTATUS set_file_oplock(files_struct *fsp, int oplock_type) @@ -256,13 +255,11 @@ static files_struct *initial_break_processing( { files_struct *fsp = NULL; - if( DEBUGLVL( 3 ) ) { - dbgtext( "initial_break_processing: called for %s/%u\n", - file_id_string_tos(&id), (int)file_id); - dbgtext( "Current oplocks_open (exclusive = %d, levelII = %d)\n", - sconn->oplocks.exclusive_open, - sconn->oplocks.level_II_open); - } + DEBUG(3, ("initial_break_processing: called for %s/%u\n" + "Current oplocks_open (exclusive = %d, levelII = %d)\n", + file_id_string_tos(&id), (int)file_id, + sconn->oplocks.exclusive_open, + sconn->oplocks.level_II_open)); /* * We need to search the file open table for the @@ -274,11 +271,9 @@ static files_struct *initial_break_processing( if(fsp == NULL) { /* The file could have been closed in the meantime - return success. */ - if( DEBUGLVL( 3 ) ) { - dbgtext( "initial_break_processing: cannot find open file with " ); - dbgtext( "file_id %s gen_id = %lu, ", file_id_string_tos(&id), file_id); - dbgtext( "allowing break to succeed.\n" ); - } + DEBUG(3, ("initial_break_processing: cannot find open file " + "with file_id %s gen_id = %lu, allowing break to " + "succeed.\n", file_id_string_tos(&id), file_id)); return NULL; } @@ -293,13 +288,10 @@ static files_struct *initial_break_processing( */ if(fsp->oplock_type == NO_OPLOCK) { - if( DEBUGLVL( 3 ) ) { - dbgtext( "initial_break_processing: file %s ", - fsp_str_dbg(fsp)); - dbgtext( "(file_id = %s gen_id = %lu) has no oplock.\n", - file_id_string_tos(&id), fsp->fh->gen_id ); - dbgtext( "Allowing break to succeed regardless.\n" ); - } + DEBUG(3, ("initial_break_processing: file %s (file_id = %s " + "gen_id = %lu) has no oplock. Allowing break to " + "succeed regardless.\n", fsp_str_dbg(fsp), + file_id_string_tos(&id), fsp->fh->gen_id)); return NULL; } @@ -646,7 +638,7 @@ static void contend_level2_oplocks_begin_default(files_struct *fsp, * When we get here we might have a brlock entry locked. Also * locking the share mode entry would violate the locking * order. Breaking level2 oplocks to none is asynchronous - * anyway, so we postpone this into an immediate timed event. + * anyway, so we postpone this into an immediate event. */ state = talloc(sconn, struct break_to_none_state); diff --git a/source4/torture/raw/streams.c b/source4/torture/raw/streams.c index 1611c64..cbb7dcf 100644 --- a/source4/torture/raw/streams.c +++ b/source4/torture/raw/streams.c @@ -478,7 +478,7 @@ done: * A stream held open with FILE_SHARE_DELETE allows the file to be * deleted. After the main file is deleted, access to the open file descriptor * still works, but all name-based access to both the main file as well as the - * stream is denied with DELETE ending. + * stream is denied with DELETE pending. * * This means, an open of the main file with SEC_STD_DELETE should walk all * streams and also open them with SEC_STD_DELETE. If any of these opens gives diff --git a/source4/torture/smb2/getinfo.c b/source4/torture/smb2/getinfo.c index fafc36c..427fdd9 100644 --- a/source4/torture/smb2/getinfo.c +++ b/source4/torture/smb2/getinfo.c @@ -328,6 +328,9 @@ static bool torture_smb2_qfile_buffercheck(struct torture_context *tctx) b.in.output_buffer_length = 65535; status = smb2_getinfo(tree, tree, &b); + if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED)) { + continue; + } torture_assert_ntstatus_equal( tctx, status, NT_STATUS_OK, "Wrong error code for large buffer"); @@ -349,7 +352,6 @@ static bool torture_smb2_qsec_buffercheck(struct torture_context *tctx) struct smb2_create c; NTSTATUS status; struct smb2_handle handle; - int i; printf("Testing SMB2_GETINFO_SECURITY buffer sizes\n"); -- Samba Shared Repository