From 1e6837837ac402702ccadcbcfd853b8c673c783a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 17 Aug 1998 23:39:59 +0000 Subject: smbd/nttrans.c: Fixed bug in split off pipe code. locking/locking.c: More blocking lock changes. Jeremy. (This used to be commit 2ca4fc95a4227645f1009a057d46b58508846a92) --- source3/locking/locking.c | 16 ++++++++++++---- source3/smbd/nttrans.c | 4 ++++ 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'source3') diff --git a/source3/locking/locking.c b/source3/locking/locking.c index 8737a12e17..873e382b46 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -116,7 +116,6 @@ static void blocking_lock_reply_success(blocking_lock_record *blr) * that here and must set up the chain info manually. */ - file_set_chain(fsp); chain_size = 0; outsize = chain_reply(inbuf,outbuf,blr->length,bufsize); @@ -227,7 +226,7 @@ static BOOL blocking_lock_record_process(blocking_lock_record *blr) */ DEBUG(10,("blocking_lock_record_process: only got %d locks of %d needed for fnum = %d. \ -Waiting..\n", blr->lock_num, num_locks, fsp->fnum)); +Waiting....\n", blr->lock_num, num_locks, fsp->fnum)); return False; } @@ -249,8 +248,17 @@ void process_blocking_lock_queue(time_t t) */ while(blr != NULL) { - files_struct *fsp = file_fsp(blr->inbuf,smb_vwv2); - uint16 vuid = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID : + files_struct *fsp = NULL; + uint16 vuid; + + /* + * Ensure we don't have any old chain_fnum values + * sitting around.... + */ + file_chain_reset(); + + fsp = file_fsp(blr->inbuf,smb_vwv2); + vuid = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID : SVAL(blr->inbuf,smb_uid); DEBUG(5,("process_blocking_lock_queue: examining pending lock fnum = %d for file %s\n", diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 61826fa0ee..b5ed42fbb3 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -473,6 +473,10 @@ int reply_ntcreate_and_X(connection_struct *conn, SSVAL(p,0,FILE_TYPE_MESSAGE_MODE_PIPE); /* Device state. */ SSVAL(p,2, 0x5FF); /* ? */ + + DEBUG(5,("reply_ntcreate_and_X: open pipe = %s\n", fname)); + + return chain_reply(inbuf,outbuf,length,bufsize); } /* -- cgit