]> source.dussan.org Git - rspamd.git/commit
[CritFix] Check hyperscan cache sanity before loading
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Aug 2016 16:35:45 +0000 (17:35 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Aug 2016 16:39:41 +0000 (17:39 +0100)
commit9e6eb057ed468ebec1432ee8e818388e2e56e60e
treeef3ee2acf09e2a436bb8e7c25a246da672a53698
parent36fead2e11779262c4d99efcbfde28925fbb74bf
[CritFix] Check hyperscan cache sanity before loading

When regexp database is changed it is possible that hyperscan cache will
contain some invalid or shifted regexps IDs. In this situation, Rspamd
could not correctly detect that such an event occurred and loaded an
incorrect database.

This commit adds strict crc checking that includes:

1. HS ids
2. HS flags
3. HS serialized blob

If this crc fails to match then Rspamd recompiles the corrupted cache
file.
src/libserver/re_cache.c