Commit effd4a33 authored by Jeremy Allison's avatar Jeremy Allison Committed by Gerald (Jerry) Carter
Browse files

r1089: Removed spurious oplock message in deferred open processing.

Fix smb signing sequence counts.
Jeremy.
(This used to be commit 7e2a5c36614282b6bd50b60360f443549426dd4b)
parent 7e6734a0
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -862,6 +862,16 @@ deferred open entry for mid %u, file %s\n",
	if (!add_deferred_open(mid, ptv, dev, inode, global_oplock_port, fname)) {
		remove_sharing_violation_open_smb_message(mid);
	}

	/*
	 * Push the MID of this packet on the signing queue.
	 * We only do this once, the first time we push the packet
	 * onto the deferred open queue, as this has a side effect
	 * of incrementing the response sequence number.
	 */

	srv_defer_sign_response(mid);

	SAFE_FREE(de_array);
}

+1 −1
Original line number Diff line number Diff line
@@ -410,7 +410,7 @@ pid %d, port %d, dev = %x, inode = %.0f, mid = %u\n",

				schedule_sharing_violation_open_smb_message(mid);
			}
			break;
			return True;

		/* 
		 * Keep this as a debug case - eventually we can remove it.
+6 −4
Original line number Diff line number Diff line
@@ -121,9 +121,6 @@ static BOOL push_queued_message(enum q_type qt, char *buf, int msg_len, struct t
		DLIST_ADD_END(smb_sharing_violation_queue, msg, tmp_msg);
	}

	/* Push the MID of this packet on the signing queue. */
	srv_defer_sign_response(SVAL(buf,smb_mid));

	DEBUG(10,("push_message: pushed message length %u on queue %s\n",
		(unsigned int)msg_len,
		qt == OPLOCK_QUEUE ? "smb_oplock_queue" : "smb_sharing_violation_queue" ));
@@ -138,7 +135,12 @@ static BOOL push_queued_message(enum q_type qt, char *buf, int msg_len, struct t

BOOL push_oplock_pending_smb_message(char *buf, int msg_len)
{
	return push_queued_message(OPLOCK_QUEUE, buf, msg_len, NULL, NULL, 0);
	BOOL ret = push_queued_message(OPLOCK_QUEUE, buf, msg_len, NULL, NULL, 0);
	if (ret) {
		/* Push the MID of this packet on the signing queue. */
		srv_defer_sign_response(SVAL(buf,smb_mid));
	}
	return ret;
}

/****************************************************************************