summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/smbd/seal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/smbd/seal.c b/source/smbd/seal.c
index 21fca73feae..51a5f23f03c 100644
--- a/source/smbd/seal.c
+++ b/source/smbd/seal.c
@@ -53,8 +53,8 @@ bool is_encrypted_packet(const uint8_t *inbuf)
NTSTATUS status;
uint16_t enc_num;
- /* Ignore non-session messages. */
- if(CVAL(inbuf,0)) {
+ /* Ignore non-session messages or 0xFF'SMB' messages. */
+ if(CVAL(inbuf,0) || IVAL(inbuf,4) == 0x424d53ff) {
return false;
}
@@ -63,7 +63,9 @@ bool is_encrypted_packet(const uint8_t *inbuf)
return false;
}
- if (srv_trans_enc_ctx && enc_num == srv_enc_ctx()) {
+ if (SVAL(inbuf,4) == 0x45FF &&
+ srv_trans_enc_ctx &&
+ enc_num == srv_enc_ctx()) {
return true;
}
return false;