summaryrefslogtreecommitdiff
path: root/source3/libsmb/smb_signing.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-03-06 07:45:06 +0100
committerStefan Metzmacher <metze@samba.org>2009-03-06 16:37:20 +0100
commit196a5d038886bdea678ac9ae97bdf9dab825e23f (patch)
treee16561f4d669a5c675cd7ebff56e8b16c1ef2dd0 /source3/libsmb/smb_signing.c
parent4b6cbe80b28b7a99ba8f35190d809f5a439fdd22 (diff)
downloadsamba-196a5d038886bdea678ac9ae97bdf9dab825e23f.tar.gz
samba-196a5d038886bdea678ac9ae97bdf9dab825e23f.tar.bz2
samba-196a5d038886bdea678ac9ae97bdf9dab825e23f.zip
s3:signing: the seqnum should only be decremented by 1 for ntcancel requests
[MS-SMB] 3.3.5.1 Receiving Any Message says that the seqnum is incremented by only for ntcancel requests for any other request it's by incremented by 2, even if it doesn't expect a response. metze
Diffstat (limited to 'source3/libsmb/smb_signing.c')
-rw-r--r--source3/libsmb/smb_signing.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/libsmb/smb_signing.c b/source3/libsmb/smb_signing.c
index ea1eb05cfb..55b30d476f 100644
--- a/source3/libsmb/smb_signing.c
+++ b/source3/libsmb/smb_signing.c
@@ -865,7 +865,7 @@ void srv_defer_sign_response(uint16 mid)
cancelled by mid. This should never find one....
************************************************************/
-void srv_cancel_sign_response(uint16 mid)
+void srv_cancel_sign_response(uint16 mid, bool cancel)
{
struct smb_basic_signing_context *data;
uint32 dummy_seq;
@@ -884,7 +884,9 @@ void srv_cancel_sign_response(uint16 mid)
;
/* cancel doesn't send a reply so doesn't burn a sequence number. */
- data->send_seq_num -= 1;
+ if (cancel) {
+ data->send_seq_num -= 1;
+ }
}
/***********************************************************