diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/libcli/smb2/transport.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source4/libcli/smb2/transport.c b/source4/libcli/smb2/transport.c index a1653e3974..c17bbfde46 100644 --- a/source4/libcli/smb2/transport.c +++ b/source4/libcli/smb2/transport.c @@ -277,6 +277,16 @@ static NTSTATUS smb2_transport_finish_recv(void *private_data, DATA_BLOB blob) return smb2_handle_oplock_break(transport, &blob); } + if (opcode == SMB2_OP_CANCEL) { + /* + * ignore responses to cancel requests, + * this can happen if signing was wrong or + * we specified the wrong session id + */ + talloc_free(buffer); + return NT_STATUS_OK; + } + /* match the incoming request against the list of pending requests */ for (req=transport->pending_recv; req; req=req->next) { if (req->seqnum == seqnum) break; |