-
1.6.54d8de4b1 · ·
Release 1.6.5 * [CritFix] Another portion of tokenization fixes * [CritFix] Fix memory leak in spf caching logic * [CritFix] Fix milter commands pipelining * [CritFix] Fix newlines detection * [Feature] Filter nan and inf when adding scores * [Feature] Implement headers flags in mime parser * [Feature] Support Expires header when using HTTP maps * [Fix] Actively load skip hashes map in fuzzy storage * [Fix] Add workaround for IPv6 in sendmail * [Fix] Authentication Results: Fix SPF smtp.mail_from * [Fix] Check for magic when checking for an archive * [Fix] Deal with another case when processing exceptions * [Fix] Deal with URLs with no slashes after protocol * [Fix] Do not allow garbadge when checking url domain * [Fix] Do not ignore short words * [Fix] Do not strip last character in the last word * [Fix] Do not treat script content as text * [Fix] Erase unknown HTML entities * [Fix] Fix another tokenization issue * [Fix] Fix DKIM forgeries via multiple headers * [Fix] Fix emails detection * [Fix] Fix empty threshold check in greylisting module * [Fix] Fix enormous scores for R_WHITE_ON_WHITE * [Fix] Fix loading of per-user redis backend for statistics * [Fix] Fix multiple headers in DKIM headers list * [Fix] Fix obscured url in format user@@example.com * [Fix] Further tokenization fixes * [Fix] Load skip map from all processes as shared cache is unavailable * [Fix] Lowercase words * [Fix] Milter headers: skip_local / skip_authenticated settings * [Fix] Milter headers: X-Spamd-Result header if X-Virus ran first * [Fix] Ratelimit: fix whitelisted_rcpts matching * [Fix] Some more fixes towards emails detection * [Fix] SpamAssassin: Fail check_freemail_header if regexp didn't match * [Fix] Use greylisting threshold in greylisting module
-
1.6.4f83ccd09 · ·
Release 1.6.4 * [Feature] Add method to get all content-type attributes in Lua * [Feature] Add some sanity checks for actions and controller * [Feature] Allow randomly select User-Agent from a list * [Feature] Deal with obscured URLs with @ symbols * [Feature] Milter headers: support adding/removing arbitrary headers from config * [Fix] Add another workaround to display history properly * [Fix] Add missing rspamadm control options to help * [Fix] Auth-Results: Multiple DKIM signatures * [Fix] Crash in URL processing * [Fix] Default monitoring domain for surbl plugin * [Fix] Detection of maillist optimized and fixed * [Fix] Do not cache SPF records with PTR elements * [Fix] Fix blacklists and DMARC in whitelist * [Fix] Fix exceptions list in surbl * [Fix] Fix processing of closed tags * [Fix] Fix PTR processing in SPF * [Fix] Lowercase HTTP headers to make them searchable from Lua * [Fix] options.local_networks setting * [Fix] Ratelimit: lowercase email addresses * [Fix] Rebalance and slightly rework MX check plugin * [Fix] Redis script loading in DMARC; URL tags; URL reputation * [Fix] Reject invalid bh for DKIM signatures earlier * [Fix] Remove incorrect method `task:set_metric_subject` * [Fix] Rewriting subjects via force actions module * [Fix] RPM postinstall * [Fix] Treat 'rewrite subject' as spam action * [Fix] Try harder to find urls * [Fix] Use full URL when making an HTTP request * [Fix] Use raw urls when sending requests to redirector * [Fix] Use weight from map for fuzzy scoring * [Rules] Penalise R_BAD_CTE_7BIT for utf8 messages
-
1.6.336af1000 · ·
Release 1.6.3 * [CritFix] Fix semicolons parsing in the content type * [Feature] Add EBL to the default config * [Feature] Allow to configure monitored * [Feature] Allow to skip specific hashes in fuzzy storage * [Feature] Multimap: checking of symbol options * [Feature] Redis settings: support checking multiple keys * [Fix] ARC: Fix Lua 5.3 compatibility; timestamp should be integer * [Fix] Avoid changing content-transfer-encoding header's value * [Fix] Don't use whitelist/greylist maps as regexp, but as map * [Fix] Fix get_content method * [Fix] Header checks: Fix get_raw_header method * [Fix] Header checks: REPLYTO_UNPARSEABLE rule * [Fix] Lua_http: freeing * [Fix] Milter headers: custom headers: removing headers * [Fix] Parse HREF urls without explicit prefix * [Fix] WHITE_ON_WHITE: Ensure score is matched to part that fired the rule * [WebUI] Escape strings inside HTML in history
-
1.6.2e5cefe17 · ·
Release 1.6.2 * [Conf] Remove Rambler email bl for now * [Conf] Switch RAMBLER_URIBL to a locally managed source * [CritFix] Switch from ragel to C for Content-Type parsing * [Feature] Add `-e` option for lua_repl * [Feature] Add per-domain emails normalisation rules * [Feature] Add sessions cache to debug dangling sessions * [Feature] Add short_text_direct_hash for fuzzy check module * [Feature] Add text_part:get_stats function * [Feature] Allow to add custom processing script for surbl * [Feature] Allow to check reply-to email * [Feature] Allow to customize spam header, remove existing spam headers * [Feature] Allow to disable specific workers in the config * [Feature] Allow to discard messages instead of rejection * [Feature] Allow to specify custom delimiter in emails plugin * [Feature] Allow to specify custom User-Agent for rspamc * [Feature] Allow to store symbols data in Clickhouse * [Feature] Allow to use HTTPS when connecting to Clickhouse * [Feature] Enable sessions cache tracking for milter connections * [Feature] Implement per-line mode in lua_repl (like `perl -p`) * [Feature] Implement rdns-curve plugin based on rspamd cryptobox * [Feature] Improve maps cached data lifetime * [Feature] Improve maps checking frequency * [Feature] Improve monitored timeouts logic * [Feature] milter_headers: add `extended_headers_rcpt` option * [Feature] Milter headers: Add X-Spam-Flag to rmilter-compatibility headers * [Feature] Milter headers: remove-header routine * [Feature] Multimap: received filters for extracting TLDs from hostnames * [Feature] Normalize email aliases in emails module * [Feature] Re-add rambler email bl (as hashed list) * [Feature] Reload file maps more frequently * [Feature] Rework newlines strip parser one more time * [Feature] Skip updates for messages scanned via controller * [Feature] Split long DKIM public keys * [Feature] Store more data when stripping newlines * [Feature] Support SPF macros transformations * [Feature] Support suppressing DMARC reports for some domains * [Fix] Add missing `break` statement * [Fix] Allow modifiers in SPF macros * [Fix] DKIM sign tools: edge-cases around use_esld * [Fix] Do not cache SPF records with macros * [Fix] Do not overwrite score when setting pre-action * [Fix] Fix comparision logic * [Fix] Fix DKIM base64 folding for milter flagged messages * [Fix] Fix emails module configuration * [Fix] Fix folding for arc headers when milter interface is used * [Fix] Fix gmail dots removal * [Fix] Fix rspamc detection in greylist module * [Fix] Fix some more issues with HTTP maps * [Fix] Milter sessions can live forever * [Fix] Normalize fuzzy probability better * [Fix] Plug memory leak * [Fix] RBL: Fixed hashed email address lookups * [Fix] Try to deal with brain-damaged milter behaviour * [Fix] Use `\n` to fold headers for milter * [Rework] Allow to use custom callback for monitored checks * [Rework] Further steps towards one process monitoring * [Rework] Send health checks from a single worker * [WebUI] Round-up throughput summary values
-
1.6.18895fc6f · ·
Release 1.6.1 * [Fix] Allow to init resolver without rspamd_config * [Fix] Do not crash when resolver failed to initialize * [Fix] Fix abstract context layout * [Fix] Fix CGP helper reply parsing * [Fix] Fix crashes when socket write errors occur * [Fix] Fix parsing IPv6 nameservers in resolv.conf * [Fix] Milter: Don't defer on "greylist" action
-
1.6.09c0fd5e4 · ·
Release 1.6.0 * [Conf] Add rspamd_proxy to the default configuration set * [Conf] Add sample arc module config * [Conf] Do away with systemd specifics completely * [Conf] Increase min_bytes to avoid FP * [Conf] Remove ratelimits from default configuration * [CritFix] Fix accepting on IPv6 sockets * [CritFix] Fix corruption when multiple fuzzy are defined * [CritFix] Fix learn condition in fuzzy check * [CritFix] Fix memory leak in fuzzy check * [CritFix] Fix memory leak in maps scheduling * [CritFix] Paese the last character in DKIM signature correctly * [CritFix] Zero fill sockaddr_un * [Feature] Add ability to add doc strings by example * [Feature] Add API to verify DKIM (and ARC) signatures * [Feature] Add compression/decompression to proxy * [Feature] Add count to url structure * [Feature] Add initial support of the new protocol reply * [Feature] Add Lua plugin spamtrap * [Feature] Add `monitored_address` for rbls * [Feature] Add new schema for bayes tokens * [Feature] Add preliminary ARC support to dkim code * [Feature] Add preliminary support of ARC signing * [Feature] Add rules to detect bad 8bit characters in From and To * [Feature] Add scanning support for milter protocol * [Feature] Add support for bidirectional symbols in rspamd_stats * [Feature] Add support for static maps * [Feature] Add support of maps with multiple regexps matches * [Feature] Add `text_multiplier` param * [Feature] Add the preliminary ARC plugin * [Feature] Add top redirector targets rank * [Feature] Allow async events to be registered from LUA rules * [Feature] Allow storing bayes tokens in Redis * [Feature] Allow to exclude specific domains from mx check * [Feature] Allow to have a stack of watcher finalisers * [Feature] Allow to pass hostname to `-i` flag in Rspamc * [Feature] Allow to set custom user agent in url redirector * [Feature] Allow to use custom callback when parsing resolv.conf * [Feature] Allow to use domain from authenticated user * [Feature] Bayes expiry plugin * [Feature] Check dkim sign keys for modifications * [Feature] DKIM signing: sign_networks/local address specific use_domain settings * [Feature] DMARC: Support excluding domains from sampling * [Feature] Expire processing items for URL redirector aggressively * [Feature] Fix surbl monitored for IP lists, add `monitored_domain` option * [Feature] Implement caching for dkim body hashes * [Feature] Implement milter protocol scan reply * [Feature] Improve omograph phishing detection * [Feature] Initial support of self-scan in Rspamd proxy * [Feature] Keep track of headers in milter interface * [Feature] Milter headers: better controls for local/authenticated * [Feature] Multimap: email:domain:tld filter * [Feature] Preliminary DMARC reporting implementation * [Feature] Reuse stemmers in the cache * [Feature] Rework confighelp to load Lua plugins * [Feature] Rework hfilter to use hyperscan if possible * [Feature] Rework lua RSA API * [Feature] Rmilter_headers: approximate rmilter's extended_spam_headers * [Feature] Start integration of milter support in proxy * [Feature] Store average words length and short words count * [Feature] Store hash of headers order and names * [Feature] Support MTA name header * [Feature] Support multiple types of dkim signing in Lua * [Feature] Support numeric arguments for Redis requests * [Feature] Use headers hash in bayes metatokens * [Feature] Use normal resolv.conf rules of rotation in Rspamd * [Feature] Use version 2 proto for checking messages * [Fix] Allow to follow symlinks when safe * [Fix] Append MX name for authentication results as required * [Fix] Change default text multiplier from 0.5 to 2.0 * [Fix] Check min_bytes for images as well * [Fix] Deal with 7bit charsets properly * [Fix] Deal with 8bit characters in email addresses * [Fix] Deal with unpaired <a> tags * [Fix] Detect confighelp in plugins initialisation * [Fix] Disable certain checks for utf spoof detection * [Fix] DKIM Signing: avoid nil index when From header is missing * [Fix] Do not add exact hashes from different parts * [Fix] Do not check DMARC if SPF or DKIM were not checked * [Fix] Do not check URLs that are resolved to be redirected * [Fix] Do not set bayes probability if we don't use it * [Fix] Do not stop on illegal unicode points - replace them * [Fix] Fix another race condition in arc checks * [Fix] Fix arc count logic * [Fix] Fix ARC signing * [Fix] Fix brain-damaged spamc protocol for now * [Fix] Fix calling for peak functions * [Fix] Fix couple of issues in FORWARDED rule * [Fix] Fix CTE propagation from parent containers to children parts * [Fix] Fix errors processing in the controller * [Fix] Fix format string in milter * [Fix] Fix issues in SPF macros parsing * [Fix] Fix logging format string * [Fix] Fix logic of cached passwords check * [Fix] Fix lowercasing of stemmed words * [Fix] Fix LRU elements removal * [Fix] Fix memory leak when accepting from unix sockets * [Fix] Fix milter connections persistence * [Fix] Fix objects merging in UCL * [Fix] Fix order of operations to avoid race condition * [Fix] Fix parsing of long regexp types * [Fix] Fix passing data to log helper when many symbols defined * [Fix] Fix pools management for milter session * [Fix] Fix processing of the watchers * [Fix] Fix queue id macro in milter * [Fix] Fix R_BAD_CTE_7BIT rule * [Fix] Fix Redis timeout set * [Fix] Fix REPLYTO_UNPARSEABLE rule * [Fix] Fix setting of email address * [Fix] Fix some more issues about duplicated fuzzy requests * [Fix] Fix spamc support in rspamd proxy * [Fix] Fix syntax error in spamtrap plugin * [Fix] Fix url counts for href urls * [Fix] Fix url handling in the protocol * [Fix] Multimap: Received IP filters with Redis * [Fix] Oops, fix d9d0fa5e86db2f4470d34395a233b450478b2f60 * [Fix] Parse rgb[a](x,x,x[,x]) css colors * [Fix] Phishing: strict_domains * [Fix] Reduce maps aggressiveness * [Fix] Reresolve upstreams even if there is a single server there * [Fix] Rspamadm grep: Disable Lua patterns in string search by default * [Fix] Skip text parts when checking binary parts in fuzzy check * [Fix] Support v2 checks in controller * [Fix] Treat empty address as valid * [Fix] Try harder to detect CTE * [Fix] Try to deal with v4 mapped to v6 addresses on accept * [Fix] Use dkim signing callback properly * [Fix] Use non-volatile memory for storing data * [Fix] Use static maps instead of ugly hack for radix_from_config * [Fix] Use the same pool for related sessions * [Rework] Continue modularisation for lua library * [Rework] Initial milter protocol support * [Rework] Make log pipes worker agnostic, add scanners API * [Rework] Move authentication results generation to a separate routine * [Rework] Move common DKIM functions to a separate lua module * [Rework] Move global functions to a separate directory * [Rework] Prepare dkim module for ARC checks * [Rework] Propagate ucl variables from the command line * [Rework] Remove multiple metrics support from Rspamd * [Rework] Stop using name 'rmilter' for the modern protocol * [Rework] Use LFU algorithm in LRU cache * [Rules] Fix received TLS rules * [Rules] Improve URL_COUNT_ODD rule * [WebUI] Fix add header filter in history * [WebUI] Use modern protocol for checking messages
-
1.5.9ea02ffc2 · ·
Release 1.5.9 * [Conf] Increase min_bytes to avoid FP * [Conf] Remove ratelimits from default configuration * [CritFix] Fix accepting on IPv6 sockets * [CritFix] Zero fill sockaddr_un * [Feature] Add `text_multiplier` param * [Fix] Check min_bytes for images as well * [Fix] Do not add exact hashes from different parts * [Fix] Fix memory leak when accepting from unix sockets * [Fix] Fix some more issues about duplicated fuzzy requests * [Fix] Phishing: strict_domains * [Fix] Skip text parts when checking binary parts in fuzzy check * [Minor] Add the same duplicates protection for all fuzzy hashes types * [Minor] Fix braces * [Minor] Fix test * [Minor] SPOOF_DISPLAY_NAME: Use all SMTP/MIME recipients * [Minor] Validate assumed spoofed display name domains to contain a dot
-
1.5.8fe3763db · ·
Release 1.5.8 * [CritFix] Fix memory leak in fuzzy check * [CritFix] Fix memory leak in maps scheduling * [Feature] Multimap: email:domain:tld filter * [Fix] DKIM Signing: avoid nil index when From header is missing * [Fix] Do not set bayes probability if we don't use it * [Fix] Do not stop on illegal unicode points - replace them * [Fix] Fix brain-damaged spamc protocol for now * [Fix] Fix Redis timeout set * [Fix] Fix spamc support in rspamd proxy * [Fix] Multimap: Received IP filters with Redis * [Fix] Parse rgb[a](x,x,x[,x]) css colors * [Fix] Reresolve upstreams even if there is a single server there * [Fix] Treat empty address as valid * [Fix] Try harder to detect CTE * [Fix] Try to deal with v4 mapped to v6 addresses on accept * [Minor] Add `wsf` and `hta` bad archive extensions * [Minor] Fix configuration option * [Minor] Fix result parsing for SAVAPI * [Minor] Further logging improvements * [Minor] Improve logging of errors * [Minor] Prevent MID_CONTAINS_FROM from firing on empty address * [Minor] Reduce digit->number transmission penalty * [Minor] Relax CTYPE_MISSING_DISPOSITION rule
-
1.5.73320f78d · ·
Release 1.5.7 * [CritFix] Fix corruption when multiple fuzzy are defined * [CritFix] Fix learn condition in fuzzy check * [Feature] Add rules to detect bad 8bit characters in From and To * [Feature] DKIM signing: sign_networks/local address specific use_domain settings * [Feature] Support numeric arguments for Redis requests * [Fix] Deal with 8bit characters in email addresses * [Fix] Fix couple of issues in FORWARDED rule * [Fix] Fix passing data to log helper when many symbols defined * [Fix] Fix R_BAD_CTE_7BIT rule * [Fix] Fix REPLYTO_UNPARSEABLE rule * [Fix] Fix setting of email address * [Fix] Rspamadm grep: Disable Lua patterns in string search by default * [Minor] Add Lua 5.3 workaround * [Minor] Add lua methods to detect if a part has 8bit characters * [Minor] Allow session-less lua dns requests * [Minor] Allow to append greylist end time to message reported * [Minor] Avoid `nil` table * [Minor] Disable dkim_signing if redis is specified but not configured * [Minor] Fix build with pcre2 * [Minor] Fix rule * [Minor] Fix warnings * [Minor] Format floating point number * [Minor] Push email flags to the lua API * [Minor] Silence some warnings * [Minor] Silence warning * [Minor] Try all hostname regexps to find the most significant one * [WebUI] Fix add header filter in history
-
1.5.627ea4269 · ·
Release 1.5.6 * [Feature] Add unigramms support in bayes * [Feature] Allow configurable sign headers for DKIM * [Feature] Allow to add unigramm metatokens from Lua * [Feature] DKIM Signing: envelope match exception for local IPs * [Feature] UCL: register parser variables from Lua * [Fix] Always try to adjust filename * [Fix] Do extra copy to ensure that original content is never touched * [Fix] Fix SPOOF_REPLYTO rule * [Fix] Ignore Rmilter added Received * [Fix] More fixes for hashed email dnsbls * [Fix] Plug memory leak in chartable module * [WebUI] Display multiple alerts at once
-
1.5.52b79d1ba · ·
Release 1.5.5 * [CritFix] Fix classifier learning with Redis backend * [CritFix] Fix issue when parsing encoded rfc822/messages * [Feature] Add escaped version of lua_ucl import * [Feature] Add task:headers_foreach function * [Feature] Allow to process filenames from content type * [Feature] Allow to query hashed emails * [Feature] Ignore bayes with mostly metatokens or with too few text * [Feature] Probabilistically skip metatokens * [Feature] Retrieve all virus names from SAVAPI * [Feature] Rework classifiers lua metatokens * [Feature] Store headers order * [Feature] Store text tokens inside bayes tokens * [Feature] Use cached shingles keys * [Fix] Add missing score normalisation for HFILTER_URL_ONLY * [Fix] Avoid lookup in absent hash * [Fix] Check return values from Lua functions called from C * [Fix] Do not count sending and loading time in rspamc * [Fix] Escape json strings for controller rejplies from Lua * [Fix] Fix archive scans for savapi * [Fix] Fix domain_only emails RBL * [Fix] Fix ip_score map configuration * [Fix] Fix JSON output for history_redis * [Fix] Fix one character length substrings search * [Fix] Fix parsing of non-RFC compatible Exim received * [Fix] Fix parsing of options for workers with the same type * [Fix] Fix processing of small tokens vectors * [Fix] Fix rfc2047 tokenization * [Fix] Fix typo * [Fix] More fixes for inplace decoding * [Fix] Try to avoid modifications of the original data * [Fix] URL redirector: Fix call to is_redirector * [Rework] Set token data as uint64_t instead of chars array * [WebUI] Check if neighbours' history backend versions match * [WebUI] Disable phrase connectors replacement in history filtering * [WebUI] Disable phrase connectors replacement in symbols filtering * [WebUI] Do not hide messages with bad subject, just replace it with '???' * [WebUI] Fix error message * [WebUI] Fix history v2 display * [WebUI] Fix legacy history * [WebUI] history: break To address lists on commas * [WebUI] Increase default timeout to 20 seconds * [WebUI] Save some history table space
-
1.5.40839f87a · ·
Release 1.5.4 * [Conf] Add history_redis default configuration * [Feature] Add spoofed rules * [Feature] Add URL_IN_SUBJECT rule * [Feature] Allow to get task's subject * [Feature] Allow to specify maximum number of shots for symbols * [Feature] Distinguish URLs found in Subject * [Feature] Memoize LPEG grammars * [Feature] Parse else parts in SA rules * [Feature] Process subject for mixed characters * [Feature] Resolve url chains in url_redirector module * [Feature] Stat greylisted messages as greylisted not soft-rejected * [Feature] Support checking for redirector in Lua SURBL * [Feature] Support tag_exists SA function * [Feature] Work with broken rfc2047 tokens * [Fix] Check all watcher's dependencies * [Fix] Do not compile hyperscan with no SSSE3 support * [Fix] Do not crash if cannot decode qp encoded part * [Fix] Fix dependencies of DKIM when multiple signatures are found * [Fix] Fix lists in whitelist plugin * [Fix] Fix one-shot symbols weight calculations * [Fix] Fix options and shots match * [Fix] Fix order of symbol options * [Fix] Fix parsing of dot at the end of the address * [Fix] Fix parsing of lua table arguments * [Fix] Fix processing of subject words * [Fix] Fix string split memoization * [Fix] Fix templates grammar usage * [Fix] Fix various issues related to Lua stack manipulation * [Fix] Force actions: Use postfilter if we have honor_action / require_action * [Fix] Further fixes to avoid PHISHING FP * [Fix] Preserve order of options in symbols * [Fix] Rspamadm grep: deal with unusually-formatted logs * [Fix] Use hostname suffix when dealing with history * [Rework] Remove outdated SA rules * [WebUI] Add flexible columns * [WebUI] Add footable * [WebUI] Add sender, recipients and subject columns * [WebUI] Allow message-id break * [WebUI] Fix history clustering * [WebUI] Fix history display * [WebUI] Fix sorting * [WebUI] Humanize sizes * [WebUI] Initial move towards footable * [WebUI] Remove datatables * [WebUI] Replace `.values` method with `.map` * [WebUI] Rework v2 symbols display * [WebUI] Try to normalize frequencies * [WebUI] Unbreak WebUI * [WebUI] Use Footable to draw Throughput summary table
-
1.5.3ca1a968c · ·
Release 1.5.3 * [Conf] Add composite for hacked wordpress phishing * [CritFix] Fix base64 decoding when there are unparseable characters * [Feature] Additional symbol metadata in metadata exporter * [Feature] Add method to get protocol reply from Lua * [Feature] Add symbols when tagged rcpt/sender are normalised * [Feature] Add task:get_symbols_all() function * [Feature] Allow multiple formats of DKIM signing key * [Feature] Allow to cache and use flexible protocol reply * [Feature] Allow to set one_shot flag from register_symbol * [Feature] Allow to skip certain types of hashes when learning fuzzy * [Feature] Cache and insert scan time into the protocol * [Feature] Detect newlines in rspamc --mime * [Feature] DKIM signing: support use of maps * [Feature] Greylist: Support excluding low-scoring messages from greylisting * [Feature] Implement lua history in controller * [Feature] Implement redis history querying * [Feature] Preliminary implementation of redis history plugin * [Feature] Support using request headers in settings * [Fix] Change default template to deal with non-ASCII characters * [Fix] Deal with lists of maps in whitelist module * [Fix] DKIM signing: use domain-specific signing key * [Fix] Do not reallocate completed zstd buffer * [Fix] Do not use local_addrs in proxy * [Fix] Fix crash when resolver is undefined * [Fix] Fix double free when closing lua_tcp connections * [Fix] Fix for lua 5.3 * [Fix] Fix freeing of arrays iterators * [Fix] Fix issue with task:get_symbol and symbols with no metric * [Fix] Fix log line duplication in `rspamadm grep` * [Fix] Fix memory corruption on termination * [Fix] Fix out-of-bound access in base64 decode * [Fix] Fix ratelimit + greylisting * [Fix] Fix subject rewriting * [Fix] Fix task:set_recipients function * [Fix] Fix URI_COUNT_ODD rule * [Fix] Follow the traditional symbols conventions in RCPT_COUNT rule * [Fix] Greylist: Suppress greylist action for whitelisted hosts too * [Fix] Metadata exporter: use rule-specific settings for emails * [Fix] Properly set missing fields in exporter * [Fix] Proxy: max_retries option * [Fix] RCPT_COUNT fixes * [Fix] Rework HAS_X_PRIO rule to match symbols conventions * [Fix] Update issues in ac-trie * [Fix] Use optimised base64 decoding in DKIM * [WebUI] Add preliminary v2 history parser * [WebUI] Allow different history parsers * [WebUI] Display symbols * [WebUI] Rework history v2 function
-
1.5.2898c9c7b · ·
Release 1.5.2 * [Conf] Add default config for spamassasssin plugin * [Conf] Add default configuration for antivirus module * [Conf] Add dkim signing docs * [Conf] Add mx_check default config * [Conf] Add replies config * [Conf] Add trie default config * [Feature] Add heuristic to find text parts in files * [Feature] Add rule to detect broken content type * [Feature] Allow to extract CTE in Lua API * [Feature] Allow to set from address for a lua_task * [Feature] Allow to set recipients of a task from Lua * [Feature] Enchance text_part:get_content method * [Feature] Remove + aliases from emails * [Feature] Support rmilter block and dkim signature in CGP helper * [Feature] Support running event loop from Lua * [Fix] Antivirus: use scanner-specific redis prefix * [Fix] Couple of fixes for DKIM signing module * [Fix] Distinguish missing and broken mandatory headers * [Fix] Do more heuristical detection for missing CTE * [Fix] Do not resort cache on each check * [Fix] Fix CGP escaping * [Fix] Fix MISSING_MIME_VERSION rule for plain messages * [Fix] Fix parsing of cte in expressions * [Fix] Fix partial matches in rspamadm grep * [Fix] Fix setting class on style field * [WebUI] Auto-switch Throughput units to `msg/min` for very low rate * [WebUI] Update D3Evolution to 0.0.2
-
1.5.1f6c7e98b · ·
Release 1.5.1 * [CritFix] Fix processing of stop_patterns with `\0` character * [CritFix] Fix setting of raw key for signing * [Fix] Fix lua exports from plugins during reload * [Fix] Fix prefilters action scores * [Fix] Fix symbols processing order * [Minor] Help cmake find gthread * [Minor] Some cmake fixes
-
1.5.06f2a7dd9 · ·
Release 1.5.0 * [Conf] Add configurations for asn, clickhouse and dcc * [Conf] Add default config for url redirector plugin * [Conf] Add the default config for greylist module * [Conf] Allow to edit all local maps from WebUI by default * [CritFix] Deal with absent headers in DKIM * [CritFix] Do not trust remote shingles count * [CritFix] Fix bad memory leak in TLS certificates validation * [CritFix] Fix critical memory issues with radix maps * [CritFix] Fix descriptors leak on reload * [CritFix] Fix headers selection in DKIM verification * [CritFix] Fix parsing of boundaries that end with `--` * [CritFix] Repair PTR_ARRAY_FOREACH macro * [Feature] Add CORS support to the controller * [Feature] Add FROM_NAME_EXCESS_SPACE rule * [Feature] Add REPLYTO_EMAIL_HAS_TITLE rule * [Feature] Add `caseless_hash` method to `lua_util` * [Feature] Add `rip` keyword to ratelimit module * [Feature] Add a simple benchmark for content type parsing * [Feature] Add boundaries parsing in content type * [Feature] Add charset detection for text parts * [Feature] Add content disposition parser * [Feature] Add fallback if too many updates are failing * [Feature] Add function to convert struct tm to time using timezone * [Feature] Add function to normalize HTTP paths * [Feature] Add fuzzy collection plugin * [Feature] Add fuzzy logic for images * [Feature] Add gmime parser to mime_tool * [Feature] Add heuristic to detect broken messages * [Feature] Add heuristic to find displayed URLs * [Feature] Add heuristic to process broken email addresses * [Feature] Add images normalization * [Feature] Add mechanism for disabling composites (Fixes #1270) * [Feature] Add method to create regexp from a glob pattern * [Feature] Add mime encoding manipulation routines * [Feature] Add mime tool to explore messages * [Feature] Add more meta tokens from received headers * [Feature] Add neighbours option to support Rspamd cluster in WebUI * [Feature] Add new function to parse mime addresses * [Feature] Add new methods for lua_tcp * [Feature] Add own headers decoding routine * [Feature] Add own routine to generate a message id * [Feature] Add parser for SMTP date * [Feature] Add per-task lua cache to reuse 'heavy' objects * [Feature] Add plugins list path in WebUI * [Feature] Add preliminary multipart support * [Feature] Add preliminary version of DKIM signing module * [Feature] Add profiling support in client output * [Feature] Add rfc2047 grammar * [Feature] Add rfc2047 variant for QP decoding * [Feature] Add rmilter_headers module (Fixes #1227) * [Feature] Add sse42 version of base64 decoding * [Feature] Add ssse3 and avx2 base64 decoders * [Feature] Add support of libgd * [Feature] Add the preliminary version of redirects resolver in Lua * [Feature] Add ucl_object_iterate_full function * [Feature] Add url encoding function * [Feature] Allow SOA requests in lua dns * [Feature] Allow custom parse types in lua ucl * [Feature] Allow plugins to register webui handlers * [Feature] Allow to add options explicitly to symbols * [Feature] Allow to call a callback when symbol frequency is on peak * [Feature] Allow to call redirector script from SURBL * [Feature] Allow to create variable length dkim keys * [Feature] Allow to have module specific options for Redis in plugins * [Feature] Allow to pass sign key directly from Lua * [Feature] Allow to register configuration docs from Lua API * [Feature] Allow to return options as a table * [Feature] Allow to set peak callbacks from Lua * [Feature] Allow to specify custom method for a message * [Feature] Allow to store dkim keys in Redis * [Feature] Allow to store messages in files * [Feature] Apply DCT using AAN for fuzzy signature * [Feature] Avira SAVAPI support * [Feature] Cache and simplify DCT and jpeg decode * [Feature] Cache libicu convertors * [Feature] Detect URLs with suspicious omographs * [Feature] Do not increase score for duplicate options * [Feature] Do not trust CTE, check base64 and qp strictly * [Feature] Dynamic reputation in URL reputation plugin * [Feature] Extend redis lock when learning spawned * [Feature] Filter non-utf chars from all decoded headers * [Feature] Fix phishing detection for IDNA urls * [Feature] Ignore bad symbols on base64 decoding * [Feature] Ignore too wide elements in SPF * [Feature] Implement fuzzy collection mode * [Feature] Implement helo maps in multimap * [Feature] Implement human readable buckets configuration * [Feature] Implement min-hash shingles for DCT data from images * [Feature] Implement new algorithm for fuzzy hashes of images * [Feature] Implement new unicode normalizer * [Feature] Implement quoted printable decoding * [Feature] Implement received headers flags * [Feature] Implement rspamdgrep tool * [Feature] Implement sane checksum for config file * [Feature] Implement url tags concept * [Feature] Improve detection of omographs using libicu * [Feature] Improve url redirector module * [Feature] Multimap: Received header processing * [Feature] Multiple improvements in the maps * [Feature] New URL filters in multimap * [Feature] Plugin to force actions on selected symbols * [Feature] RBL module: support hashing for emails and helo RBL * [Feature] Reuse URL tags in SURBL module * [Feature] Rework RRD ds count, add conversion path * [Feature] Rework surbl module to avoid extra redirector calls * [Feature] Send config id to the WebUI * [Feature] Simplify HTTPCrypt client support * [Feature] Skip processing for large images * [Feature] Start collection only mode implementation for fuzzy storage * [Feature] Start import of the optimized base64 decode * [Feature] Store all received headers in lua * [Feature] Store relational order of all headers in a message * [Feature] Support DKIM signing in Lua plugins * [Feature] Support HTTPCrypt client in lua_http * [Feature] Support setting SMTP message in multimap * [Feature] Support setting metric subject from Lua * [Feature] Support setting subject in force actions module * [Feature] Treat v6 mapped addresses as v4 addresses * [Feature] URL reputation plugin * [Feature] Use Redis instead of memcached in URLs redirector * [Feature] Use Rspamd rfc2047 decoder instead of gmime one * [Feature] Use a different normalization for fuzzy images * [Feature] Use normalized images in fuzzy hashes * [Feature] Use own code for parsing of date * [Feature] Use shingles for images fuzzying * [Feature] Use t1ha for hashes, allow inlining * [Feature] Use t1ha instead of metrohash and xxhash32 * [Feature] Various new features in metadata exporter module * [Feature] rmilter_headers: authentication-results (#78) * [Fix] Add additional check to mark redis connection inactive * [Fix] Add packed attribute for protocol structure * [Fix] Adopt OMOGRAPH_URL rule * [Fix] Allow static maps * [Fix] Allow to disable classifiers checks using settings and conditions * [Fix] Another try to fix 0 length maps * [Fix] Another try to fix corruption during maps reload * [Fix] Another try to fix descriptors leak * [Fix] Another try to fix reload and logger * [Fix] Antivirus module: register virtual symbols for patterns * [Fix] Avoid extensive reallocs * [Fix] Avoid mempool leak in SA plugin on reload * [Fix] Avoid race condition on saving cache and reload * [Fix] Avoid reusing g_error (Fixes #1262) * [Fix] Break pool connection on fatal redis errors * [Fix] Check for NaN properly * [Fix] Couple of fixes for date parsing * [Fix] Date header timezone adjustments (#1279) * [Fix] Deal with EOF properly * [Fix] Decode filename in content disposition * [Fix] Disable fuzzy images by default * [Fix] Disable zero-copy mode for text parts to avoid crashes * [Fix] Do not destroy session when not all finish scripts are done * [Fix] Do not greyscale images * [Fix] Do not leave parent-less workers processes on fatal errors * [Fix] Do not lowercase Content-Disposition to perform decoding * [Fix] Do not penalize characters just after numeric prefix * [Fix] Do not refork workers that are intended to die * [Fix] Do not set pre-result and update records for no `Queue-ID` messages * [Fix] Do not skip post-filters when pre-filters have set some results * [Fix] Do not stop symbols planning if async events are pending * [Fix] Do not try to set keys for unencrypted requests in proxy * [Fix] Encode URLs according to rfc3986 * [Fix] Encode URLs before sending them to the protocol * [Fix] Filter bad characters from message id * [Fix] Fix CTE detection heuristic * [Fix] Fix Content-Type in HTTP requests * [Fix] Fix IDN eslds phishing checks * [Fix] Fix adding maps from config in Lua * [Fix] Fix another reload memory issue * [Fix] Fix argument returned on redis backend errors * [Fix] Fix assertion in graph handling * [Fix] Fix body trie matching * [Fix] Fix build * [Fix] Fix byte array expansion during toutf8 conversion * [Fix] Fix charset normalisation * [Fix] Fix checking of DKIM bodies that needs just `\n` to be added * [Fix] Fix couple of cornercases with email addresses * [Fix] Fix couple of issues * [Fix] Fix dependencies tracking for callback symbols * [Fix] Fix detection of jpeg size * [Fix] Fix errors handling in fuzzy backend initialization * [Fix] Fix fuzzy hashes count * [Fix] Fix globbing and convert lists to arrays in fuzzy_check * [Fix] Fix heuristical CTE detection for QP encoding * [Fix] Fix ignoring of bad text parts * [Fix] Fix indexes in array access, interleave loop * [Fix] Fix int64 -> double conversion * [Fix] Fix invalid memory access on reload * [Fix] Fix issues with empty updates * [Fix] Fix issues with quoted-printable encoding * [Fix] Fix keys names * [Fix] Fix lots of issues in mime parser code * [Fix] Fix lua maps load * [Fix] Fix macro name * [Fix] Fix mas group score calculations * [Fix] Fix matching of the same patterns from different tries * [Fix] Fix memory corruprtion and leak * [Fix] Fix memory leak in HTTP maps * [Fix] Fix memory leak in expression destroying * [Fix] Fix memory leak in parsing of mime names * [Fix] Fix memory leak in safe ucl iterators * [Fix] Fix memory leak on reload in plugins * [Fix] Fix modules reconfigure on reload * [Fix] Fix monitored setup fro URLBLs with IP addresses * [Fix] Fix name of var * [Fix] Fix new rrd updates * [Fix] Fix out of bounds access * [Fix] Fix parsing messages with no body * [Fix] Fix parsing of '=' character in headers * [Fix] Fix parsing of messages with no content type * [Fix] Fix plugins callbacks in webui * [Fix] Fix possible memory corruption in redis pool * [Fix] Fix probability calculations for fuzzy redis backend * [Fix] Fix processing errors in lua_tcp * [Fix] Fix processing of emails with name only * [Fix] Fix processing of non-multipart messages * [Fix] Fix processing of parts with no valid content type * [Fix] Fix race condition in SIGUSR2 handler * [Fix] Fix redis options parsing when no redis servers are defined * [Fix] Fix reload and hyperscan ready event * [Fix] Fix reload memory issue * [Fix] Fix rra_ptr conversion * [Fix] Fix rrd file conversion * [Fix] Fix setting of content-type attributes * [Fix] Fix signing headers creation in DKIM * [Fix] Fix stddev calculations * [Fix] Fix surbl plugin to work with composite maps * [Fix] Fix timezones parsing * [Fix] Fix tokens usage * [Fix] Fix urls and emails hashes * [Fix] Fix usage of unsafe ucl iterators * [Fix] Fix work with broken utf8 tokens * [Fix] Fix writing of user to roll history * [Fix] Forgotten worker * [Fix] Further memory leaks fixes * [Fix] Ignore lua metatokens in bayes for now * [Fix] Improve OMOGRAPH_URL rule * [Fix] Lua IP from string should be invalid if parsing failed * [Fix] Miltiple fixes to new lua_tcp, add debugging * [Fix] More fixes for iterators cleanup * [Fix] More fixes to logger initialization * [Fix] More heuristic fixes for phishing detection * [Fix] More leaks eliminated * [Fix] More leaks... * [Fix] More random fixes for reload... * [Fix] Multimap: Fixes for email filters * [Fix] Multiple fixes for fann module * [Fix] Multiple memory corruption fixes * [Fix] Normalize path in HTTP router * [Fix] Plug memory leak * [Fix] Plug memory leak in adding radix trees * [Fix] Plug memory leak in configuration parser * [Fix] Plug memory leak in expressions parsing during reload * [Fix] Plug memory leak in learning fuzzy storage * [Fix] Plug memory leak in lua_tcp * [Fix] Plug reload leaks * [Fix] Plug termination memory leaks * [Fix] Really increase lock lifetime * [Fix] Replies module: fix symbol weight * [Fix] Restore content type params related functions * [Fix] Set task's subject from mime subject * [Fix] Sigh, one more reload leak * [Fix] Simplify images shingles * [Fix] Some more memory issues are fixed * [Fix] Stop hardcoding of lua in C * [Fix] Stop processing of bad parts as text parts * [Fix] Strictly filter bad characters when emittin json * [Fix] Strings returned from lua are ephemeral * [Fix] Support unix sockets for lua redis * [Fix] Try to fix issues with reloading config * [Fix] Try to fix race condition in redis_pool * [Fix] Use checksum to avoid intersection between different ANNs * [Fix] Use rspamd hashes in embedded ucl * [Fix] Use sane default rewrite subject (*** SPAM *** %s) * [Fix] Various collection mode fixes * [Fix] Various fixes to mime parser * [Fix] Various reload leak fixing * [Fix] Whitelist certain extensions from archive checks * [Rework] Add preliminary implementation of the mime parser * [Rework] Adopt code for the new options * [Rework] Change logger setup interface * [Rework] Composite configuration (#1270) * [Rework] Finally remove gmime dependency from Rspamd * [Rework] Further fixes to symbols frequencies * [Rework] Implement content type parser for mime * [Rework] Kill all InternetAddressList usages * [Rework] Multiple fixes for symbols cache statistics * [Rework] Refactor struct names * [Rework] Rework images fuzzy hashes algorithm * [Rework] Rework lua_tcp to allow TCP dialog * [Rework] Start massive rework to get rid of gmime * [Rework] Start new approach for multiparts parsing * [Rework] Start rework of mime addresses * [Rework] Start rework of symbols cache updates * [Rework] Start switching to libicu * [Rework] Use a special structure for stats tokens * [Rework] Use hash tables for symbols options * [Rework] Use libicu instead of iconv for conversions * [Rework] Use new scheme to parse mime parts * [WebUI] Add Access-Control-Allow-Origin for cluster management * [WebUI] Add Throughput graph autorefreshing (#820) * [WebUI] Add Visibility.js library * [WebUI] Add basic cluster support to Throughput tab * [WebUI] Add graph legend entries for new DSes * [WebUI] Add graph tab * [WebUI] Add neighbours RRD data consolidation * [WebUI] Add preliminary save symbols clustering * [WebUI] Add server selector to navbar * [WebUI] Add soft reject to auth stats * [WebUI] Add summary to the Throughput tab * [WebUI] Allow to save maps on the cluster * [WebUI] Avoid extra graph redraw and alerts glitching * [WebUI] Be more generous with AJAX timeout * [WebUI] Disable error ring loading in `read only` mode * [WebUI] Enclose table header cells with `tr`s * [WebUI] Finish interface rework * [WebUI] Fix RRD summary pie chart position * [WebUI] Fix `All SERVERS` graph fot just one available server * [WebUI] Fix case when no cluster is defined * [WebUI] Fix compatibility with non-ES6 compliant browsers * [WebUI] Fix config ID * [WebUI] Fix configuration page partially * [WebUI] Fix disabled state * [WebUI] Fix graph dataset selector initialization * [WebUI] Fix graph selectors state resetting * [WebUI] Fix mouse events on throughput summary table area * [WebUI] Fix multiple JS issues * [WebUI] Fix pie chart displaying * [WebUI] Fix read only * [WebUI] Fix read only2 * [WebUI] Fix retarded datatables * [WebUI] Fix soft reject in pie chart * [WebUI] Fix stat widgets timers multiplication on `Refresh` click * [WebUI] Fix symbols config * [WebUI] Fix various errors with login form * [WebUI] Further fixes * [WebUI] Hide learning tab in read-only mode * [WebUI] Initial clusters support * [WebUI] Make legend entry colours more contrast * [WebUI] Move configuration tab to a separate module * [WebUI] Move history tab * [WebUI] Move symbols config as well * [WebUI] New sec to time function * [WebUI] Prevent multiple clicks on `Refresh` * [WebUI] RRD summary: Hide inner labels of tiny pie sectors * [WebUI] RRD summary: Respect undefined values * [WebUI] Reduce font size of graph's legend * [WebUI] Remove orphaned font duplicates * [WebUI] Remove unused code * [WebUI] Replace spinner with animated glyphicon * [WebUI] Reset refresh timer on server switching * [WebUI] Rework interface to use requirejs * [WebUI] Rework neighbours query function * [WebUI] Separate attributes by space * [WebUI] Set focus to password field (#1230) * [WebUI] Simplify neighbours table populating * [WebUI] Start rework of modules * [WebUI] Stop stats refreshing if the page is hidden * [WebUI] Turn d3pie's stuff into a reusable function, * [WebUI] Unify send data functions * [WebUI] Update D3Evolution to 0.0.1 * [WebUI] Update d3.js * [WebUI] Update datatables to work with the requirejs * [WebUI] Use unified tab click event handler, * [WebUI] clusters for the chart * [WebUI] fix uptime
-
1.4.4d3a81620 · ·
Release 1.4.4 * [CritFix] Fix bad memory leak in TLS certificates validation * [Fix] Fix memory leak in HTTP maps * [Fix] Replies module: fix symbol weight * [Minor] Add missing macro * [Minor] Do not treat IDN urls as bad URLs * [Minor] Fix build with gcc 4.2 * [Minor] Fix cast * [Minor] One more definition missed on Linux
-
1.4.38c00cdba · ·
Release 1.4.3 * [CritFix] Backport PTR_ARRAY_FOREACH fix * [CritFix] Fix descriptors leak on reload * [Feature] Add `caseless_hash` method to `lua_util` * [Feature] Use t1ha for hashes, allow inlining * [Feature] Use t1ha instead of metrohash and xxhash32 * [Fix] Another try to fix descriptors leak * [Fix] Another try to fix reload and logger * [Fix] Avoid extensive reallocs * [Fix] Avoid race condition on saving cache and reload * [Fix] Backport redis pool fixes from master * [Fix] Break pool connection on fatal redis errors * [Fix] Fix argument returned on redis backend errors * [Fix] Fix errors handling in fuzzy backend initialization * [Fix] Fix race condition in SIGUSR2 handler * [Fix] Fix reload and hyperscan ready event * [Fix] More fixes to logger initialization * [Fix] Plug memory leak in learning fuzzy storage
-
1.4.269c3600f · ·
Release 1.4.2 * [CritFix] Deal with absent headers in DKIM * [CritFix] Do not trust remote shingles count * [CritFix] Fix headers selection in DKIM verification * [Feature] Add EXT_CSS rule * [Feature] Add toggle for disabling SURBLs * [Feature] Extend redis lock when learning spawned * [Feature] Parse <link> HTML tags * [Fix] Avoid reusing g_error (Fixes #1262) * [Fix] Do not reset loaded ANN when learning is requested * [Fix] Fix another issue with external deps in SA * [Fix] Fix body trie matching * [Fix] Fix checking of DKIM bodies that needs just `\n` to be added * [Fix] Fix fuzzy hashes count * [Fix] Fix keys names * [Fix] Fix length calculations for url encoded urls * [Fix] Fix matching of the same patterns from different tries * [Fix] Fix name of var * [Fix] Fix parsing of URLs with spaces and other bad chars * [Fix] Fix probability calculations for fuzzy redis backend * [Fix] Fix signing headers creation in DKIM * [Fix] Plug memory leak * [Fix] Really fix chained SA dependencies * [Fix] Really increase lock lifetime * [Fix] Use checksum to avoid intersection between different ANNs * [Fix] Use rspamd hashes in embedded ucl * [Fix] Yet another change for testing external deps
-
1.4.1cbdf99ae · ·
Release 1.4.1 * [Feature] ASN support in Clickhouse module * [Feature] Add clickhouse plugin * [Feature] Add generic tool to add universal maps for lua modules * [Feature] Add logger.debugm to debug lua modules * [Feature] Allow to register metrics symbols using register_symbol * [Feature] Allow to specify prefix for fann_redis * [Feature] Clickhouse: support different masks for IPv4/IPv6 * [Feature] Support forcing action in antivirus plugin * [Fix] Add handling of regexp maps * [Fix] Allow backslashes in http urls * [Fix] Avoid mapping of empty files * [Fix] Do not load tld file to speed up rspamadm * [Fix] Do not resolve numeric IP addresses due to ipv6 insanity * [Fix] Filter incorrect training data * [Fix] Fix Fuzzyconvert tool when password or DB is given * [Fix] Fix build with custom glib/gmime * [Fix] Fix converting of learn count from sqlite to redis * [Fix] Fix crashes with invalid received and task:set_from_ip * [Fix] Fix external dependencies for SA module * [Fix] Fix fann_redis when number of scores has been changed * [Fix] Fix hyperscan usage for non compatible platforms * [Fix] Fix loading of maps from UCL objects * [Fix] Fix memory leak for task-less redis requests * [Fix] Fix mid module with new maps syntax * [Fix] Fix parsing of URLs with username * [Fix] Fix re cache initialisation * [Fix] Fix replacements to sanitize '%' character * [Fix] Fix set and regexp like static maps * [Fix] Fix some issues in redis settings * [Fix] Fix static IP maps * [Fix] Fix total learns counter for redis stats * [Fix] Fix usage of config during reload * [Fix] Fix various warnings and issues * [Fix] Invalidate ANN if training data is incorrect * [Fix] Miltiple fixes to fann_redis module * [Fix] More fixes for URLs with backslashes * [Fix] Properly get options for ip_score module * [Fix] Relax requirements for Received as gmail cannot RFC * [Fix] Remove or fix hyperscan incompatible regexps * [Fix] Settings: correctly read redis config * [Rework] Rework lua logger interface slightly * [Rework] Use new maps add function