The branch, master has been updated
       via  6096a59 smbd: Add a paranoia check to oplock_timeout_handler
       via  0670975 smbd: Fix an ancient oplock bug
      from  38e4396 torture: Ensure that GSSAPI and SPNEGO packets are accepted 
by dlz_bind9

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6096a59d6bc0fd5f77794e40d903eaafecf9407f
Author: Volker Lendecke <[email protected]>
Date:   Wed Sep 4 14:20:00 2013 +0200

    smbd: Add a paranoia check to oplock_timeout_handler
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Wed Sep  4 22:36:24 CEST 2013 on sn-devel-104

commit 0670975261c5f29394f9e9d25f899a7de948dad1
Author: Volker Lendecke <[email protected]>
Date:   Wed Sep 4 13:57:00 2013 +0200

    smbd: Fix an ancient oplock bug
    
    If we get an oplock break response, we forgot to remove the oplock break
    timeout.
    
    Found by stopping raw.oplock.exclusive5 after the 2nd open and watching a 
debug
    level 10 log. This amends 08a9de89 from 2007.
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

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

Summary of changes:
 source3/smbd/oplock.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 21792bd..434bafa 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -150,6 +150,8 @@ static void downgrade_file_oplock(files_struct *fsp)
        sconn->oplocks.exclusive_open--;
        sconn->oplocks.level_II_open++;
        fsp->sent_oplock_break = NO_BREAK_SENT;
+
+       TALLOC_FREE(fsp->oplock_timeout);
 }
 
 /****************************************************************************
@@ -321,6 +323,8 @@ static void oplock_timeout_handler(struct tevent_context 
*ctx,
 {
        files_struct *fsp = (files_struct *)private_data;
 
+       SMB_ASSERT(fsp->sent_oplock_break != NO_BREAK_SENT);
+
        /* Remove the timed event handler. */
        TALLOC_FREE(fsp->oplock_timeout);
        DEBUG(0, ("Oplock break failed for file %s -- replying anyway\n",


-- 
Samba Shared Repository

Reply via email to