diff --git a/src/smblib/smbdefs.h b/src/smblib/smbdefs.h index d587e2f0476402015261443c750fbad755075ec9..633be8e44a271197c0a613c21f298f1629279c76 100644 --- a/src/smblib/smbdefs.h +++ b/src/smblib/smbdefs.h @@ -459,6 +459,7 @@ enum { SMB_HASH_SOURCE_BODY ,SMB_HASH_SOURCE_MSG_ID ,SMB_HASH_SOURCE_FTN_ID + ,SMB_HASH_SOURCE_SUBJECT /* Add new ones here (max value of 31) */ diff --git a/src/smblib/smbhash.c b/src/smblib/smbhash.c index bf6423c6499b761c2e61d274ee351f4e5117740f..2a87ff6157d0c4489f1b22f5803e614d9f0f8e24 100644 --- a/src/smblib/smbhash.c +++ b/src/smblib/smbhash.c @@ -264,6 +264,10 @@ hash_t** SMBCALL smb_msghashes(smbmsg_t* msg, const uchar* body, long source_mas (hash=smb_hashstr(msg->hdr.number, t, SMB_HASH_SOURCE_BODY, flags, body))!=NULL) hashes[h++]=hash; + if(msg->subj!=NULL && (source_mask&(1<<SMB_HASH_SOURCE_SUBJECT)) && + (hash=smb_hashstr(msg->hdr.number, t, SMB_HASH_SOURCE_SUBJECT, flags, msg->subj))!=NULL) + hashes[h++]=hash; + return(hashes); }