Permalink
| 1.6.2: 08 Jul 2017 | |
| * [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.1: 14 Jun 2017 | |
| * [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.0: 12 Jun 2017 | |
| * [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.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.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.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.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.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.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.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.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.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.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 converters | |
| * [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.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.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 | |
| 1.4.0: | |
| * [CritFix] Add guards for inactive redis connections | |
| * [CritFix] Another fix for proxying files using rspamd_proxy | |
| * [CritFix] Cleanup inactive redis connections | |
| * [CritFix] Do not sometimes try to exec posfilters before classification | |
| * [CritFix] Fix application of IPv6 mask | |
| * [CritFix] Fix chunked encoding when reading messages | |
| * [CritFix] Fix file mode for rspamd_proxy | |
| * [CritFix] Fix hyperscan compilation on regexp change | |
| * [CritFix] Fix issue with finding of end of lines pointers | |
| * [CritFix] Fix iteration over headers array (introduced in 1.4) | |
| * [CritFix] Fix processing of learned tokens count for redis backend | |
| * [CritFix] Fix race condition in checking of cached maps | |
| * [CritFix] Fix workers scripts by sharing workers configs | |
| * [CritFix] Introduce raw content to text parts | |
| * [CritFix] Plug memory leak and potential memory corruption | |
| * [Feature] Adaptive ratelimits | |
| * [Feature] Add ASN -> rbldnsd script for asn.rspamd.com | |
| * [Feature] Add DMARC_NA symbol | |
| * [Feature] Add F-Prot support to antivirus module | |
| * [Feature] Add HTTP backend to metadata exporter | |
| * [Feature] Add Lua API module for monitored objects | |
| * [Feature] Add R_DKIM_NA / R_SPF_NA / AUTH_NA symbols | |
| * [Feature] Add R_DKIM_PERMFAIL symbol | |
| * [Feature] Add R_SPF_PERMFAIL symbol | |
| * [Feature] Add Sophos antivirus support | |
| * [Feature] Add ZSTD compression to Lua API | |
| * [Feature] Add `mid` Lua module | |
| * [Feature] Add `one_param` flag for metric symbols | |
| * [Feature] Add a generic lua classifier | |
| * [Feature] Add a very basic interface to access workers data from on_load | |
| * [Feature] Add ability to delete a hash by its data to fuzzy_check plugin | |
| * [Feature] Add ability to enable/disable symbols via dynamic_conf | |
| * [Feature] Add ability to lookup settings by key | |
| * [Feature] Add common way to disable Lua modules | |
| * [Feature] Add compression support to rspamd client | |
| * [Feature] Add condition to do antiviral check | |
| * [Feature] Add configuration for lua classifiers | |
| * [Feature] Add configuration knobs for the errors circular buffer | |
| * [Feature] Add decompression support in rspamd client | |
| * [Feature] Add errors exporter to the controller | |
| * [Feature] Add expected value for monitored DNS resources | |
| * [Feature] Add exporter from error ringbuf to ucl | |
| * [Feature] Add extended version for fann creation function | |
| * [Feature] Add ffi friendly version of process_regexp function | |
| * [Feature] Add frequency and time display to webui | |
| * [Feature] Add fuzzy_delhash command to rspamc client | |
| * [Feature] Add implementation of redis connections pool | |
| * [Feature] Add latency and offline time monitoring | |
| * [Feature] Add learning support for lua classifiers | |
| * [Feature] Add max-size and timeout options to CGP helper | |
| * [Feature] Add method to enable/disable symbols in config | |
| * [Feature] Add methods to get metric's actions and symbols from Lua | |
| * [Feature] Add mmap support to lua_text | |
| * [Feature] Add monitored object for surbl plugin | |
| * [Feature] Add more exceptions to surbl whitelist | |
| * [Feature] Add more meta-tokens to bayes | |
| * [Feature] Add neural net classifier to fann_scores module | |
| * [Feature] Add neural net serialization/deserialization | |
| * [Feature] Add new dynamic conf module | |
| * [Feature] Add periodic events support for lua_config | |
| * [Feature] Add plugin to check MX'es for the sender's domain | |
| * [Feature] Add preliminary monitored module | |
| * [Feature] Add preliminary support of dynamic conf updates in Redis | |
| * [Feature] Add preliminary version of clamav plugin | |
| * [Feature] Add redis cache to asn module | |
| * [Feature] Add replies compression | |
| * [Feature] Add spamhaus DROP dnsbl | |
| * [Feature] Add support for dictionary in client compression | |
| * [Feature] Add support for fuzzy learn and unlearn from lua | |
| * [Feature] Add support for input encryption | |
| * [Feature] Add support of min_learns to neural net classifier | |
| * [Feature] Add termination callbacks for workers | |
| * [Feature] Add user-agent for rspamc | |
| * [Feature] Add utility to perform classifier tests | |
| * [Feature] Add zstd compression library | |
| * [Feature] Allow HTTPS requests in lua_http | |
| * [Feature] Allow conditions for pre and postfilters | |
| * [Feature] Allow custom functions for ratelimits | |
| * [Feature] Allow for excluding messages from AV scanning based on size | |
| * [Feature] Allow for getting worker stats from Lua | |
| * [Feature] Allow getting task UID from Lua | |
| * [Feature] Allow parsing of mailbox messages from the commandline | |
| * [Feature] Allow plugins to publish their lua API via rspamd_plugins | |
| * [Feature] Allow to compare other systems with Rspamd | |
| * [Feature] Allow to execute Lua scripts by controller | |
| * [Feature] Allow to have a function to set custom greylist message | |
| * [Feature] Allow to iterate over multiple tags | |
| * [Feature] Allow to pass extra data from plugins to log helper | |
| * [Feature] Allow to plan new periodics at different time | |
| * [Feature] Allow to reset hashes | |
| * [Feature] Allow to run rspamadm lua just as a lua interpreter | |
| * [Feature] Allow to store settings in redis | |
| * [Feature] Allow to update dynamic conf in Redis | |
| * [Feature] Allow to use dictionaries for compression | |
| * [Feature] Allow to use md5, sha1, sha256, sha384 and sha512 hashes in Lua | |
| * [Feature] Allow whitelisting by IP for greylisting plugin | |
| * [Feature] Antivirus: Support whitelists & pattern-matching sig names | |
| * [Feature] Backport pack/unpack routines from Lua 5.3 | |
| * [Feature] Check settings with equal priopities in alphabetical order | |
| * [Feature] Compress neural net in redis | |
| * [Feature] Consider more tags when doing WHITE_ON_WHITE rule | |
| * [Feature] Descriptive options for DMARC failure symbols | |
| * [Feature] Descriptive options for RBL symbols | |
| * [Feature] Enable configuration for monitored objects | |
| * [Feature] Execute on_load scripts with ev_base ready | |
| * [Feature] Fann scores now uses metadata from a message | |
| * [Feature] Implement FANN threaded learning | |
| * [Feature] Implement classifying for lua classifiers | |
| * [Feature] Implement finish scripts for worker processes | |
| * [Feature] Implement monitoring for DNS resources | |
| * [Feature] Implement real priorities for pre and post filters | |
| * [Feature] Insert two symbols: FANN_HAM and FANN_SPAM instead of one | |
| * [Feature] Module to push metadata/messages to redis pubsub | |
| * [Feature] Monitor RBL records | |
| * [Feature] Move fann_classifier to a separate plugin | |
| * [Feature] Normalize all ANN inputs | |
| * [Feature] Preliminary version of metric exporter module | |
| * [Feature] Preserve decompression context between tasks | |
| * [Feature] Ratelimit: Support dynamic bucket size/leak rate | |
| * [Feature] Relax FORGED_RECIPIENTS: allow senders to BCC themselves | |
| * [Feature] Remove symbols weights on composites processing | |
| * [Feature] Return symbol scores when getting resulting symbols | |
| * [Feature] Rework lua tcp module | |
| * [Feature] Rule to detect some obvious X-PHP-Originating-Script forgeries | |
| * [Feature] Rule to identify some X-PHP-Script forgeries | |
| * [Feature] Rules for scoring Google Message-ID fixes | |
| * [Feature] Send hashes values to reply | |
| * [Feature] Set expire for dmarc reports | |
| * [Feature] Stop using cymru zone as it is unstable | |
| * [Feature] Stop using of GLists for headers, improve performance | |
| * [Feature] Store `for` in task:get_received_headers | |
| * [Feature] Store `for` part in received headers | |
| * [Feature] Store enabled flag for webui session | |
| * [Feature] Store error messages in ring buffer | |
| * [Feature] Support compressed maps | |
| * [Feature] Support excluding selected users from ratelimits | |
| * [Feature] Support looking up NS records in lua_dns | |
| * [Feature] Support modern style SURBL configuration | |
| * [Feature] Support multiple hashes in delhash path | |
| * [Feature] Support new messages in rspamc | |
| * [Feature] Support requests without reads in lua_tcp | |
| * [Feature] Support setting task message from Lua | |
| * [Feature] Track visibility of HTML elements | |
| * [Feature] Try to add CRLF when checking DKIM | |
| * [Feature] Try to guess line endings when folding headers | |
| * [Feature] Try to improve normalization function for bayes | |
| * [Feature] Use FFI to optimize SA module | |
| * [Feature] Use length based arguments for redis, allow lua_text as arg | |
| * [Feature] Use more layers for fann and another normalization | |
| * [Feature] User-defined ratelimits | |
| * [Feature] Utility to convert fuzzy storage from sqlite to redis | |
| * [Feature] Yield DMARC_DNSFAIL on lookup failure | |
| * [Fix] Adopt fuzzy storage for flexible backends | |
| * [Fix] Allow plain IP addresses in Rspamd maps | |
| * [Fix] Another fix for brain-damaged hiredis | |
| * [Fix] Another fix for rdns write errors | |
| * [Fix] Another fix for rdns_make_request_full invocation | |
| * [Fix] Another fix in DKIM canonicalization | |
| * [Fix] Another memory leak plugged | |
| * [Fix] Another try to deal with posix idiotizm | |
| * [Fix] Another try to fix RDNS events processing logic | |
| * [Fix] Avoid double frees in HEAD requests | |
| * [Fix] Avoid extra symbols for RBLs | |
| * [Fix] Banish table.maxn from Lua parts | |
| * [Fix] Check for socket error before connection in lua_tcp | |
| * [Fix] Correctly propagate redis timeouts to Lua | |
| * [Fix] Do not add extra newline in MIME mode | |
| * [Fix] Do not be cheated by system hiredis | |
| * [Fix] Do not classify when a message has not enough tokens | |
| * [Fix] Do not crash on redis errors | |
| * [Fix] Do not distinguish NXDOMAIN and NOREC for monitored | |
| * [Fix] Do not replan retransmits if merely one server is defined | |
| * [Fix] Do not use headers to calculate messages digests | |
| * [Fix] Don't force action in replies module for authenticated users/local networks | |
| * [Fix] Explicitly ban default passwords in webui | |
| * [Fix] Finally fix ambiguity between parsed and resolved spf elts | |
| * [Fix] Fix 'decoded' value in task:get_header_full() | |
| * [Fix] Fix DKIM calculations | |
| * [Fix] Fix DKIM signing for messages with no newline at the end | |
| * [Fix] Fix DNS request in monitored | |
| * [Fix] Fix DNS write errors processing | |
| * [Fix] Fix HTTP methods other than GET and POST | |
| * [Fix] Fix PERMFAIL for v6/v4 ambiguities | |
| * [Fix] Fix absurdic scores for HFILTER_URL_ONLY | |
| * [Fix] Fix actions in rolling history | |
| * [Fix] Fix actrie patterns | |
| * [Fix] Fix applying of lua dynamic confg | |
| * [Fix] Fix autolearning errors and redis cache | |
| * [Fix] Fix bayes learn_condition | |
| * [Fix] Fix build with the recent OpenSSL | |
| * [Fix] Fix caching and compressed maps | |
| * [Fix] Fix check plain text part | |
| * [Fix] Fix crash on OpenBSD in `url_email_start` | |
| * [Fix] Fix double free in SPF | |
| * [Fix] Fix extraction of shingles from redis fuzzy storage | |
| * [Fix] Fix false sharing for symbols in the cache | |
| * [Fix] Fix float usage in util:get_time | |
| * [Fix] Fix folding algorithm to deal with empty tokens | |
| * [Fix] Fix format string | |
| * [Fix] Fix format string usage in controller errors handling | |
| * [Fix] Fix handling of '\0' in lua_tcp | |
| * [Fix] Fix handling of HTTP HEAD methods | |
| * [Fix] Fix hash creation | |
| * [Fix] Fix hiredis stupidity | |
| * [Fix] Fix implicit settings module settingsup | |
| * [Fix] Fix interaction with lua GC to avoid craches | |
| * [Fix] Fix ip_score module registration | |
| * [Fix] Fix issue with empty messages and dkim | |
| * [Fix] Fix issues with CGP helper | |
| * [Fix] Fix issues with the recent SPF changes | |
| * [Fix] Fix key name to load ANN correctly | |
| * [Fix] Fix lua tcp module by saving `do_read` in callback data | |
| * [Fix] Fix memory leak in client when using compression | |
| * [Fix] Fix min_learns option | |
| * [Fix] Fix on_finish scripts and async handlers | |
| * [Fix] Fix options for SPF dnsfail symbol | |
| * [Fix] Fix parsing includes and redirects in SPF | |
| * [Fix] Fix parsing of lua comments with empty lines | |
| * [Fix] Fix parsing of unquoted HTML attributes | |
| * [Fix] Fix periodic events and redis | |
| * [Fix] Fix processing of fuzzy learns from Lua | |
| * [Fix] Fix processing of redirect in SPF includes | |
| * [Fix] Fix processing of symbols when reject limit is reached | |
| * [Fix] Fix refcounts when map is specified by IP | |
| * [Fix] Fix rspamd{session} class in Lua API | |
| * [Fix] Fix setting ratelimit key for 'ip' bucket | |
| * [Fix] Fix some cases of TLD urls detector | |
| * [Fix] Fix statconvert tool | |
| * [Fix] Fix stats for backend-less classifiers | |
| * [Fix] Fix training script for fann_redis | |
| * [Fix] Fix variable in ann module | |
| * [Fix] Fix various errors in lua dynamic conf plugin | |
| * [Fix] Forget old ANN when max_usages is reached to avoid overtrain | |
| * [Fix] Further canonicalization fixes | |
| * [Fix] Further fixes for fann_redis prefixes | |
| * [Fix] Handle failures for inactive pooled connections | |
| * [Fix] Improve multimap info message | |
| * [Fix] More fixes in ANN loading | |
| * [Fix] More fixes to fann_redis | |
| * [Fix] More issues in fann_redis | |
| * [Fix] More spaces fix in DKIM signature | |
| * [Fix] Multiple fixes to asn script, add IPv6 support | |
| * [Fix] Multiple issues in fann_redis | |
| * [Fix] No greylist rejected messages | |
| * [Fix] One more attempt to fix lua_redis | |
| * [Fix] One more check for readdir... | |
| * [Fix] Params should be treated as a hash | |
| * [Fix] Plug memory leak in regexp desctructor | |
| * [Fix] Process headers only once | |
| * [Fix] Properly handle nil values in ratelimit plugin | |
| * [Fix] Really fix redis shingles check | |
| * [Fix] Remove fann with incorrect layers count | |
| * [Fix] Remove mentions of deleted include | |
| * [Fix] Remove some incompatible functions | |
| * [Fix] Settings: fix `authenticated` parameter (#886) | |
| * [Fix] Skip MX check for authenticated users and local networks | |
| * [Fix] Slightly fix ANN routines | |
| * [Fix] Stop caching records with DNS failures | |
| * [Fix] Treat all errors in redis_pool as fatal errors for a connection | |
| * [Fix] Try avoid false-positives in HEADER_FORGED_MDN rule | |
| * [Fix] Try to avoid race condition when using rrd | |
| * [Fix] Try to reload redis scripts if they are missing | |
| * [Fix] Unbreak once_received skipping for local networks | |
| * [Fix] Unlock ANN on error | |
| * [Fix] Use memmove for overlapping regions | |
| * [Fix] Use real size instead of displayed for core limits | |
| * [Fix] Use the correct macro to get the size of control | |
| * [Fix] Various fixes for errors ringbuffer | |
| * [Fix] Yield R_SPF_DNSFAIL if lookup of included record fails | |
| * [Fix] mid: fix map initialization | |
| * [Fix] mid: handle incorrect rgexps in the map | |
| * [Rework] Add extract training data function to fann_redis | |
| * [Rework] Add preliminary train tests | |
| * [Rework] Add redis storage feature to fann_redis | |
| * [Rework] Adopt fuzzy storage for abstract backend | |
| * [Rework] Adopt plugins | |
| * [Rework] First reiteration on fann scores | |
| * [Rework] Implement loading/invalidating | |
| * [Rework] Make lua_redis task agnostic | |
| * [Rework] Make rspamd protocol messages useful | |
| * [Rework] Massive removal of legacy code | |
| * [Rework] More cleanup actions | |
| * [Rework] Remove legacy code never used for classifiers | |
| * [Rework] Remove outdated and unused lua_session module | |
| * [Rework] Reorganize fuzzy backend structure | |
| * [Rework] Reorganize the internal backend structure | |
| * [Rework] Restore old fann_scores, move common parts | |
| * [Rework] Rework and simplify rbl plugin | |
| * [Rework] Rework parsing of DMARC records | |
| 1.3.4: | |
| * [Feature] ASN module; support matching ASN/country in multimap | |
| * [Feature] Add SPF method in spf return result | |
| * [Feature] Add Yandex and Mail.ru forwarding rules | |
| * [Feature] Add mempool maps in multimap | |
| * [Feature] Add rule for identifying mail sent by eval()'d PHP code | |
| * [Feature] Add support of stub DNSSEC resolver to rdns | |
| * [Feature] Add task:get_digest method | |
| * [Feature] Allow for more fine-grained scoring for ip_score | |
| * [Feature] Allow to get digest of a mime part from lua | |
| * [Feature] Allow to print message digest in logs | |
| * [Feature] Fold DKIM-Signature header | |
| * [Feature] Implement encrypted logs | |
| * [Feature] Log URLs encrypted if we have log encryption pubkey | |
| * [Feature] Pass authenticated bit to lua | |
| * [Feature] Read redis backend statistics configuration from global section | |
| * [Feature] Show the exact value matched for multima symbols | |
| * [Feature] Store task checksum | |
| * [Fix] Avoid setting limits when required elements are missing | |
| * [Fix] DMARC: Fix alignment checking for subdomains | |
| * [Fix] DMARC: deal with missing and spurious spaces | |
| * [Fix] Defer insertion of results in ip_score to avoid skewing stats | |
| * [Fix] Disable DMARC for local/authorized mail | |
| * [Fix] Fix handling of proxied headers in controller | |
| * [Fix] Fix hex printing of strings | |
| * [Fix] Fix issue with spaces in maps | |
| * [Fix] Fix parsing of forwarded IP | |
| * [Fix] Fix reload in some plugins and workers | |
| * [Fix] Fix reloading on SIGHUP | |
| * [Fix] Fix some border cases for DKIM canonicalization | |
| * [Fix] Fix url maps | |
| * [Fix] Make dnssec configurable option disabled by default for now | |
| * [Fix] rspamadm statconvert: force db to be a string | |
| * [Fix] rspamadm statconvert: use db/password for learn cache | |
| * [Rework] Rework flags in rspamd logger | |
| 1.3.3: | |
| * [CritFix] Check hyperscan cache sanity before loading | |
| * [CritFix] Fix setting of fuzzy keys (completely breaks fuzzy storage) | |
| * [Feature] Add SARBL (sarbl.org) uribl | |
| * [Feature] Add `--search-pattern` option to rspamd_stats | |
| * [Feature] Add some sanity check for very long from/to log elements | |
| * [Feature] Allow to create hashes from string in a single step | |
| * [Feature] Fix order of pre and postfilters | |
| * [Feature] Improve lua URLs API | |
| * [Feature] Improve message about fuzzy rules | |
| * [Feature] Pre-calculate blake2 digest for all parts | |
| * [Feature] Print radix duplicate keys as IP addresses | |
| * [Feature] Simple mechanism for disabling RBLs in local.d/rbl.conf | |
| * [Feature] Use faster hash function for fuzzy storage | |
| * [Feature] rspamd_stats: support log directory reading | |
| * [Fix] Add sanity check for url filters | |
| * [Fix] Do not show rmilter section as a fake metric in rspamc | |
| * [Fix] Fix URL filters | |
| * [Fix] Fix a stupid mistake in util.strequal_caseless | |
| * [Fix] Fix blake2b hash of the string "rspamd" | |
| * [Fix] Fix filename maps filter | |
| * [Fix] Fix finding tld in util.get_tld | |
| * [Fix] Fix multimap content filters | |
| * [Fix] Fix returning boolean from Lua | |
| * [Fix] Fix returning of REDIS_NIL | |
| * [Fix] Try to deal with multiple workers terminated | |
| * [Fix] Use forced DNS request when calling for lua_http | |
| * [Rework] Rework multimap filters, add redis maps | |
| 1.3.2: | |
| * [Feature] Add a special symbol for SPF DNS errors: R_SPF_DNSFAIL | |
| * [Feature] Add correlations report in fuzzy stats | |
| * [Feature] Add experimental CGP integration | |
| * [Feature] Add method to get urls length in a text part | |
| * [Feature] Add new methods to lua_html to access HTML tags | |
| * [Feature] Allow all types of symbols to be added via __newindex method | |
| * [Feature] Allow to create settings for authenticated users | |
| * [Feature] Allow to get block content for HTML tags | |
| * [Feature] Improve DNS failures when dealing with SPF | |
| * [Feature] Properly implement R_WHITE_ON_WHITE rule | |
| * [Feature] Remove old ugly rules | |
| * [Feature] Rspamc can now add dkim signature in mime mode | |
| * [Feature] Store content length for HTML tags | |
| * [Feature] Support reacher set of HTML colors | |
| * [Feature] Try to avoid FP for low contrast fonts detection | |
| * [Fix] Add missing HTML colors | |
| * [Fix] Add spaces to dkim signature to allow folding | |
| * [Fix] Avoid returning NaN as score on scan | |
| * [Fix] Decode entitles in href parts | |
| * [Fix] Do not cache SPF records with DNS errors | |
| * [Fix] Do not crash on cyclic depends | |
| * [Fix] Do not insert HELO/HOSTNAME unknown when they are not passed | |
| * [Fix] Do not set absent hostname to "unknown" | |
| * [Fix] Do not stress redis with KEYS command (#791) | |
| * [Fix] Fix DMARC_BAD_POLICY symbol | |
| * [Fix] Fix HFILTER_URL module | |
| * [Fix] Fix HFILTER_URL_ONELINE rule | |
| * [Fix] Fix buffering in CGP integration | |
| * [Fix] Fix colors propagation from parent nodes | |
| * [Fix] Fix confusing OpenSSL API usage of i2d_RSAPublicKey | |
| * [Fix] Fix dependencies id sanity check | |
| * [Fix] Fix folding for semicolon separated tokens | |
| * [Fix] Fix largest possible TLD behaviour | |
| * [Fix] Fix last token folding | |
| * [Fix] Fix length calculations in white on white rule | |
| * [Fix] Fix multiple request headers structure | |
| * [Fix] Fix multiple values headers freeing | |
| * [Fix] Fix parsing of background color | |
| * [Fix] Fix printing from field in log_urls | |
| * [Fix] Fix processing of last element of DMARC policies | |
| * [Fix] Further fixes for HTML colors | |
| * [Fix] Further fixes for multiple values headers | |
| * [Fix] Further fixes for white on white rule | |
| * [Fix] Further fixes in HTML tags parsing | |
| * [Fix] Ignore content type/subtype case | |
| * [Fix] Increase score of R_WHITE_ON_WHITE | |
| * [Fix] Parse CGP envelope data | |
| * [Fix] Propagate colors in HTML | |
| * [Fix] Restore multiple values headers in protocol | |
| * [Fix] Restore multiple values in headers processing | |
| * [Fix] Some more changes to tag's content length calculations | |
| * [Fix] Some more fixes for low contrast fonts detector | |
| * [Fix] SpamAssassin plugin: support check_freemail_header('EnvelopeFrom', [..]) | |
| * [Fix] Trigger HTML_SHORT_LINK_IMG on any external image | |
| * [Fix] rspamd_stats: remove deprecated defined(@array) | |
| 1.3.1: | |
| * [CritFix] Fix catena passwords validation | |
| * [CritFix] Fix crash when the first received is faked | |
| * [Feature] Add DMARC_BAD_POLICY symbol when DMARC policy was invalid | |
| * [Feature] Allow for matching hostnames in multimap (#773) | |
| * [Feature] Allow for setting action based on DMARC disposition | |
| * [Feature] Allow limiting of the inbound message size | |
| * [Feature] Allow maps with multiple symbols and scores | |
| * [Feature] Allow regexps in the emails maps | |
| * [Feature] Allow to register metric symbols from multimap | |
| * [Feature] Allow to reset redis tokens instead of appendig values | |
| * [Feature] Allow to store strings in radix maps | |
| * [Feature] Check UTF validity when there are utf regexps in a map | |
| * [Feature] Correctly work when there is no hard reject action | |
| * [Feature] Implement dependencies for maps | |
| * [Fix] Another effort to unbreak sqlite locking | |
| * [Fix] Avoid crash when closing mmapped file | |
| * [Fix] Do not break history on NaN in required score | |
| * [Fix] Ensure that hyperscan cache written is written properly | |
| * [Fix] Filter NaN from scores in history | |
| * [Fix] Fix DNSBL maps | |
| * [Fix] Fix another locking issue in sqlite | |
| * [Fix] Fix another locking issue with mapped files | |
| * [Fix] Fix deadlock in mmaped file stats | |
| * [Fix] Fix dependencies in multimap plugin | |
| * [Fix] Fix emails module configuration | |
| * [Fix] Fix greylist plugin (#755) | |
| * [Fix] Fix greylisting plugin variable usage | |
| * [Fix] Fix installed permissions for rspamd_stats | |
| * [Fix] Fix locking in mmapped statistics | |
| * [Fix] Fix paths in tests | |
| * [Fix] Fix prefilter mode for multimap | |
| * [Fix] Forgot to commit leftover changes | |
| * [Fix] Really fix local.d includes | |
| * [Fix] Restore selective greylisting behaviour | |
| * [Fix] Set max size on per connection basis | |
| * [Fix] Use temporary storage for hyperscan cache | |
| * [Rework] Remove systemd socket activation | |
| 1.3.0: | |
| * [CritFix] Fix SA rawbody processing - exclude top part | |
| * [CritFix] Fix decoding of UTF HTML entitles | |
| * [CritFix] Fix encrypted fuzzy requests | |
| * [CritFix] Fix leak of shared memory fds and files | |
| * [CritFix] Fix levenshtein distance calculations | |
| * [CritFix] Fix mime headers processing | |
| * [CritFix] Fix parsing of URLs in texts | |
| * [CritFix] Fix parsing of missing classes | |
| * [CritFix] Fix redis structure by adding {NULL, NULL} member | |
| * [CritFix] Fix some more URL detector issues | |
| * [CritFix] Fix systemd sockets activation | |
| * [CritFix] Fix unencrypted passwords processing in the controller | |
| * [CritFix] Fix writing CDPs to the database | |
| * [CritFix] Fix writing of encrypted HTTP requests | |
| * [CritFix] Plug memory leak in dkim module | |
| * [CritFix] Plug memory leak in headers getting code | |
| * [CritFix] Pre-filters and post-filters were completely broken | |
| * [CritFix] Properly support SA body regexps | |
| * [CritFix] Really skip filters in case of pre-result set | |
| * [CritFix] Restore the intended pre-filters behaviour | |
| * [Rework] Adopt new maps code | |
| * [Rework] Compile ragel sources when building rspamd | |
| * [Rework] Finish rework for the rest of places that use HTTP | |
| * [Rework] Fix DKIM headers canonicalization | |
| * [Rework] Fix lua maps API | |
| * [Rework] Import linenoise for line editing | |
| * [Rework] Include config structure to all rcl handlers | |
| * [Rework] Make chartable module useful | |
| * [Rework] Move http internal structures to a private header | |
| * [Rework] Partly fix controller | |
| * [Rework] Remove dedicated images list | |
| * [Rework] Rename http proxy to rspamd proxy | |
| * [Rework] Rename mime parts structures | |
| * [Rework] Rework HTTP code | |
| * [Rework] Rework exceptions and newlines processing | |
| * [Rework] Rework pre and postfilters system | |
| * [Rework] Separate method to close backend connections | |
| * [Rework] Start the complete maps rework | |
| * [Rework] Use dynamically generated ragel C sources | |
| * [Feature] Add 'blacklist' and 'strict' modes for whitelists | |
| * [Feature] Add 'symbols_enabled' and 'groups_enabled' to settings | |
| * [Feature] Add ESMTPSA received type | |
| * [Feature] Add a simple script to evaluate rspamd rules in the logs | |
| * [Feature] Add a simple tool to generate DKIM keys | |
| * [Feature] Add a trivial heuristic for codepages | |
| * [Feature] Add and use mumhash for non-crypto hashing | |
| * [Feature] Add better method to check lua userdata types | |
| * [Feature] Add better zip files search algorithm | |
| * [Feature] Add catena PBKDF function | |
| * [Feature] Add configuration knobs for in and out parser scripts | |
| * [Feature] Add content filtering support to multimap | |
| * [Feature] Add different timeouts for proxy connections | |
| * [Feature] Add dot commands for lua REPL: | |
| * [Feature] Add execution of lua global functions script | |
| * [Feature] Add function for pretty printing of inet addresses | |
| * [Feature] Add function to convert fstring_t to c string | |
| * [Feature] Add function to create temporary shared memory mapping | |
| * [Feature] Add function to generate random hex string | |
| * [Feature] Add generic fucnction to parse IP maps | |
| * [Feature] Add initial version of HTTP lua repl | |
| * [Feature] Add learn condition to the default configuration | |
| * [Feature] Add learn conditions for classifiers | |
| * [Feature] Add limit for dkim signatures to be checked | |
| * [Feature] Add locking routines for lua_util | |
| * [Feature] Add lua API for getting info from archives | |
| * [Feature] Add lua utility to decode URL encoding | |
| * [Feature] Add method to copy message from http connection | |
| * [Feature] Add mirrors feature | |
| * [Feature] Add more algorithms for shingles generation | |
| * [Feature] Add more domains to redirectors list | |
| * [Feature] Add more encodingsto cryptobox hash API | |
| * [Feature] Add more file utilities to lua_util | |
| * [Feature] Add more functions to extract data from text parts | |
| * [Feature] Add more methods to get headers from a task | |
| * [Feature] Add more methods to init http message body | |
| * [Feature] Add more options for redis config parsing function | |
| * [Feature] Add new representation of email address | |
| * [Feature] Add new symbols to filter bad extensions in messages | |
| * [Feature] Add new utility methods to mimepart object | |
| * [Feature] Add openphish support to rspamd phishing module | |
| * [Feature] Add parsers for SMTP address in ragel | |
| * [Feature] Add parsing of mirror hosts for fuzzy storage | |
| * [Feature] Add parsing scripts for master connection as well | |
| * [Feature] Add preliminary greylist plugin | |
| * [Feature] Add preliminary phishtank support | |
| * [Feature] Add preliminary rarv5 support | |
| * [Feature] Add preliminary version of ssl toolbox | |
| * [Feature] Add protection against open files limit and accepting sockets | |
| * [Feature] Add rar v4 support | |
| * [Feature] Add reading scripts for master connection | |
| * [Feature] Add replies plugin | |
| * [Feature] Add results parsing code | |
| * [Feature] Add routines to compare and check pubkeys | |
| * [Feature] Add simpler versions of refcounts | |
| * [Feature] Add some time manipulation functions for lua APi | |
| * [Feature] Add support for non-standard BATV signatures | |
| * [Feature] Add support of address with at-domain list | |
| * [Feature] Add support to search archives by magic | |
| * [Feature] Add task:get_rawbody method | |
| * [Feature] Add test to check shared memory support sanity | |
| * [Feature] Add the initial version of LUA repl to rspamadm | |
| * [Feature] Add throughput graph for RRD backend to WebUI | |
| * [Feature] Add universal function to make a proper redis request | |
| * [Feature] Add universal function to parse redis servers for plugins | |
| * [Feature] Add util.unlink function | |
| * [Feature] Add utility function to return random number from 0 to 1 | |
| * [Feature] Add utility method to convert ftok to C string | |
| * [Feature] Add utility to map shared memory segments | |
| * [Feature] Add versions to fuzzy storage | |
| * [Feature] Add workaround for legacy clients in rspamd proxy | |
| * [Feature] Add workaround for systems without sane shmem support | |
| * [Feature] Add xoroshiro+ fast rng for non-crypto purposes | |
| * [Feature] Adopt plugins for new maps API | |
| * [Feature] Allow SPF to be checked for empty tasks | |
| * [Feature] Allow binary patterns in lua_trie | |
| * [Feature] Allow catena encrypted passwords in controller | |
| * [Feature] Allow client ip match in the settings | |
| * [Feature] Allow easy adding and overriding of fuzzy rules | |
| * [Feature] Allow empty tasks to be processed | |
| * [Feature] Allow hostnames in IP maps | |
| * [Feature] Allow https maps | |
| * [Feature] Allow multiple PBKDF types in `rspamadm pw` | |
| * [Feature] Allow named fuzzy rules | |
| * [Feature] Allow non zero terminated patterns in multipattern | |
| * [Feature] Allow partial hash updates | |
| * [Feature] Allow pipelining for redis.make_request | |
| * [Feature] Allow sending empty requests using client | |
| * [Feature] Allow setting fuzzy flag by symbol not by value | |
| * [Feature] Allow setting scores and actions from lua | |
| * [Feature] Allow shared memory simple http client | |
| * [Feature] Allow static lua files in any parts of rspamd sources | |
| * [Feature] Allow to change flag from fuzzy learn condition | |
| * [Feature] Allow to check rspamd_text using maps | |
| * [Feature] Allow to disable composite rules from settings | |
| * [Feature] Allow to disable some modules from common redis setup | |
| * [Feature] Allow to extract ucl_object from lua using common API | |
| * [Feature] Allow to get settings and settings id hash from lua_task | |
| * [Feature] Allow to have specific settings for mirrored traffic | |
| * [Feature] Allow to open message from a shared memory segment | |
| * [Feature] Allow to parse pubkeys from the rcl config | |
| * [Feature] Allow to pass extradata from rspamd to rmilter | |
| * [Feature] Allow to query storage about number of fuzzy hashes stored | |
| * [Feature] Allow to read logs without symbols scores | |
| * [Feature] Allow to read password from console for rspamc | |
| * [Feature] Allow to set ciphers and CA paths in config | |
| * [Feature] Allow to skip some initialization phases to speed up rspamadm | |
| * [Feature] Allow underscore separated names in settings | |
| * [Feature] Allow versioning for sqlite databases | |
| * [Feature] Always allow to terminate rspamd | |
| * [Feature] Better deal with backend errors | |
| * [Feature] Better lua_redis logging | |
| * [Feature] Configure CA path and ciphers | |
| * [Feature] Create a dedicated parser to strip newlines | |
| * [Feature] Deduplicate the same urls in multimap module | |
| * [Feature] Distinguish luajit from lua | |
| * [Feature] Do not print garbadge in --compact output | |
| * [Feature] Dynamically detect if a CPU is incompatible with hyperscan | |
| * [Feature] Enable forced resolving for some lua plugins | |
| * [Feature] Enable rrd by default | |
| * [Feature] Enable workaround for exim | |
| * [Feature] Fix task functions to work without rspamd_config | |
| * [Feature] Further improvements to chartable module | |
| * [Feature] Further micro-optimizations for hashing and shingles | |
| * [Feature] Further relax parser | |
| * [Feature] Humanize numbers in stats widgets | |
| * [Feature] Implement HTTPS client | |
| * [Feature] Implement SSL support in http client | |
| * [Feature] Implement body rules for the trie plugin | |
| * [Feature] Implement braced regexp quantifiers | |
| * [Feature] Implement compare scripts for mirrors results | |
| * [Feature] Implement compare scripts setup | |
| * [Feature] Implement composites policies | |
| * [Feature] Implement conditional learning for classifiers | |
| * [Feature] Implement constructing of map from UCL | |
| * [Feature] Implement dkim signing in dkim check plugin | |
| * [Feature] Implement fuzzy storage updates | |
| * [Feature] Implement fuzzy updates push protocol | |
| * [Feature] Implement https maps | |
| * [Feature] Implement inter-process maps caching | |
| * [Feature] Implement mapping of remote flags to local flags | |
| * [Feature] Implement mirroring in rspamd proxy | |
| * [Feature] Implement multi-flags fuzzy replies | |
| * [Feature] Implement multiple-sources fuzzy storage | |
| * [Feature] Implement order of pre/post filters | |
| * [Feature] Implement partial deleting for multi-flags | |
| * [Feature] Implement pipelining for redis async interface | |
| * [Feature] Implement ragel parser for received headers | |
| * [Feature] Implement reading of messages to shared memory | |
| * [Feature] Implement refcount for messages | |
| * [Feature] Implement retransmits for master connection | |
| * [Feature] Implement zero-copy mode for HTTP reading | |
| * [Feature] Improve SPF domain detection logic | |
| * [Feature] Improve config:register_symbol function | |
| * [Feature] Improve error report for type mismatch in lua | |
| * [Feature] Improve fstrings API | |
| * [Feature] Improve getting SMTP data from lua_task | |
| * [Feature] Improve levenshtein distance function | |
| * [Feature] Improve logging in proxy and add refcounts | |
| * [Feature] Improve logging lua types | |
| * [Feature] Improve master/slave logging | |
| * [Feature] Improve phishing plugin | |
| * [Feature] Improve phishtank and openphish support | |
| * [Feature] Improve ragel build target | |
| * [Feature] Improve statistics script | |
| * [Feature] Initialize ssl library to use SSL connections | |
| * [Feature] Interpolate points sent to webui | |
| * [Feature] Limit logging of elements that could have too many items | |
| * [Feature] Lock ANN file when loading | |
| * [Feature] New abstract hashing API in cryptobox | |
| * [Feature] Normalize quoted addresses | |
| * [Feature] Now cryptobox lua API accepts rspamd text as input | |
| * [Feature] Optimize alignment to speed up hashing | |
| * [Feature] Parse received date and ESMTPA proto | |
| * [Feature] Parse received timestamp | |
| * [Feature] Pass settings id to log helper | |
| * [Feature] Pass settings id to lua script from log helper | |
| * [Feature] Perform files expansion on proxying | |
| * [Feature] Preliminary implementation of fuzzy master/slave updates | |
| * [Feature] Print userdata using tostring if possible | |
| * [Feature] Propagate HTTP result string when using proxy | |
| * [Feature] Properly implement unweighted round-robin algorithm | |
| * [Feature] Reduce number of timers queries | |
| * [Feature] Rework and improve fuzzy storage | |
| * [Feature] Rework dns resolving API for lua, add 'forced' option | |
| * [Feature] Rework fann module to understand settings | |
| * [Feature] Rework listening system to allow multiple socket types per worker | |
| * [Feature] Rework ratelimit module to set expiration | |
| * [Feature] Save bayes probability in memory pool var | |
| * [Feature] Save settings id hash for convenience | |
| * [Feature] Search for SSL_set_tlsext_host_name support | |
| * [Feature] Send DKIM signature to protocol reply | |
| * [Feature] Show DKIM signature in rspamc client | |
| * [Feature] Show symbols description in scan output | |
| * [Feature] Sign message merely after DKIM check | |
| * [Feature] Simplify machines by assuming that headers are unfolded | |
| * [Feature] Sort symbols when displaying them in log | |
| * [Feature] Split main connection from mirrored connections | |
| * [Feature] Start moving to the new email address structure | |
| * [Feature] Store HTTP headers in a hash table | |
| * [Feature] Store more information about compressed files | |
| * [Feature] Store raw headers value to use them in DKIM | |
| * [Feature] Store text parts content with newlines stripped | |
| * [Feature] Support DKIM signing | |
| * [Feature] Support EXIF jpeg images | |
| * [Feature] Support archive files list extraction | |
| * [Feature] Support archives when matching patterns in multimap | |
| * [Feature] Support premium/academic feed for openphish | |
| * [Feature] Support rspamd_updates via https | |
| * [Feature] Supprort FQDNs in phishing module maps | |
| * [Feature] Try to read on fuzzy timeout to avoid fake timeouts | |
| * [Feature] Try to select the optimal possible function for input | |
| * [Feature] Unescape and unquote smtp addresses | |
| * [Feature] Update fuzzy timestamp when adding value | |
| * [Feature] Update mumhash | |
| * [Feature] Use -flto if possible when optimizations are enabled | |
| * [Feature] Use extended map types in lua map, unify code | |
| * [Feature] Use file lock in logger to avoid deadlocks | |
| * [Feature] Use generic global string split function | |
| * [Feature] Use metrohash as well | |
| * [Feature] Use mumhash by default for incremental hashing | |
| * [Feature] Use mumhash for words hashing | |
| * [Feature] Use new ip parsing API | |
| * [Feature] Use new maps API for local addrs | |
| * [Feature] Use new ragel parser in message parsing code | |
| * [Feature] Use new received parser instead of old one | |
| * [Feature] Use new redis API in DMARC plugin | |
| * [Feature] Use new redis API in greylist plugin | |
| * [Feature] Use new redis API in ip_score plugin | |
| * [Feature] Use new redis API in ratelimit plugin | |
| * [Feature] Use new redis API in replies plugin | |
| * [Feature] Use new version of register_symbol in rspamd plugins | |
| * [Feature] Use offset when passing shm to deal with encrypted requests | |
| * [Feature] Use one pass to remove newlines and store their positions | |
| * [Feature] Use rspamd specific type checks for userdata | |
| * [Feature] Use shared memory storage for http maps | |
| * [Feature] Use universal redis definitions in rspamd plugins | |
| * [Feature] Various improvements in greylist module | |
| * [Feature] Wait for sqlite if locked when switching to WAL mode | |
| * [Fix] Add filenames sanity filtering for mime types | |
| * [Fix] Add guards for empty parts | |
| * [Fix] Add missing types | |
| * [Fix] Add more priority for config file symbols registered from UCL | |
| * [Fix] Add sanity checks when compiling regexp maps | |
| * [Fix] Add spaces instead of newlines to the normalized content | |
| * [Fix] Add workaround for ancient openssl | |
| * [Fix] Add workaround for gmime CTE stupidity | |
| * [Fix] Add workaround for hex digits | |
| * [Fix] Adjust MISSING_MIMEOLE score | |
| * [Fix] Adjust body/body_buf when stealing encrypted message | |
| * [Fix] Adopt lua task API for the new email addresses structure | |
| * [Fix] Allow for disabling DMARC reporting when Redis is configured | |
| * [Fix] Always register openphish and phishtank virtual symbols | |
| * [Fix] Always use shmem on linux | |
| * [Fix] Another change of newlines policy | |
| * [Fix] Another d3evolution update | |
| * [Fix] Another fix for exim workaround | |
| * [Fix] Another fix for legacy clients | |
| * [Fix] Another fix for maps scheduling | |
| * [Fix] Another fix for marking upstreams inactive | |
| * [Fix] Another fix for postfilters | |
| * [Fix] Another fix for redis timeouts | |
| * [Fix] Avoid `table.getn` method as it has been removed in lua 5.3 | |
| * [Fix] Avoid double hashing for images | |
| * [Fix] Avoid linking with actrie if hyperscan is enabled | |
| * [Fix] Check copy result when sending message to mirrors | |
| * [Fix] Cleanup message when assiging body | |
| * [Fix] Cleanup stack from global vars | |
| * [Fix] Correctly parse query type | |
| * [Fix] Disable all symbols if enable_groups is found in settings | |
| * [Fix] Disable fts as it is completely broken in bloody linux | |
| * [Fix] Disable multiple autolearn checks | |
| * [Fix] Disallow updates by default | |
| * [Fix] Do not abort when cannot load a map | |
| * [Fix] Do not check recursion for non-DNS SPF record types | |
| * [Fix] Do not delete uninitialized events | |
| * [Fix] Do not die if shmem_mkstemp fails | |
| * [Fix] Do not die when no metrics defined | |
| * [Fix] Do not even try pcre in case of regexp maps | |
| * [Fix] Do not greylist messages if redis has failed somehow | |
| * [Fix] Do not greylist on rejection | |
| * [Fix] Do not leave temporary maps cached | |
| * [Fix] Do not output meaningless errors | |
| * [Fix] Do not send NaN in json | |
| * [Fix] Don't mix hyperscan and pcre processing within a same task | |
| * [Fix] Finally rework and simplify redis backend for statistics | |
| * [Fix] Fix Exim shutdown patch | |
| * [Fix] Fix JIT compilation for PCRE2 expressions | |
| * [Fix] Fix JIT usage for PCRE2 | |
| * [Fix] Fix REPL output | |
| * [Fix] Fix SMTP address parsing machine | |
| * [Fix] Fix UTF8 mode in PCRE2 | |
| * [Fix] Fix a stupid misprint in word 'phishing' | |
| * [Fix] Fix accepting the first update when local idx is -1 | |
| * [Fix] Fix adding maps from ucl | |
| * [Fix] Fix adding upstream to an active queue | |
| * [Fix] Fix and rescore R_PARTS_DIFFER logic | |
| * [Fix] Fix body rules in SA plugin | |
| * [Fix] Fix body start position | |
| * [Fix] Fix border case in urls detector | |
| * [Fix] Fix border cases for incremental hashing | |
| * [Fix] Fix caseless uthash application | |
| * [Fix] Fix chartable issue with starting digits | |
| * [Fix] Fix client_ip in users settings | |
| * [Fix] Fix compilation issue | |
| * [Fix] Fix conditional learning | |
| * [Fix] Fix crash on empty maps | |
| * [Fix] Fix creating of URLs from LUA | |
| * [Fix] Fix creating of temporary shmem segment | |
| * [Fix] Fix creation of mmapped statfiles | |
| * [Fix] Fix descriptors leak on shmem detaching | |
| * [Fix] Fix detaching of shared memory segments | |
| * [Fix] Fix detection of URLs in text parts | |
| * [Fix] Fix directories processing for rspamc | |
| * [Fix] Fix displaying of rewrite subject in WebUI | |
| * [Fix] Fix dkim private keys operations | |
| * [Fix] Fix dkim signing | |
| * [Fix] Fix dynamic scoring of subject symbols | |
| * [Fix] Fix email address build | |
| * [Fix] Fix encrypted proxy requests | |
| * [Fix] Fix errors counting in upstreams | |
| * [Fix] Fix errors handling in the proxy | |
| * [Fix] Fix event bases for IO events | |
| * [Fix] Fix events handling when scheduling map wacth | |
| * [Fix] Fix fann rewrite | |
| * [Fix] Fix files fallback for shmem transfer | |
| * [Fix] Fix fuzzy adding in webui | |
| * [Fix] Fix fuzzy storage encrypted mirroring | |
| * [Fix] Fix fuzzy storage sync replies | |
| * [Fix] Fix handling of the same words | |
| * [Fix] Fix inserting values to the sources list | |
| * [Fix] Fix ipv6 mask application | |
| * [Fix] Fix issue with missing recipients | |
| * [Fix] Fix issues with multiple returns from lua | |
| * [Fix] Fix learning for non-existent backend | |
| * [Fix] Fix legacy clients support in proxy | |
| * [Fix] Fix length calculations for shared memory segments | |
| * [Fix] Fix listening on UDP sockets | |
| * [Fix] Fix loading of file maps | |
| * [Fix] Fix long regexp flags (e.g. {sa_body}) | |
| * [Fix] Fix lua compare function init | |
| * [Fix] Fix maps descriptions | |
| * [Fix] Fix maps locking | |
| * [Fix] Fix max_train setup in ANN module | |
| * [Fix] Fix memory corruption | |
| * [Fix] Fix memory leak in unsigned maps reading | |
| * [Fix] Fix misprints for lto usage | |
| * [Fix] Fix more issues with scripts processing | |
| * [Fix] Fix next-to-last extension length check | |
| * [Fix] Fix openssl initialization | |
| * [Fix] Fix order of arguments | |
| * [Fix] Fix order of initialization | |
| * [Fix] Fix parser | |
| * [Fix] Fix parsing of binary tries | |
| * [Fix] Fix parsing of braced IPv6 addresses | |
| * [Fix] Fix parsing of nested braces in SMTP comments | |
| * [Fix] Fix parsing of rarv5 archives | |
| * [Fix] Fix periodic scheduling when a map is not modified | |
| * [Fix] Fix possible FP in TRACKER_ID rule | |
| * [Fix] Fix post-filters processing | |
| * [Fix] Fix potential NULL dereference | |
| * [Fix] Fix processing of <br> and <hr> tags | |
| * [Fix] Fix processing of addresses in protocol | |
| * [Fix] Fix processing of messages without received headers | |
| * [Fix] Fix proxying issue for unconnected sessions | |
| * [Fix] Fix proxying of the encrypted messages | |
| * [Fix] Fix race condition with shared memory by refcounts | |
| * [Fix] Fix ratelimit initialization | |
| * [Fix] Fix redis set request in replies plugin | |
| * [Fix] Fix redis timeout events handling | |
| * [Fix] Fix redis timeouts processing logic | |
| * [Fix] Fix refcounts in lua_redis | |
| * [Fix] Fix results checking if no master connection is active | |
| * [Fix] Fix return value for couple of lua functions | |
| * [Fix] Fix round-robin selection when upstreams have no weight | |
| * [Fix] Fix rows calculation in graph | |
| * [Fix] Fix rspamd_redis_make_request syntax in replies plugin | |
| * [Fix] Fix scheduling of locked map events | |
| * [Fix] Fix scores detection | |
| * [Fix] Fix searching for newline positions | |
| * [Fix] Fix secure_ip setting in controller | |
| * [Fix] Fix sending data to graph command | |
| * [Fix] Fix setting of score for parts differ | |
| * [Fix] Fix setting of the lua top | |
| * [Fix] Fix setting path for lua | |
| * [Fix] Fix setting path for phishtank | |
| * [Fix] Fix settings application | |
| * [Fix] Fix shm_open call as described in POSIX | |
| * [Fix] Fix size of length in fuzzy mirror wire protocol | |
| * [Fix] Fix smtp grammar issues | |
| * [Fix] Fix some issues with redis API | |
| * [Fix] Fix some issues with retries in the proxy | |
| * [Fix] Fix stack growing | |
| * [Fix] Fix start of body detection in DKIM | |
| * [Fix] Fix state on timeout | |
| * [Fix] Fix stats script | |
| * [Fix] Fix substring search when there are '\0' in strings | |
| * [Fix] Fix symbol name for spf soft fail | |
| * [Fix] Fix symbol type's check | |
| * [Fix] Fix symbols registration and execution | |
| * [Fix] Fix the case of multiple values keys | |
| * [Fix] Fix the default symbol names according to metric | |
| * [Fix] Fix timeout setup on learning | |
| * [Fix] Fix timeouts in redis cache processing | |
| * [Fix] Fix timeouts processing in lua_redis | |
| * [Fix] Fix upstreams interaction for rspamd proxy | |
| * [Fix] Fix usage of rdns reply structure | |
| * [Fix] Fix varargs loop | |
| * [Fix] Fix whitelists and blacklists in SA rules | |
| * [Fix] Fix write servers setup for redis | |
| * [Fix] Fix writing of HTTP messages | |
| * [Fix] Force rspamd to upgrade fuzzy db on opening | |
| * [Fix] Free the correct pointer | |
| * [Fix] Further fixes for lto and static linking | |
| * [Fix] Further fixes for surbl extensions map | |
| * [Fix] Further fixes in maps code | |
| * [Fix] Further improvements to error messages in fuzzy check | |
| * [Fix] Further tweaks to redis garbadge collection | |
| * [Fix] Groups are now case insensitive | |
| * [Fix] Handle log pipe read errors | |
| * [Fix] Handle nested dependencies in SpamAssassin plugin | |
| * [Fix] Implement new automata to skip empty lines for dkim signing | |
| * [Fix] Improve error messages on fuzzy add | |
| * [Fix] Improve lua redis handling | |
| * [Fix] Improve phishing module logging | |
| * [Fix] Improve printing of fuzzy errors | |
| * [Fix] Improve rrd diagnostic errors | |
| * [Fix] Improve strcase hash used in uthash | |
| * [Fix] Include fuzzy key to distinguish storages with different keys | |
| * [Fix] Include slave cluster name into http request | |
| * [Fix] Include some more information about archives | |
| * [Fix] Indicate upstream error on timeout | |
| * [Fix] Initialize hash tables array to avoid crashes | |
| * [Fix] Initialize parser scripts properly | |
| * [Fix] Initialize vars to avoid warnings | |
| * [Fix] Inverse logic for saving ANN | |
| * [Fix] Link lpeg to rspamd lua library | |
| * [Fix] Make extension checks case-insensitive | |
| * [Fix] Mark expired hashes as not found and not as zero flag | |
| * [Fix] Match archive name as well | |
| * [Fix] More and more fixes to redis states | |
| * [Fix] More fixes about shared memory in proxy | |
| * [Fix] More fixes for redis refcounts | |
| * [Fix] More fixes to end of headers detection | |
| * [Fix] More fixes to events logic | |
| * [Fix] More fixes to multi-flag fuzzy storage | |
| * [Fix] More fixes to parts distance calculations | |
| * [Fix] More guards for redis free | |
| * [Fix] One more fix in redis destructor | |
| * [Fix] One more try to fix redis | |
| * [Fix] PIE is required for static build | |
| * [Fix] Partial fix for mmap'd statistics tests | |
| * [Fix] Plug memory leak in proxy | |
| * [Fix] Properly detect end of headers position | |
| * [Fix] Properly init and free session structures | |
| * [Fix] Reduce PRECEDENCE_BULK rule weight | |
| * [Fix] Reduce the default thresholds for learning | |
| * [Fix] Remove Type=forking from systemd unit file (#709) | |
| * [Fix] Remove bad FANN file to save computational resources | |
| * [Fix] Remove event before closing of fd to avoid race conditions | |
| * [Fix] Remove parsing of 'from' variable in redis backend | |
| * [Fix] Remove some bad domains from whitelists | |
| * [Fix] Repair optional dependencies | |
| * [Fix] Reset master connection when retransmitting scan request | |
| * [Fix] Restore ONCE_RECEIVED symbol | |
| * [Fix] Restore compatibility with old lua API behaviour | |
| * [Fix] Restore redis runtime state | |
| * [Fix] Reverse options when received | |
| * [Fix] Send updates to mirrors only if we have some changes | |
| * [Fix] Set host attribute properly when making HTTP request from lua | |
| * [Fix] Set terminated state before calling of async free | |
| * [Fix] Simplify MISSING_MIMEOLE rule | |
| * [Fix] Simplify state machine by ignoring multiple spaces | |
| * [Fix] Skip setting RPATH for static builds | |
| * [Fix] Slightly reduce weights of rules with high FP rate | |
| * [Fix] Some fixes to libmagic initialization | |
| * [Fix] Some more fixes to ratelimit plugin | |
| * [Fix] Strip '\r\n' properly | |
| * [Fix] Switch hashes to mumhash | |
| * [Fix] Treat NaN values properly in graph command | |
| * [Fix] Try to avoid FP when checking for phished URLs | |
| * [Fix] Try to avoid recursive events deletions | |
| * [Fix] Try to fix false positive URL detections in text parts | |
| * [Fix] Try to fix issue in redis stats backend when task is closed | |
| * [Fix] Try to fix proxying of stupid spamc protocol to HTTP mirrors | |
| * [Fix] Try to fix redis crashes | |
| * [Fix] Try to fix upstreams with one element | |
| * [Fix] Try to handle multiline history in a more sane way | |
| * [Fix] Unbreak build on gcc < 4.9 | |
| * [Fix] Update RPM spec/sources (#700) | |
| * [Fix] Update d3evolution version | |
| * [Fix] Update mumhash implementation | |
| * [Fix] Use custom error function for pre and post filters | |
| * [Fix] Use new postfilters and prefilters API in the plugins | |
| * [Fix] Use non-blocking mode for systemd sockets | |
| * [Fix] Use shared memory merely for local backends in the proxy | |
| * [Fix] Use watchers for spf plugin | |
| * [Fix] Varioud fixes to the maps code | |
| 1.2.8: | |
| * Another fix for exim workaround (#637) | |
| * Fix unencrypted passwords processing in the controller | |
| * Fix setting path for lua (#652) | |
| * Fix usage of rdns reply structure (#654) | |
| * Use file lock in logger to avoid deadlocks | |
| * Add `application/octet-stream` mime type for `pdf` extension (by @moisseev) | |
| * Implement new automata to skip empty lines for dkim signing (#651) | |
| * Fix parsing of missing classes | |
| * Clarify some rspamc arguments (by @fatalbanana) | |
| * Correct suppress spelling | |
| 1.2.7: | |
| * Slightly reduce weights of rules with high FP rate | |
| * Add workround for rspamd-1.3 | |
| * Fix possible FP in TRACKER_ID rule | |
| * Simplify MISSING_MIMEOLE rule | |
| * Add workaround for gmime CTE stupidity | |
| * Fix mime headers processing | |
| * Fix false positive URL detections in text parts | |
| * Fix Exim shutdown patch | |
| * Enable workaround for exim mailbox format | |
| * Backport shingles static test | |
| * Fix levenshtein distance calculations | |
| * Fix max_train setup in ANN module | |
| * Fix redis structure by adding {NULL, NULL} member | |
| * Fix build with unmodified LibreSSL opensslv.h | |
| * Repair optional dependencies | |
| * Really skip filters in case of pre-result set | |
| * Restore the intended pre-filters behaviour | |
| * Fix ipv6 mask application | |
| 1.2.6: | |
| * Fix parsing of URLs in texts | |
| * Fix creating of URLs from LUA | |
| * Fix some more URL detector issues | |
| * Fix unit tests | |
| * Fix JIT compilation for PCRE2 expressions | |
| * Fix JIT usage for PCRE2 | |
| * Fix UTF8 mode in PCRE2 | |
| * Add workaround for pre-historic compilers (#605) | |
| * Fix and rescore R_PARTS_DIFFER logic | |
| * Properly set lua paths for tests | |
| * Fix SA rawbody processing - exclude top part | |
| * Store text parts content with newlines stripped | |
| * Properly support SA body regexps | |
| * Fix body rules in SA plugin | |
| * Fix setting of score for parts differ | |
| * More fixes to parts distance calculations | |
| - Use hashed words instead of full words for speed | |
| - Improve levenstein distance calculations and penalise replaces | |
| - Always return number from 0 to 1 | |
| - Use g_malloc instead of alloca | |
| * Fix percents output in R_PARTS_DIFFER | |
| * Plug memory leak in dkim module | |
| * Plug minor memory leak in regexps creation | |
| 1.2.5: | |
| * Plug an important memory leak in headers getting code | |
| * Remove some bad domains from whitelists | |
| 1.2.4: | |
| * Implement new multipattern matcher that uses hyperscan if possible | |
| * Use mutlipattern for lua_trie code | |
| * Add utility methods for multipattern | |
| * Use multipattern in url matcher | |
| * Add escape functions for hyperscan | |
| * Allow to optimize lua -> C transition by flattening table args | |
| * Optimize hot paths in SA plugin | |
| * Optimize rspamd_re_cache_type_from_string | |
| * Allow empty tries | |
| * Fix extraction of URLs from Subject | |
| * Allow to have different flags for different patterns in multipattern | |
| * Add common directory for hyperscan cache to config | |
| * Implement caching for hyperscan multipattern | |
| * Attach domain part to `R_SUSPICIOUS_URL` (by @moisseev) | |
| * Allow multipattern scans to be nested for the case of hyperscan | |
| * Simplify SURBL redirector search code and avoid ac_trie | |
| * Add two way substring search algorithm | |
| * Avoid acism usage to find gtube pattern | |
| * Fix processing of empty headers | |
| * Allow to disable pthread mutexes on broken platforms | |
| * Make web interface not send password in query strings (#585) by @fatalbanana | |
| * Add maximum delay to ratelimit module | |
| * Backport fix for empty files inclusion from libucl | |
| * Fix settings id setup | |
| * Add min_learns option to classifiers | |
| * Use more clever to utf8 conversion strategy | |
| * Fix disabling of virtual symbols in the settings | |
| * Rework settings to work properly in metric-less configuration | |
| * Set the default limit for classifier | |
| * Fix ttl based expiration from LRU cache | |
| * Rework DKIM module to use OpenSSL for digests | |
| * Fix mailto urls parsing with hyperscan | |
| * Do not set obscured flag for urls starting with spaces | |
| * Fix crash on redis learn | |
| * Fix ratelimit ctime setting | |
| 1.2.3: | |
| * New DCC module (by @smfreegard) | |
| * Rework whitelist module: | |
| - Now we check different elements for different checks | |
| - MIME from for DMARC | |
| - DKIM signature domain for DKIM | |
| - SMTP from or HELO for SPF | |
| * Fix regexps results combination (*critical*) | |
| * Fix issue with expressions processing (*critical*) | |
| * Optimize strlcpy for aligned input | |
| * Add support of half-closed connection in lua_tcp | |
| * Allow to print compact json in client | |
| * Save required score in history (#581) | |
| * Allow to attach file descriptors to control commands | |
| * Allow to send descriptors from workers to main | |
| * Allow to attach fd when broadcasting to workers | |
| * Implement log pipe feature for rspamd logs analysis | |
| * Add `log_helper` worker | |
| * Add `URIBL_SBL_CSS` (by @smfreegard) | |
| * Add worker scripts functionality | |
| * Add on load hooks for rspamd_config | |
| * Add lua scripts for log_helper worker | |
| * Add generic maillist detector (#584) | |
| * Implement FANN autolearn using log_helper worker | |
| * Rework metrics configuration to allow includes | |
| * Change default value of forced removal in composite rules | |
| * Allow to use assembly version of blake2b on x86 cpu | |
| * Use less precise (but faster) clock if possible | |
| * Insert redirected URL to the urls list | |
| * Allow to get and set callback data for rspamd symbols | |
| * Add binary heap implementation | |
| * Use binary heap for expire algorithms in the hash | |
| * Use `least frequent used` expiration strategy | |
| * Allow to get mime headers from a task | |
| * Add support for mime headers in `regexp` module | |
| * Update Exim patches (by @fatalbanana) | |
| * Allow building rspamd with jemalloc | |
| * Save multipart boundaries | |
| * SA plugin changes: | |
| - Properly handle MIME headers | |
| - Fix eval:check_for_missing_to_header rule | |
| - Implement SA compatible body regexps | |
| - Use sabody rules in SA plugin | |
| * LUA API changes: | |
| - Add util.get_ticks function | |
| - Add util.stat function | |
| - Add task:get_symbols_numeric method | |
| - Add method to get number of symbols in the cache | |
| - Add lua methods to get redirected urls | |
| - Allow to get callbacks for lua symbols | |
| - Add config:set_symbol_callback function | |
| 1.2.2: | |
| * Use HTTP Content-Type on non mime input if possible | |
| * Save log level when compressing log messages | |
| * Further rework of composite rules (add '^' prefix) | |
| * Add tracking for rspamd expressions | |
| * Store actions limits in metric result | |
| * Fix parsing of include/redirect with many records in SPF | |
| * Add method to disable symbols execution in the cache | |
| * Allow to disable checks from settings | |
| * Allow to select settings by id in HTTP query | |
| * Find URLs with '\r' and '\n' inside href attribute | |
| * Implement vectored mode for hyperscan (experimental) | |
| * Improve client connection errors diagnostics | |
| * Allow to edit new files with signtool | |
| * Improve hashes performance on 32 bit platforms | |
| * Fix sorting of limits | |
| * Remove slow and unused rules `INVALID_EXIM_RECEIVED*` | |
| * Add expression:process_traced lua method | |
| * Allow tables in task:insert_result | |
| * Save trace for SA metas | |
| * Do not parse broken TLD parts in URLs | |
| * Investigate many border cases in URLs parser | |
| 1.2.1: | |
| * Add list support to `mime types` module configuration (by @moisseev) | |
| * Allow symbols params to be printed in logs | |
| * Fix `MIME_BAD_ATTACHMENT` false positives for MDN/DSN | |
| * Fix crashes on arm32 | |
| * Do not classify message if some class is missing | |
| * Fix cryptobox cleanup | |
| * Remove multipart/report from bad mime types (#569) | |
| * Improve logging for fuzzy hashes | |
| * Show map URLs in webui | |
| * Sort symbols in webui | |
| 1.2.0: | |
| * New dynamic updates plugin | |
| * Regular expressions map support | |
| * Faster radix trie algorithm | |
| * Faster siphash for AVX2 supporing CPUs (used in fuzzy hashes) | |
| * PCRE2 support | |
| * Allow quoted and slashed keys in map | |
| * Add proper support of DNS resolvers balancing (#552) | |
| * Rework includes and configuration system for better local changes support | |
| * New keypairs framework for signing and encryption | |
| * Added support for dynamic modules and workers | |
| * Allow to dump configuration with help comments | |
| * Rework once_received module | |
| - Fix priority for `good_hosts` | |
| - If a good host has been found do not add once_received symbols | |
| - Fix priorities for strict once_received | |
| - Add ability to whitelist IP addresses | |
| * Implement support of signed maps for HTTP and file maps | |
| * Add command to sync fuzzy storage (#533) | |
| * Rework system of symbols and actions registration | |
| It is possible now to use priorities when adding symbols to metrics and | |
| override scores for symbols with lower priority with the scores with | |
| high priority. | |
| * Add auth support and db selection for redis stats | |
| * Improve composite rules application | |
| * Add ignore_received option | |
| * Fix critical issue with inconsistent resorting | |
| * Fix `all` in spf redirects | |
| * Add punycoded versions for IDN domains (#554) | |
| * Improve sorting order for symbols cache | |
| * Add lockless logging for processes management | |
| * Allow to specify flags for metric symbols | |
| * Load images height and width from style attribute (#538) | |
| * Override DNS requests limits for SPF and DKIM | |
| * Fix resetting symbols to their default values in WebUI | |
| * Improve configuration agility for redis stats | |
| * Allow to set db and password for redis in stat_convert | |
| * Import the latest libucl | |
| * LUA API changes: | |
| - Add rspamd_version function to LUA API | |
| - Add lua_cryptobox module | |
| - Add lua_map module | |
| - Add task:set_metric_action lua API method | |
| - Fix race condition in lua_tcp module | |
| - Fix a lot of issues in lua_redis module | |
| - Rework and abstract lua maps API | |
| - Add util.strlen_utf8 lua function | |
| - Add lua functions for caseless comparison | |
| - Allow optional symbols registration | |
| - Add config:add_map table form method, add regexp maps | |
| - Add task:has_urls method | |
| - Add task:has_flag method | |
| - Add html tags methods to lua_html | |
| - Add task:get_dns_req | |
| * Plugins changes: | |
| - Add support for WLBLEval SA plugin | |
| - Use caseless comparison in SA and DMARC plugins | |
| - Allow SA plugin to set scores for rspamd symbols | |
| - Add regexp maps support to multimap | |
| - Allow filenames match in multimap | |
| - Add more filters for the existing map types | |
| - Fix html images rules to reduce FP rates | |
| * New rules: | |
| - LONG_SUBJ - too long subject | |
| - MIME_BAD_ATTACHMENT - bad attachment type | |
| - RDNS_NONE - no reverse DNS record for sender's IP | |
| - Fix MISSING_MIMEOLE rule for modern OE | |
| * Many other bugfixes, memory leaks plugs thanks to: | |
| - Coverity scan | |
| - New gcc-6 warnings | |
| - valgrind manual iterations | |
| * Documentation improvements: | |
| - FAQ list: https://rspamd.com/doc/faq.html | |
| - Reworked quick start guide | |
| - Added documentation for all active modules | |
| * Other changes: | |
| - Dropped Ubuntu Vivid support | |
| - Added Ubuntu Xenial support | |
| - Rework build system for rspamd and rmilter | |
| 1.1.4: | |
| * Print traceback on lua errors in lua config | |
| * Fix leaks in lua error paths | |
| * Improve 'R_EMPTY_IMAGE' rule | |
| * Fix metas memoization in SA plugin | |
| * Properly set `flag` in fuzzy replies | |
| * Fix arguments order | |
| * Fix issue with out-of-boundary reading | |
| * Fix issues found by coverity | |
| * Same result checking error found by coverity | |
| * Fix varargs processing (found by coverity) | |
| * Fix error in printing hex | |
| * Reduce weights for some hfilter patterns | |
| * Add aliases for task:get_from_ip: | |
| - task:get_addr | |
| - task:get_from_addr | |
| - task:get_ip | |
| * Rework once_received module | |
| - Fix priority for `good_hosts` | |
| - If a good host has been found do not add once_received symbols | |
| - Fix priorities for strict once_received | |
| - Add ability to whitelist IP addresses | |
| * Fix `MISSING_MIMEOLE` rule for modern OE | |
| * Treat meta tags as embedded tags (#501) | |
| 1.1.3: | |
| * Fix DSN rules when SMTP from is unavailable | |
| * Fix statconvert routine to avoid lua module usage | |
| * Set a sane quark for configtest to avoid NULL to be printed in logs | |
| * Support c11 if available | |
| * Fix parsing of ip:port strings | |
| * Add more diagnostic for lua subr errors | |
| * Fix task:set_from_ip lua method | |
| * Add basic routines for digital signatures | |
| * Add tool for digital signatures | |
| * Add plain open file API method for atomic open | |
| * Fix parsing nested braces inside logger vars | |
| * Pre filters now actually skip processing | |
| * Add pre-filter mode for multimap | |
| * Switch to apache 2 license | |
| 1.1.2: | |
| * Fix stat_cache closing | |
| * Add checkpoints to sqlite3 learn cache | |
| * Do not recompile lua generated headers all the time | |
| * Increase number of messages learned | |
| * Fix issues with dual stack and hfilter | |
| * Disable MID checks for hfilter by default | |
| * Fix cache definitions in multiple classifier and no type | |
| * Don't crash if learn cache failed to initialize | |
| * Fix googlegroups support in maillist plugin | |
| * Rework flags LUA API: | |
| - Allow to check for a specific flag | |
| - Add `learn_spam`, `learn_ham` and `broken_headers` flags | |
| - Unify internal functions | |
| * Add `BROKEN_HEADERS` rule | |
| * Add support for forged confirmation headers (by @AdUser) | |
| * Allow `any`, `mime` and `smtp` for get_from/get_recipients | |
| * Add mime types checking plugin | |
| * Add rule to detect spammers attempts to cheat mime parsing | |
| * Rework parsing of IP addresses in configuration (better IPv6 support) | |
| * Add `util.parse_mail_address` function to LUA API | |
| * Add lua sqlite3 module | |
| * Implement synchronous redis call | |
| * Ratelimit: avoid possible indexing of nil value (Fixes #498) (by @fatalbanana) | |
| * Add stat_convert command to convert stats tokens from sqlite3 to redis | |
| * Implement redis advanced lua api with pipelining | |
| * Fix memory leak on redis stat (#500) | |
| * Fix user/language learn count in sqlite statistics (#496) (by @fatalbanana) | |
| * Fix build with custom pcre | |
| * Fix fuzzy relearning (#498) | |
| * Improve planning of asynchronous tasks | |
| * Show slow rules in log | |
| * Add warning for slow regexps | |
| * Add base32 decode/encode routines to lua util | |
| * Allow converting of learn cache from sqlite to redis | |
| * Add methods to check if a messages has from/rcpts | |
| * Improve and fix multimap plugin: | |
| - Restore 'header' maps | |
| - Add filters for headers | |
| - Add 'email:addr', 'email:user', 'email:domain' and 'email:name' filters | |
| - Add generic regexp filters | |
| * Disable reload command in rc scripts | |
| * Improve runtime CPU dispatcher for libcryptobox | |
| * Add preliminary support of digital signatures via ed25519 | |
| * Add detection for RDRAND support | |
| * Print configuration of crypto on start | |
| * A in SPF presumes AAAA lookup as well | |
| 1.1.1: | |
| * Fix duplicated XBL symbol | |
| * Reduce log severity for ratelimit missing servers | |
| * Fix XBL composite to avoid duplicate symbols | |
| * Reduce weight of URL_ONLY rule due to FP rate | |
| * Disable fuzzy hashes from the metadata for now | |
| * Fix processing of empty messages (#486) | |
| * Always treat DNS timeouts as temporary fail for SPF | |
| * Fix issue with SPF double IP stack (#483) | |
| * Use X-Forwarded-For when checking secure_ip (#488) | |
| * Fix hash calculation for sqlite stats | |
| * Fix memory corruption on punycode | |
| * Fix strings allocation in punycode | |
| * Fix error message (#491) | |
| 1.1.0: | |
| * Incompatible change: sqlite3 and per_user behaviour: | |
| Now both redis and sqlite3 follows the common principles for per-user | |
| statistics: | |
| 1) If per-user statistics is enabled check per-user tokens ONLY | |
| 2) If per-user statistics is not enabled then check common tokens ONLY | |
| If you need old behaviour, then you'd need to use separate classifier | |
| for per-user statistics. | |
| * Implement redis statistics backend and cache | |
| * Implement autolearning for statistics | |
| * Reworked statistics architecture from scratch | |
| * Add hyperscan (https://github.com/01org/hyperscan) engine for regular | |
| expressions: | |
| - add lazy loader for hyperscan databases | |
| - rework regexp cache to have joint pcre/hyperscan scanning | |
| - implement hyperscan pre-filter support | |
| - add compilation guards for bad expressions | |
| - implement `rspamadm control recompile` command | |
| - implement hyperscan cache monitoring | |
| - slides: <https://highsecure.ru/rspamd-hyperscan.pdf> | |
| * Implement flexible task logging | |
| * Rework fuzzy worker: | |
| - it is now possible to run multiple fuzzy workers; | |
| - implement lazy writing as sqlite3 is bad at concurrent writing; | |
| - add retries for simple sql commands in fuzzy backend; | |
| - use fine-grained transactions for fuzzy; | |
| - implement new multi-pubkeys mode; | |
| - allow encrypted only storages; | |
| - rework statistics for fuzzy; | |
| - add `rspamadm control fuzzystat` command for extended statistics; | |
| - implement human readable output for the previous command; | |
| - add condition script for learning fuzzy storage; | |
| * Various fixes to SPF: | |
| - fix `redirect` records; | |
| - fix domains when parsing mx/ptr/a records in includes/redirects; | |
| - fix issues with multiple addresses in SPF records; | |
| - ignore SPF results in case of DNS failure; | |
| - adjust TTL of records when resolving subelements of SPF records; | |
| - always select `v=spf1` line if it is available | |
| - do not cache records with DNS failure in subrequests; | |
| - ignore records with temporary fails during subrequests resolving; | |
| - fix `RDNS_RC_NOREC` support; | |
| * Add clang plugin for static analysis: | |
| - implement static checks for `rspamd_printf` format strings; | |
| * Add 'allow_raw_input' option for non-mime messages | |
| * Recognize types using libmagic | |
| * Fix parsing of IPv6 received headers | |
| * Add new interface of communication between workers in rspamd | |
| * Add support for named socketpairs | |
| * Don't write URLs by default as it is too verbose | |
| * Set status for HTTP replies | |
| * Try load `rspamd.conf.override` | |
| * Implement words decaying for text parts to limit many checks | |
| * Improve support of SA rules and plugins: | |
| - add check_for_shifted_date and check_for_missing_to_header eval rules; | |
| - add 'check_relays_unparseable' support; | |
| - add `check_for_mime('mime_attachement')` function; | |
| - use new re_cache interface for all SA rules; | |
| - add support for `Mail::SpamAssassin::Plugin::MIMEHeader`; | |
| - add support of 'special' SA headers to `exists` function; | |
| - fix issue when SA metas contain other metas; | |
| - fix freemail rules; | |
| * Many fixes to the URL parser | |
| * Match any newline character in regexps | |
| * Fix resolving of upstreams and detection of poor IPv6 configurations | |
| * Parse upstreams selection algorithm from the configuration line | |
| * Add `reresolve` command to the control interface | |
| * Generate fuzzy hashes from task metadata (URLs and headers) | |
| * Add method to check if IP is local and `local_addrs` option | |
| * Implement forced timeout for delayed filters | |
| * Disable fast path of pcre-jit as it seems to be broken | |
| * Bayes fixes: | |
| - new normalizer function; | |
| - really use weights of tokens from the OSB algorithm; | |
| - restore multiple classifiers support; | |
| * Rules changes: | |
| - add `R_SUSPICIOUS_URL` rule that detects obfuscated URL's; | |
| - improve empty image rule; | |
| - rework `FORGED_RECIPIENTS` rule; | |
| - reduce weight of `SUSPICIOUS_RECIPS`; | |
| - fix `*_NORESOLVE_MX` symbols in hfilter; | |
| - add `SUBJ_ALL_CAPS` rule with support of UTF8 | |
| - add spamhaus SBL to uribl | |
| - fix `SUSPICIOUS_RECIPS` and `SORTED_RECIPS` rules | |
| - remove `R_TO_SEEMS_AUTO` as it generates a lot of FP; | |
| - add new Message-ID regexp for Thunderbird (by @moisseev); | |
| * Plugins changes: | |
| - allow ratelimit plugin to set symbol instead of pre-result | |
| - support IP DNS black lists for URIBL (e.g spamhaus SBL); | |
| - drop deprecated SURBL bits (by @fatalbanana) | |
| - rename `JP_SURBL_MULTI` to `ABUSE_SURBL` (by @fatalbanana) | |
| - add `SURBL_BLOCKED` (by @fatalbanana) | |
| - add `CR_SURBL` | |
| - SURBL: allow fallthrough to default symbol (by @fatalbanana) | |
| - Settings: fix IP match (by @fatalbanana) | |
| - SURBL: add missing symbols to metric (by @fatalbanana) | |
| - allow processing images urls for SURBL | |
| - unconditionally disable SPF for authenticated users and local networks | |
| * Rework ratelimit plugin | |
| - switch to `rates` instead of old and stupid strings to setup; | |
| - check if a bucket is zero and disable the corresponding limits' | |
| - turn off all buckets by default; | |
| - check either `rcpt` or `user` buckets, not all together' | |
| - document new `rates` and `symbol` options; | |
| - inform user about what buckets are used in the configuration; | |
| * Add neural network **experimental** plugin | |
| * Add a sample script to learn neural network from rspamd logs | |
| * Add documentation strings support to rspamd: | |
| - add strings for the main configuration options; | |
| - document workers options; | |
| - add internal plugin options; | |
| - create `rspamadm confighelp` routine; | |
| - implement human readable output for the previous command; | |
| - add subtree search support; | |
| - add keyword search support; | |
| * Documentation improvements, tutorials section, statistics description | |
| * Many other minor and major bugfixes not noted here | |
| 1.0.11: | |
| * Fix spf redirects | |
| * Fix domains when parsing mx/ptr/a records in includes/redirects | |
| * Fix unfolded base64 encoding | |
| * Fix GError use-after-free | |
| * Do not rewrite the original url when using redirector | |
| * Fix parsing of fragment in urls | |
| * Fix processing of HTML tags | |
| * Improve empty image rule | |
| * Avoid long double type | |
| * Fix tokens weights in OSB algorithm | |
| * Improve debugging for bayes | |
| 1.0.10: | |
| * Fix settings application (#416) | |
| * Fix another issue with fixed strings | |
| * Fix hash function invocation | |
| * Use the proper string for make_dns_request in lua_http | |
| * Fix scan time output | |
| * Update webui: | |
| - fix labels for greylisting | |
| - fix dimension of scan time | |
| 1.0.9: | |
| * Emergency fix in keyed blake2 to fix fuzzy hashes and encrypted password | |
| * Support passwords longer than 64 symbols | |
| 1.0.8: | |
| * Add function to traverse AST atoms | |
| * Allow dependencies on rspamd symbols for SA metas | |
| * Fix memory corruption when timeout is removed in fuzzy check | |
| * Fix encrypted fuzzy add processing | |
| * Avoid use-after-free in controller session destructor | |
| * Use session pool instead of task pool in fuzzy check | |
| * Fix assembly in i386 mode (#413, #412) | |
| 1.0.7: | |
| * Plugged memory leaks in internet address object & html parser | |
| * Fixed static build | |
| * Fixed multiple sigchld processing | |
| * Fixed deletion of signal events after event processing loop | |
| * Fixed build on ARM (#404 - reported by @Gottox) | |
| * Fixed setting the default mask for SPF. | |
| * Fixed sanitisation of HTTP query values | |
| * Fixed parsing of the last header in encrypted HTTP messages | |
| * Additions and fixes for test suite & benchmarks | |
| * Added openssl aes-256-gcm support to libcryptobox & HTTP server | |
| * Implemented support for starting multiple HTTP servers | |
| * Implemented batch accept in HTTP server | |
| * Added module to get data from HTTP headers (#285 - reported by @msimerson) | |
| * Added `rspamadm control` command | |
| * Added ability to sort counters output. | |
| * Added ability to specify custom headers for rspamc client | |
| * Fix architecture detection | |
| * Converted history storage to the UCL format | |
| * Allow flexible number of rows in history | |
| * Fix action badges in WebUI | |
| * Add universal cryptobox hash API | |
| * Migrated to the optimized blake2b implementation adopted from Andrew Moon | |
| * Allow explicit loading of specific modules | |
| * Always load settings module | |
| * Allow to add symbols from settings | |
| * Fix double free in the controller fuzzy learn command | |
| * Avoid endless loop when cannot open sqlite db | |
| * Updated libucl | |
| 1.0.6: | |
| * Fix build on i386 | |
| * Update CentOS7 service file patch (by @fatalbanana) | |
| * Fix path to rspamadm in Debian init script (by @fatalbanana) | |
| * Fix broken '_SC_GETPW_R_SIZE_MAX' on FreeBSD | |
| * Fix portability issues | |
| * Use cryptobox chacha for libottery | |
| * Better support of 32 bit builds | |
| * Fix header name tokens setup | |
| * Fix levenstein distance method for words | |
| * Add workaround for old libevent (#400) | |
| * Fix microseconds in termination timer | |
| * Fix some more issues with fixed strings | |
| * Explicitly test CPU instructions even after CPUID call | |
| * Do not check out of boundary memory | |
| * Do not output broken emails | |
| * Fix unknown symbols registration | |
| * Handle SIGILL using longjmp | |
| * Block signals when exiting event loop | |
| * Fix incorrect allocation size | |
| * Slightly optimize alignment | |
| * Restore rspamd -t for compatibility | |
| * Add more sanity checks for emails | |
| 1.0.5: | |
| * Add rspamd control interface: | |
| - support `stat` command to get runtime stats of rspamd workers | |
| - support `reload` command to reload runtime elements (e.g. sqlite3 databases) | |
| * Rework curve25519 library for modular design: | |
| - add Sandy2x implementation by Tung Chou | |
| - fix CPU detection for variables loading assembly | |
| - add testing for curve25519 ECDH | |
| * New fixed strings library | |
| * Add `R_SUSPICIOUS_IMAGES` rule | |
| * Enable mmap in sqlite3 | |
| * Use new strings in the HTTP code | |
| * Improve google perftools invocation | |
| * Improve performance profiling in http test | |
| * Reorganize includes to reduce namespace pollution | |
| * Allow specific sections printing in configdump command | |
| * Rework workers signals handlers to be chained if needed | |
| * Update socketpair utility function | |
| * Add control_path option for rspamd control protocol | |
| * Fix ownership when listening on UNIX sockets | |
| * Rework signals processing in main | |
| * Remove extra tools from rspamd (they live in rspamadm now) | |
| * Remove global rspamd_main | |
| * Add global timeout for the overall task processing (8 seconds by default) | |
| * Sanitize NULL values for fuzzy backend | |
| * Store NM between encrypt/decrypt | |
| * Add textpart:get_words_count method | |
| * Fix generic DNS request in lua | |
| * Tune hfilter weights | |
| * Add support of IPv6 in hfilter | |
| * Fix parsing of HTTP headers with IP addresses | |
| * Sync with the recent libucl | |
| * Various minor bugfixes | |
| 1.0.4: | |
| * Add configdump routine to rspamadm | |
| * Implement retransmits for fuzzy_check plugin | |
| * Fix events processing for learning anf checking fuzzy hashes | |
| * Avoid dependency on unneeded and uncompatible glib include | |
| * Add `historyreset` command to the controller | |
| * Fix loading of tokenizer config from dump (#389) | |
| * Add sorting hints for the history | |
| * Allow custom lua scripts for users/languages extraction (#388) | |
| * Do not add FORGED_RECIPIENTS when 'To' is missing (#387) | |
| * Do not add R_UNDISC_RCPT when 'To' is missing (#387) | |
| * Add encryption to fuzzy check plugin | |
| * Add encryption for fuzzy storage | |
| * Add new epoch for encrypted fuzzy request | |
| * Add encryption for `rspamd.com` storage | |
| * Remove gmime processing for LDA mode as it is deadly broken | |
| * Add routine to find end of headers position in mime messages | |
| * Fix LDA headers folding | |
| * Init libraries in rspamc client as well to avoid locale issues | |
| * Avoid collision with locally installed includes | |
| * Allocate and free memory with the same allocator in rspamadm (#385) | |
| * Preserve expired fuzzy hashes counter | |
| * Improvements in webui: | |
| - Add favicon.ico | |
| - Rework history table | |
| - Fix sorting for the history | |
| - Migrate to bootstrap 3 and jquery 2 | |
| - Fix css bugs | |
| - Add glyphicons | |
| - Add reset history | |
| - Improve history buttons | |
| - Redraw graph to avoid display issues | |
| - Webui is now MIT licensed to match licensing policy of rspamd | |
| 1.0.3: | |
| * Fix piechart clean slice (#380) | |
| * Fix controller crashes when GString is reallocated (#381) | |
| * Correctly set locale before start | |
| * Set C locale for numeric values | |
| * Add rspamadm routine: | |
| - add `pw` command to manage passwords | |
| - add `help` command for displaying help | |
| - add `configtest` command to check configuration files | |
| - add `keypair` command for generating encryption keys | |
| - add `fuzzy_merge` routine to merge fuzzy sqlite databases | |
| - add a simple manual page for rspamadm | |
| * Allow metric registration for composite expressions | |
| * Add strict mode for configtest | |
| * Add logger counters | |
| * Save and show learned messages count (#383) | |
| * Add `no_stat` flag | |
| * Add `task:set_flag` and `task:get_flags` (#382) | |
| * Enable foreign keys in sqlite3 | |
| * Remove orphaned shingles from fuzzy storage | |
| * Optimize synchronization steps for fuzzy storage | |
| * Allow delayed conditions registration | |
| * Add lua API for conditions registering | |
| 1.0.2: | |
| * Fix critical bug in webui that prevents password from being sent | |
| * Rework webui view: | |
| - Switch to d3.js for graphs | |
| - Improve piechart look | |
| - Rework colors for piechart | |
| - Fix layout for symbols | |
| - Fix refresh button | |
| * Add descriptions for whitelist maps | |
| * Fix build on arm (#379) | |
| * Fix issue with the last element in the radix trie | |
| * Add more tests for radix trie algorithm | |
| * Allow to extract URLs from query strings of other URLs (#361) | |
| * Initialize rrd fields before writing to file | |
| * Fix double free if no password has been specified | |
| 1.0.1: | |
| * Add writing to rrd from the controller | |
| * Fixed lots of bugs in rrd code | |
| * Adopt new DNS API in hfilter plugin (by @AlexeySa) | |
| * Allow only one controller process to manage rrd file | |
| * Set event base for fuzzy calls | |
| * Improve fuzzy IO errors logging | |
| * Add rra extraction function to rrd library | |
| * Add graph handler to the controller | |
| * Cache correct passwords to avoid too high CPU usage when working with webui | |
| * Controller sockets are owned by router do not export them to task | |
| * Optimize logging by skipping hash table search if it's empty | |
| * Fix loading issue with broken statfiles | |
| * Print assertions from glib to rspamd logger | |
| * Load legacy `lua/rspamd.local.lua` | |
| * Update webui with some fixes to learning and scanning | |
| 1.0.0: | |
| * Rework symbols processing: | |
| - Improve sorting logic for symbols | |
| - Organize processing into multiple stages | |
| - Added asynchronous watchers for symbols | |
| - Added ability to organize dependencies between symbols | |
| * Fixed URL redirector: | |
| - Use optimized POE loop | |
| - Organize dependencies | |
| - Fix startup | |
| * New sqlite3 backend: | |
| - Allow to have per-languages and per-user statistics | |
| - Allow sqlite3 to be used as statistics backend | |
| * Store tokenizer configuration within statfiles | |
| * Improve bayes statistics: | |
| - Use headers and images metainformation in bayes | |
| - Suggest using of pre-processed tokens for statistics | |
| - Fix tokens normalization for OSB algorithm | |
| * Rewrite url parsing: | |
| - Fix numerous issues with url extraction and normalization | |
| - Fix mailto urls | |
| * Fix settings plugin to allow custom actions scores | |
| * Improve rbl plugin | |
| * Allow capturing patterns in rspamd lua regexp library | |
| * Add GTUBE support | |
| * Fix spamc legacy support | |
| * Add DKIM support to RBL module | |
| * Fix issues with multiple DKIM signatures | |
| * Fix issue if rspamd cannot create statfiles (#331) | |
| * Rework parts and task structure: | |
| - Now text_parts, parts and received are arrays | |
| - Pre-allocate arrays with some reasonable defaults | |
| - Use arrays instead of lists in plugins and checks | |
| - Remove unused fields from task structure | |
| - Rework mime_foreach callback function | |
| - Remove deprecated scan_milliseconds field | |
| * Add ip_score plugin support (not enabled by default): | |
| - Can check for asn/country and network using DNS lookups | |
| - Can store and load reputation from redis server | |
| * Improve PARTS_DIFFER rule to count merely different words | |
| * New HTML parser: | |
| - Parses HTML parts using a set of state machines | |
| - Extracts useful data and exports it to lua functions: | |
| + Styles | |
| + Images | |
| + URLs | |
| + Colors | |
| + Structure elements | |
| - Added HTML rules for some checks | |
| * New version of LUA DNS API | |
| * Table versions of many functions in LUA API | |
| * Improve rspamc client: | |
| - Print execution time | |
| - Allow executing of external commands and passing output to them | |
| - Allow mime output mode when rspamc alters message according to rspamd | |
| checks and send it to an external command or stdout | |
| * Allow scanning of local files using HTTP requests | |
| * Rework configuration system: | |
| - Rules are now moved from the $CONFDIR to $RULESDIR to avoid ambiguity | |
| - All modules configurations are now split in $CONFDIR/modules.d/* to | |
| simplify upgrades | |
| - Move hfilter to plugins | |
| - Allow plugins and rules to define default scores to simplify metrics | |
| setup | |
| - Include overrides for all modules to honor local/automatic parameters | |
| - Tune scores for many modules | |
| * Rework and enable DMARC plugin | |
| * Add whitelist plugin for SPF/DKIM/DMARC based whitelisting | |
| * Add some common domains to whitelists shipped with rspamd | |
| * Rework logging: | |
| - Now each log entry supports module name and a `tag`. Tag is used to | |
| identify unique objects (such as tasks) when checking log files | |
| - It is possible to turn on debugging for the specific modules | |
| - Systemd logging is fixed | |
| * Improve spamassassin plugin. | |
| - Now headers are matched more like SA | |
| - Improve support of Message-ID | |
| - Add support of ToCc header type | |
| - Fix :addr and :name in headers regexps | |
| * Resurrect rrd support code | |
| * Save controller stats between restarts | |
| * Fixed tonns of bugs | |
| * Added tonns of minor improvements and features | |
| * Added more unit tests | |
| * Create functional tests framework | |
| * Added documentation for missing modules | |
| * Added rpm/deb repositories and scripts | |
| * Updated WebUI and libucl externals | |
| 0.9.10: | |
| * Do not dereference null pointer on learning. | |
| * Fix some extreme cases in BAYES. | |
| * Add a workaround to avoid bad HTML messages breaking. | |
| * Build with -O2 flags by default. | |
| * Add constraints to limit DNS requests count per task. | |
| * Add workaround for SURBL DNS flood. | |
| * Set error if rspamd cannot learn anything. | |
| 0.9.9: | |
| * Don't use RWL_SPAMHAUS_WL (unknown result) for whitelisting (by @fatalbanana) | |
| * Import updated public suffix list (by @fatalbanana) | |
| * Remove debug message | |
| * Fix settings (by @fatalbanana) | |
| * Remove duplicated symbol registration | |
| * Use WAL for fuzzy storage | |
| * RBL fixes (by @fatalbanana): | |
| - silence errors; | |
| - yield unknown results from RBLs; | |
| - fix scoring for DNSWL; | |
| - fix use of RBL name as symbol; | |
| - ignore RBL names that would not be yielded; | |
| * Support captures in regular expressions | |
| * Add captures support to lua_regexp | |
| * Support dist on FreeBSD and Darwin | |
| * Add RCVD_IN_DNSWL_NONE as whitelisting exclusion (by @fatalbanana) | |
| * Multiple fixes to URL detection: | |
| - support port definition; | |
| - fix query and path recognition; | |
| - fix parsing of multiple slashes in URL; | |
| - fix parsing query just after port; | |
| - fix path field in `url:to_table` method; | |
| - improve support of IP based URLs. | |
| * Set ignore_whitelists = true for RECEIVED_SPAMHAUS_XBL (by @fatalbanana) | |
| * Add GTUBE support | |
| * Ignore User header in SA mode | |
| 0.9.8: | |
| * Fix critical bug in bayes classifier (#305) | |
| * Fix critical bug in RBL module (by @fatalbanana) | |
| * Fix and rework settings plugin. | |
| * Fix get_all_opts for a case of non-iterable options. | |
| * Use tld for redirector's matching. | |
| 0.9.7: | |
| * Add whitelist_exception setting to RBL module (by @fatalbanana) | |
| * Don't use RWL_MAILSPIKE_POSSIBLE or DNSWL_BLOCKED for whitelisting (by | |
| @fatalbanana) | |
| * Fix extreme cases in bayes classifier. | |
| * Fix parsing of urls with '?' at the end of hostname. | |
| * Update interface. | |
| * Fix number of issues with webui interaction. | |
| * Fix saving maps. | |
| * Allow user@ and @domain matches in multimap. | |
| * Fix issues with bounces From processing. | |
| * Fix abs/fabs misuse. | |
| * Fix builds on suse and arch linux distributions. | |
| 0.9.6: | |
| * Fix memory leak if mime cannot be parsed. | |
| * Fix dkim cache expiration. | |
| * Fix issues with redirector HTTP response. | |
| * Fix abnormal connection closing with certains messages with a high score | |
| (issue #296) | |
| * Fix redirector installation. | |
| * Use specific POE loop for some systems. | |
| * Fix number of issues in URL redirector. | |
| * Fix selecting URLs for sending to redirector. | |
| 0.9.5: | |
| * Avoid double free when extending HTTP message. | |
| * Fix double free if multiple classifiers are defined. | |
| * Fix misprint in spamassassin plugin. | |
| * Fix cpuid invocation on i386. | |
| * Fix ownership issues for zero-copy decode. | |
| * Allow __len metamethod on rspamd{text}. | |
| * Add base64 decoding lua utility. | |
| * Fix build on FreeBSD | |
| * Skip spaces at the beginning of mime messages. | |
| * DBL_ABUSE_REDIR should not have significant weight. | |
| * Allow to split by lua_regexp rspamd{text} objects. | |
| * Allow to specify custom stop pattern for lua_tcp. | |
| 0.9.4: | |
| * Fix critical bugs in tokenization algorithm | |
| * Write unit tests for tokenization | |
| * Add documentation for lua_tcp | |
| * Switch off legacy tokenization by default. | |
| * Fix critical bugs in words normalization | |
| * Add lua bindings to tokenizer. | |
| * Implement storing of HTTP headers inside task | |
| * Add lua API to accerss HTTP headers data | |
| * Implemented base64 encoding suitable for MIME | |
| * Use caseless hash and equal functions for HTTP request headers. | |
| * Improve debian architectures support (by @dottedmag) | |
| 0.9.3: | |
| * Revert incorrect regexp change that broke the default rules | |
| * Fix lua_tcp module | |
| 0.9.2: | |
| * Fix error on spawning unique workers. | |
| * Add preliminary version of generic LUA TCP requests API. | |
| * Use lua 5.1 if luajit is not available (Arm64, PowerPC, s390x etc) | |
| * Fix fuzzy mime strings with only type. | |
| * Improve thunderbird sanity checks. | |
| * Fix critical bug on matching regular expressions. | |
| * Make hiredis optional dependency. | |
| * Fix multiple bugs in daemon reloading | |
| 0.9.1: | |
| * Restore utf8 validation for regular expressions to avoid crashes | |
| * Fix symbols displaying in the interface | |
| * Add symbol groups to the interface | |
| * Fix maps ID parsing in the controller | |
| * Add multimap and regexp modules documentation | |
| * Backport fixes from libucl | |
| * Fix debian package (by @dottedmag) | |
| * Rework XXH32 invocations | |
| 0.9.0: | |
| * Add support of the fast and secure protocol level encryption: | |
| - curve25519 is used for key exchange; | |
| - chacha20/poly1305 cryptobox construction for bulk encryption; | |
| - zero latency overhead; | |
| - encrypting and balancing HTTP proxy worker | |
| * Rework expressions and create new expressions library: | |
| - aggressive optimizations based on the abstract syntax tree; | |
| - abstract expressions support (regular expressions, functions, lua modules | |
| composites and so on) | |
| - New comparison and '+' operators support | |
| - New greedy algorithm to minimize execution time of expressions and | |
| all symbols | |
| - Dynamic expressions benchmark and reoptimizations | |
| * Many improvements to the LUA API: | |
| - reworked logger module allowing to do pretty print of the most of lua | |
| types (including tables and userdata classes) | |
| - reworked lua redis and lua HTTP to support more features | |
| - added opaque type for passing large text chunks without copying | |
| - new regexp module with many auxiliary functions (e.g. `re:split`) | |
| * LuaJIT is now the default requirement for rspamd allowing to speed up lua | |
| execution by a large margin (however, plain lua is still supported) | |
| * New plugins: | |
| - spamassassin rules plugin that allows to load and re-use the most of | |
| SA rules natively | |
| - DMARC plugin that evaluates SPF and DKIM policies to the domain policies | |
| - many old plugins has been reworked to implement new features and improve | |
| stability | |
| * New aho-corasic trie implementation from @mischasan that allows to load and | |
| use hundreds of thousands of patterns with no influence on load | |
| * Support of PCRE JIT and PCRE JIT fast path modes that significantly improves | |
| the performance of regular expressions if supported by PCRE | |
| * New URLs parser and extractor: | |
| - removed legacy code that was useless for url finding | |
| - reworked algorithms of URL parsing for more precise and accurate results | |
| - added top-level-domains tree from http://publicsuffix.org | |
| - improved emails parsing | |
| - removed many phishing false positives due to TLD tree check | |
| * New statistics infrastructure: | |
| - created a separate layer of statistic library | |
| - improved OSB-Bayes by re-weighting tokens according to the original | |
| academic paper and `crm114` implementation, which reduced false positives | |
| rate significantly | |
| - created learn cache to avoid double learning of statistics and providing | |
| an efficient way to re-learn class for a message | |
| - created abstract layers for different statistics backends | |
| - implemented new tokenization algorithms with fast or secure (siphash) | |
| hashes to generate statistics features | |
| * Reworked utf8 tokenization that previously corrupted all UTF8 words (minor | |
| incompatibility with old fuzzy hashes with utf-8 symbols) | |
| * SPF module has been completely rewritten to support complex cases of | |
| `include` and `redirect` within SPF records | |
| * DKIM module now supports multiple signatures | |
| * Controller passwords can now be stored encrypted by `PBKDF2-HMAC` in the | |
| configuration file | |
| * Many hand-written HTTP clients has been replaced with the common rspamd | |
| http module | |
| * New test framework: | |
| - import lua `telescope` test framework | |
| - add unit tests for many rspamd modules and routines | |
| - create a unit test for each possible bug found | |
| - use luajit ffi for testing C code | |
| - added preliminary support of functional testing by creating tasks from lua | |
| * Randomize hash seed to avoid certain hash tables vulnerabilities | |
| * Documentation improvements: | |
| - added documentation for the vast majority of rspamd modules | |
| - added documentation for rspamd protocol | |
| - added documentation for the most of rspamd LUA extensions | |
| * Fixed tonns of bugs and memory leaks | |
| * Added tonns of minor features | |
| 0.8.3: | |
| * Various critical fixes in distribution (by @dottedmag and @fatalbanana) | |
| * Fixed bugs in url detector to parse certain patterns | |
| * Add default host and helo for a client | |
| * Some sanity checks for tokenizer and classifier | |
| * Reiterate on systemd support | |
| * Fix missing symbol registration | |
| * Add support of spamc compatible output | |
| * Filter double-dots in rbl.lua validate_dns (by @fatalbanana) | |
| * Update ucl submodule due to critical bugfix | |
| 0.8.2: | |
| * Create fuzzy db if it does not exist | |
| * Fix: Centos init script: configtest() (by @AlexeySa) | |
| * Enable one_shot for RECEIVED_SPAMHAUS_XBL - Fixes #102 (by @fatalbanana) | |
| * Update Exim patch (by @fatalbanana) | |
| * Fix processing of unix sockets. | |
| * Allow applying settings to authenticated users (by @fatalbanana) | |
| * Make settings priorities work as documented (by @fatalbanana) | |
| * Fix race condition in symbols planner | |
| * Add DNSWL_BLOCKED symbol (by @fatalbanana) | |
| * Make Exim pass usernames to rspamd (by @fatalbanana) | |
| * Update RBL module (by @fatalbanana): | |
| - fix indentation; | |
| - collapse loops; | |
| - avoid calling for un-needed information; | |
| - allow disabling RBLs for authenticated users | |
| * once_received.lua: Fix indentation & add exclusion for authenticated users (by @fatalbanana) | |
| * hfilter.lua: Add exclusion for authenticated users (by @AlexeySa) | |
| * Updates to hfilter rules (by @AlexeySa) | |
| * Set empty <> user or addr for msgs without FROM (by @eneq123) | |
| * Fix: attempt to index field '?' (a nil value) (by @eneq123) | |
| * Fix: if not exist Date-header (by @AlexeySa) | |
| * Add task:get_content() method. | |
| * rbl.lua: Ignore private IP space (by @fatalbanana) | |
| * Allow to check radix maps from lua by rspamd{ip} | |
| * Make local exclusions configurable per-RBL (by @fatalbanana) | |
| * Add rspamd_config:radix_from_config() (by @fatalbanana) | |
| * Support emails dnsbl in rbl (by @fatalbanana) | |
| * Complete rework of url extraction logic | |
| * Allow customizations for unix sockets. (fixes #182) | |
| * Set lua path according to rspamd settings. | |
| * Import lua-functional for plugins stuff. | |
| * Completely rewrite multimap plugin in functional style. | |
| * Fix FORGED_MUA_THUNDERBIRD_MSGID (fixes #186) | |
| * Check IPv6 addresses at dnswl.org and Spamhaus whitelist (by @fatalbanana) | |
| * Add lowercase utility for utf8 strings. | |
| * Various fixes to build system | |
| * Updated debian configuration infrastructure (by @dottedmag) | |
| 0.8.1: | |
| * Add sqlite and perl as dependencies for RPM/Debian packages (by @fatalbanana) | |
| * Remove whitelist.lua from RPM file list (by @fatalbanana) | |
| * Make Exim pass hostnames to rspamd (by @fatalbanana) | |
| * Fix building on Fedora (by @fatalbanana) | |
| * Add toggle for disabling installation of systemd units on Linux (by @fatalbanana) | |
| * Fix double format rounding that caused output corruption (reported by @fatalbanana) | |
| * Revert broken change for destructors ordering that led to memory corruption | |
| * Do not reset symbols case of settings if parsed from lua (reported by @andrejzverev) | |
| * Fix build on SunOS (by @wiedi) | |
| * Fix multiple crashes on broken DKIM DNS records | |
| * Fix critical issue with composites weights removing | |
| * Fix memory corruption in composites processing code | |
| * Ignore non-SPF TXT records when parsing SPF includes | |
| 0.8.0: | |
| * New fuzzy check logic: | |
| - use shingles algorithm for fuzzy matching | |
| - use blake2 instead of md5 for larger output space | |
| - combine fuzzy and strict matching | |
| - allow to organize private storages by means of keys | |
| - preserve compatibility with previous versions | |
| * New fuzzy storage: | |
| - use sqlite instead of own memory based hash tables | |
| - rework commands interface | |
| - add conversion from the old format | |
| - add fuzzy match by shignles | |
| - support old rspamd versions | |
| * Add lemmatizing for words used in fuzzy hashes that allows to improve match | |
| quality by using of the first forms of all words | |
| * Rework language detection | |
| * Fix several critical bugs, memory leaks and deadlocks: | |
| - memory leak in HTML nodes parsing | |
| - deadlock in logger code | |
| - deadlock in signals processing | |
| - crashes in fuzzy_storage | |
| - crashes in tokenizers if the input was empty | |
| * Import new libucl with several bugfixes and improvements | |
| * Support listening on ipv6 addresses only | |
| * Fix macro expansion in SPF module | |
| * Several bugfixes in DKIM module | |
| * Add load headers support for mime parts to the lua API | |
| * Add documentation for: | |
| - workers in general | |
| - fuzzy_storage worker | |
| - fuzzy_check plugin | |
| - mimepart and textpart lua API modules | |
| 0.7.6: | |
| * Apply boundary fix for dkim simple canonization | |
| * Fix ping command | |
| * Return nil if header was not found in lua_task | |
| * Fix hang in upstreams revive logic | |
| * Decode entitles when normalizing HTML parts | |
| * Fix logic of finding URLs in HTML parts | |
| * Do not include \0 into length of text when performing conversion to utf8 | |
| * Fix raw vs parsed reperesentations | |
| Raw parts are now: | |
| - decoded b64/qp, but *NOT* converted to utf-8 | |
| Processed parts are now: | |
| - converted to UTF-8 | |
| - normalized if needed (e.g. HTML tags are stripped) | |
| * Rework DKIM canonization to line based | |
| * Fix fuzzy hashes adding | |
| * Use more specific hash function for fuzzy | |
| * Fix leaking of iconv descriptors | |
| * Fix PTR resolving in lua resolver | |
| * Rework spf module. | |
| - Copy data to memory pool as cached record might be destroyed causing | |
| freed memory being passed to the protocol output (use after free) | |
| - Allow SPF_NEUTRAL policy to be handled separately | |
| - Add R_SPF_NEUTRAL to the default config | |
| * Rework `register_symbols` function | |
| * Allow to disable components of hfilter | |
| 0.7.5: | |
| * Fix owner when creating folder /run/rspamd (by @sfirmery) | |
| * Fix IP validity checks | |
| * Decode URLs obtained from HTML tags | |
| * Fix crash with unweighted upstreams | |
| * Stop processing headers in parts | |
| * Set sockaddr.sa_family properly when connectig to upstreams | |
| * Fix reload issues in surbl and fuzzy_check (reported by @citrin) | |
| * Fix timeouts in redirector | |
| * Improve lua errors reporting | |
| * Fix lua closures processing in libucl | |
| * Rework calling of lua functions from regexp module | |
| * Choose raw regexp for raw headers | |
| * Rework conversion to utf since glib one is broken | |
| * Ignore SGML style tags in html | |
| * Fix old bug with non-capturing https urls | |
| * Fix memory corruption on fuzzy reload (reported by @citrin) | |
| * Fix percents display in rspamc | |
| * Fix buffer update for DKIM | |
| * Do not validate utf for raw headers | |
| 0.7.4: | |
| * Fix build under *BSD | |
| * Detect HAN unicode script | |
| * Implement language detection heuristic for text parts | |
| * Fix time output in history | |
| * Improve piechart coloring | |
| * Fix \r\n conversion in DKIM module (reported by @citrin) | |
| * Try to detect systems with no IPv6 support | |
| * Fix multiple/single values in use settings (reported by @citrin) | |
| * Rework IP addresses in upstreams: | |
| - Select ipv4/unix addresses if they exist and use ipv6 for ipv6 only | |
| upstreams (since the support of ipv6 is poor in many OSes and | |
| environments) | |
| - Free IP list on upstream destruction | |
| - Add test cases for addresses selection | |
| - Allow adding of free form IP addresses to upstreams | |
| * Fix endianness in lua_radix search (reported by @citrin) | |
| * Soft shutdown should also set wanna_die flag (reported by @citrin) | |
| * Stop use-after-free in event loop termination | |
| * Fix processing of very short messages in DKIM (reported by @citrin) | |
| * Detect systems without shared mutexes | |
| * Fix issues with PTR and MX elements in SPF parser (reported by @citrin) | |
| 0.7.3: | |
| * New upstreams code: | |
| - simplify upstreams API; | |
| - unify strings parsing in upstreams definition; | |
| - add configuration options for the upstreams; | |
| - for failed upstreams re-resolve their addresses; | |
| - use all resolved addresses for an upstream (round-robin); | |
| - implement stable hashing and use it by default for upstreams; | |
| - add unit test for upstreams module. | |
| * Rework signals processing in all rspamd workers: | |
| - signals are now processed in the event loop; | |
| - implement the most common signal handlers for all workers; | |
| - add callbacks for workers specific signal handlers | |
| * Fix critical issue with fuzzy storage: | |
| Fuzzy stroage could not save any hashes on termination due to bugged | |
| signals handling | |
| * Fix roll history IP storage | |
| * Rework ipv4/ipv6 handling in parsing addresses: | |
| - turn off support of IPV6_V6ONLY socket option; | |
| - create ipv6 socket prior to ipv4 one to handle systems with v6/v4 | |
| sockets enabled (Linux) | |
| * Remove CBL as it's wholly included in Spamhaus XBL (by @fatalbanana) | |
| * Remove nszones.com fake RBL (by @citrin) | |
| * Fix upstreams interaction for fuzzy_check | |
| * Verify spf PTR records (reported by @citrin) | |
| * Fix spf MX records parsing | |
| * Add compatibility for old libevent (by @yellowman) | |
| * Sync bugfixes from libucl | |
| 0.7.2: | |
| * Convert all maps to the compressed radix trie | |
| * Allow IPv6 addresses in IP maps | |
| * Remove dynamic items support from symbols cache | |
| * Allow hex encoded output of strings | |
| * Fix bug with control connections count | |
| * Process fuzzy weight correctly (reported by @fatalbanana) | |
| * Remove extra reference retain of http connection on error | |
| * Remove deprecated options from the default config | |
| * Add `one_shot` attr to metric's symbols | |
| * Doc: add documentation for metrics | |
| * Add Upstart job to debian packaging (by @CameronNemo) | |
| * Config: improve SURBL symbols descriptions (by @citrin) | |
| * Config: reflect SURBL changes (by @citrin): | |
| - Outblaze removed, malware moved to separate list: | |
| http://www.surbl.org/news/internal/MW-malware-sublist-added-to-multi | |
| * Fix C modules initialization on restart | |
| * Treat single IP as a single IP in radix lists (reported by @citrin) | |
| * Do not touch file and core limits if not asked explicitly (reported by @citrin) | |
| * Improve logging for fuzzy errors | |
| * Block SIGPIPE for HTTP writing | |
| * Doc: update manual pages | |
| * Fix HTTP connection termination | |
| * Reduce default number of parallel requests to 8 | |
| * Sync with libucl include features | |
| 0.7.1: | |
| * Fix typo in stat output. | |
| * Fix issues with includes crossing with the system includes | |
| * Restore testing framework | |
| * Add radix trie test suite | |
| * Implement new path-compressed radix trie. | |
| - The performance benefit over the old algorithm is about 1.5 times. | |
| - Memory usage is significantly lower as well. | |
| - Now radix trie can accept any IPv4/IPv6 values | |
| * Various improvements to the memory pools code | |
| * Fix writing reply to a client when no filters are defined | |
| * Write base32 encoded fuzzy | |
| * Fix 'soft reject' action | |
| * Fix rspamd reload and modules reconfiguration | |
| * Fix subject rewriting for the default subject | |
| * Fix states for processing task and pre-filters | |
| * Fix issues with connection closing | |
| * Fix crashes in rdns | |
| * Fix ratelimit pre-filter | |
| * Update exim patch. | |
| - Update to the recent exim version | |
| - Strip extra leading src/ from the patch | |
| - Remove sendfile since it was broken | |
| - Fix rspamd spam report for exim | |
| * Improve documentation | |
| 0.7.0: | |
| * Use HTTP protocol for all operatiosn | |
| * Webui worker is now removed and controller works as webui | |
| * Allow to serve static files via controller by option `static_dir` | |
| * Rspamd interface is now a part of rspamd | |
| * Rspamc client has been rewritten to use HTTP and non-blocking mode | |
| allowing to start multiple operations simultaneously (see `-n` option) | |
| * Lua API was completely reworked to satisfy modern standards of LUA: | |
| * Module `lua-message` was removed | |
| * Reduced number of superglobals registered by rspamd | |
| * Many functions has been redesigned | |
| * Symbols registration is now more convenient | |
| * Users settings has been rewritten as lua plugin | |
| * Reworked headers system as gmime's based one misses many headers and is | |
| very slow to get headers values | |
| * Reorganized code and removed embedded jannsson by using UCL for all json | |
| parsing | |
| * Migrated to `librdns` for DNS resolving that improves concurrency for | |
| DNS requests significantly | |
| * Fixed tonns of bugs in MIME processing | |
| * Improved metrcis and default symbol's weights | |
| * Added new RBL's | |
| * Fixed a number of issues in the modules | |
| * Removed several memory leaks found | |
| * Fix unicode processing | |
| * Fix fuzzy checking for unicode parts | |
| * Significantly improve documentation and especially LUA API docs | |
| * See migration notes at https://rspamd.com/doc/migration.html | |
| 0.6.8: | |
| * Controller now listen for localhost and not for 127.0.0.1 by default | |
| * Allow FCrDNS-style RBL lookups (by @fatalbanana) | |
| * Reduce threshold for parts_differ function. | |
| * Fix hostname lookup for rdns rbl (by @AlexeySa) | |
| * Fix HFILTER_URL_ONELINE to reduce false positive rate. | |
| * Fix whitelist module. | |
| * Allow override system predefined settings without touching system ones | |
| by .try_include macro (by @andrejzverev) | |
| * Check for [ip.address]-style HELO and suppress lookups. (by | |
| @fatalbanana) | |
| * Optimize hfilter (by @AlexeySa) | |
| * Fix issue with random numbers generator in dns. | |
| * Use more clever time values to setup entropy. | |
| * Synced with the recent libucl. | |
| 0.6.7: | |
| * Use ChaCha20 for DNS generator (more secure DNS id) | |
| * Unknown symbols now has zero weight and not 1.0 | |
| * Fix fuzzy hashes expire time | |
| * Fix critical issue in statfiles on FreeBSD 9 (and some other platforms) | |
| * Add .include_map macro to ucl parser | |
| * Update libucl | |
| * Fix headers end detection for DKIM module | |
| * Fix a bug in received headers parser | |
| * Validate IP addresses before pushing them to lua | |
| * Start new documentation project | |
| * Fixed tonns of other minor bugs | |
| * Start to prepare for 0.7 with HTTP protocol and new settings | |
| 0.6.6: | |
| * Removed issue with BUFSIZ limitation in the controller output | |
| * Simplify logging symbols escaping | |
| * Adjusted weights for several rules | |
| * Improve spamhaus rbl support | |
| * Removed PBL for received headers checks | |
| * Added hfilter module that performs various HELO and IP checks. | |
| * Rspamd can now be reloaded by HUP signal | |
| * Fuzzy storage should expire hashes properly | |
| * Build system has been reworked for better supportof pkg-config | |
| * Various minor bugfixes | |
| 0.6.5: | |
| * Fixed critical bug in DNS resolver, introduced in 0.6.4 | |
| * Improved multimap and rbl plugins to skip | |
| * Add dns_sockets option for tuning sockets per server in DNS resolver | |
| * Improved packages for rspamd | |
| 0.6.4: | |
| * Added io channels for DNS request to balance load and reduce id | |
| collisions chance | |
| * Fixed a bug in SPF filter that may cause core dump in specific | |
| circumstances | |
| * FIxed default config for rbl module | |
| * It is possible to get a list of rspamc commands with their descriptions | |
| * Added SORBS bl to the default config | |
| * 2tld file for surbl module has been significantly extended | |
| * Perl modules has been removed from the code. | |
| * Fixed an issue in libucl when parsing macros | |
| 0.6.3: | |
| * Fixed issues with DNS: | |
| - labels decompression algorithm was fixed; | |
| - added resolve_mx to lua API; | |
| - fixed modules that use DNS. | |
| * Lua modules once_received and emails reworked for new resolver API and UCL. | |
| * Debian package was polished. | |
| * Fixed a bug in fuzzy_check module that prevents correct processing messages | |
| without valid parts. | |
| 0.6.2: | |
| * Fuzzy check module has been reworked: | |
| - now fuzzy_check operates with a group of rules, that define which | |
| servers sre to be checked; | |
| - it is possible to specify read_only groups to avoid learning errors; | |
| - turn fuzzy_check to one_shot mode permanently; | |
| - fuzzy_check module configuration is now incompatible with the previous | |
| versions. | |
| * Imported bugfixes from libucl. | |
| * Fixed whitelist plugin. | |
| * Fixed statfiles resizing. | |
| * Improved logging initialization order. | |
| * Fixed race condition in the controller worker. | |
| 0.6.1: | |
| * Critical bugfixes: | |
| - fixed build system; | |
| - fixed in_class setting in bayes learning; | |
| 0.6.0: | |
| * Use UCL instead xml for configuration (https://github.com/vstakhov/libucl) | |
| * Fix statistics module normalization | |
| * Rework the many modules for the new configuration: | |
| - surbl has incompatible configuration; | |
| - fuzzy_check has incompatible configuration; | |
| - multimap has now new configuration; | |
| - received_rbl is removed and replaced by rbl module. | |
| * Removed deprecated options: | |
| - statfile_pool_size; | |
| - action and required/reject score for a metric. | |
| * Simplify build system and unify configuration for all platforms. | |
| * Improved URL detector (reduced false positive rate). | |
| * Lua 5.2 is now the default and fully supported version. | |
| * Tons of bugfixes and minor improvements. | |
| 0.5.6: | |
| * Fix bug with counters incrementing in rolling history | |
| * Detect expl and exp2l as some systems do not have it | |
| * Support input streams without Content-Length | |
| * Implement counters output via rspamc and controller interface | |
| * Fix bug with udp sockets in fuzzy storage | |
| 0.5.5: | |
| * New bayes normalizator based on inverse chi-square function | |
| * Various fixes to fuzzy storage | |
| * Allow update fuzzy storage only from specific IP addresses | |
| * Better support of IPv6 and address selection algorithms | |
| * Add CentOS spec file | |
| 0.5.4: | |
| * Fixed issues with diff algorithm | |
| * Added support of RRD statistics | |
| * Add webui worker for interface interaction | |
| * Fix a lot of issues with dynamic conf | |
| * Fix critical memory leak in settings code | |
| * Improve stability of the system | |
| 0.5.3: | |
| * Added dynamic options | |
| * Added advanced metaclassfication | |
| * Added RESTfull API for controller | |
| * Improved hashing algorithms | |
| * Various fixes for rspamc client: | |
| - allow interacting with unix sockets | |
| - librspamdclient major cleanup | |
| - bayes is now default classifier | |
| 0.5.2: | |
| * Added lua bindings for: | |
| - basic mime parts, that allows checkign attachements for example; | |
| - DNS resolver; | |
| * Existing lua bindings now works without task object allowing to use them | |
| in custom code. | |
| * Threads system was reworked to avoid global lua interpreter lock. | |
| * DKIM module now converts all line endings to CRLF how opendkim does. | |
| * URL detector is now more accurate for text parts. | |
| * Several critical bugs and memory leaks were fixed. | |
| 0.5.1: | |
| * Added lua worker type to handle network connections in lua. | |
| * Added lua bindings for async_session, IO dispatcher, memory_pool, and | |
| worker. | |
| * Composites can now uses other composites in expressions. | |
| * Fixes for debian package and for FreeBSD >= 9.1 | |
| * Add support of gmime-2.6 if gmime-2.4 is not found. | |
| * Improve url detection and phishing detection. | |
| * Add lua mime_part library to get an access to all message part | |
| attributes (like filename, length, type). | |
| 0.5.0: | |
| * Added SMTP lightweight balancing proxy with XCLIENT support. | |
| * Added lua bindings for upstreams objects and API. | |
| * New pre-filters are implemented to support initial checking for messages. | |
| * Added ratelimit plugin that uses redis protocol to store data. | |
| * Added ipv6 support to spf and some other modules. | |
| * Unbreak spf plugin. | |
| * Allow options with the same name be threated as list. | |
| * DKIM plugin an parsing code was added. | |
| * Separate build system to put logic in several shared libraries. | |
| * Many bugfixes. | |
| 0.3.2: | |
| * Add error handling for regexps | |
| * Fix quit command in controller interface | |
| * Write symbols weights to rspamc output | |
| * Improve logic of selecting rspamc version | |
| * Do not try to parse broken DNS replies | |
| * Add 'raw' flag to FROM_EXCESS_BASE64 rule (requested by citrin) | |
| * Output message id in rspamc reply | |
| * Fix inserting composite symbol | |
| * Fix output of log line | |
| * Document composites | |
| * Add logging for fuzzy checks | |
| * Add logging for learning | |
| * Improve logic of learning messages - do not learn more than specific threshold | |
| * Fix inserting results for symbols that were incorrectly (for example more than 1 time) defined in config file | |
| * Do not output control characters if output is not terminal | |
| * Fix some logic errors in learning | |
| * Consider lua plugins errors as fatal configuration errors | |
| * Fix writing message id during fuzzy_add command | |
| * Display weight of symbols correctly | |
| * Fixes to winnow learning | |
| * One more try to improve accuracy of winnow algorithm | |
| * Add bayesian classifier (initial version) | |
| * Remove normalizer as it is winnow specific thing, so all statistic algorithms now returns value from 0 to 1 | |
| * Some fixes to fuzzy hashes expiration: | |
| * Fix assertion while look up value in NULL hash (found by cirtin) | |
| * Fix normalization for systems that have not tanhl function | |
| * Ignore rfc822 group addresses | |
| * Move images library to core rspamd | |
| * Add lua api to access images properties | |
| * Add post filters to lua API - filters that would be called after all message's processing | |
| * Add ability to check for specified symbol in task results from lua | |
| * Add ability to check for metric's results from lua | |
| * Add ability to learn specified statfile form lua | |
| * Add ability to extract filename and size of images from lua | |
| * Fix assertion while extracting internet address | |
| * Fix races in fuzzy storage | |
| * Make spf parser case insensitive | |
| * Add ability to check hashes of selected mime types | |
| * Add ability to set minimum size in bytes for mime types | |
| * Add ability to set minimum dimensions for images | |
| * Assume all text/* content types as text/plain | |
| * Fix getting data wrapper for gmime24 | |
| * Many fixes to statfile synchronization system | |
| * Fixed statfile pool initialization and synchronization with disk | |
| * Prepare 0.3.2 | |
| * Fix Mail::Rspamd::Config for new rspamd features | |
| * Use Mail::Rspamd::Config in rspamc client | |
| * Write user's name to rspamd log | |
| * Prepare rspamd build infrastructure for creating rpm and deb packages | |
| * Fix depends | |
| * Add start script for linux systems | |
| * Fix shared usage of statfiles | |
| * Add invalidation of statfiles in case of learning, so now statfiles | |
| * This should fix shared usage of statfile pool by several processes | |
| * Fix misprint (reported by az) | |
| * Fix stupid error when all checks can be done in a single pass | |
| * New trie based url scanner (based on libcamel) | |
| * Small fixes to rspamd perl client | |
| * Write fuzzy hashes info to log | |
| * Add trie interface to lua api | |
| * Explain sample config and cleanup it | |
| 0.3.1: | |
| * Add modules documentation | |
| * Continue implementing smtp proxy | |
| * Implement new learning system, now rspamd should be much more intelligent while learning messages | |
| * Convert statistic sums to use long double for counters | |
| * Use hyperbolic tangent for internal normalizer | |
| * In classify normalize result after comparing, not before | |
| * New symbols sorter | |
| * Fix strict aliasing while compiling with optimization | |
| * Fix tanhl detection for platforms that have not implementation of it | |
| * Remove several compile warnings | |
| * Add experimental support of dynamic rules to regexp module | |
| * Document views configuration | |
| * Several fixes to documentation | |
| * Add more logic for dynamic rules | |
| * Add documentation for dynamic rules | |
| * Add ability to make negations in networks in dynamic rules | |
| * Clean up cache items correctly | |
| * Implement basic SMTP dialog: | |
| * Implement interaction with smtp upstream (with support of XCLIENT) | |
| * Check messages received via smtp proxy | |
| * Add support for sendfile in io dispatcher | |
| * Fix issues with compatibility of worker_task and smtp proxy | |
| * Proxy DATA command | |
| * Fix SMTP | |
| * Change metric logic | |
| * Completely remove lex/yacc readers for config | |
| * Make common sense of metric/action and symbols | |
| * Sync changes with all plugins | |
| * Incorrectly removed in previous commit | |
| * Fix misprint (by Andrej Zverev) | |
| * announce the "password" keyword in usage list | |
| * Implement initial version of greylisting triplets storage | |
| * Fix issues with smtp worker | |
| * Fix QUIT command in SMTP worker | |
| * Some fixes about new metrics system (may be incomplete) | |
| * Get weights of symbol from default metric for symbols cache | |
| * Fix setting task->from/task->rctp in smtp client | |
| * Copy from and rcpt correctly | |
| * Some performance improvements to IO dispatcher (do not drain the whole buffer after a single line readed) | |
| * Fix smtp data input | |
| * Fix misprint | |
| * Add limit of maximum allowed smtp session errors | |
| * New logic of SURBL module: | |
| * Use system mkstemp(3) on systems where it is available as glib implementation | |
| * Try to fix memmove issues in io dispatcher | |
| * Remove debug from SURBL module | |
| * Rewrite buffered input for line policy (again) | |
| * Fix issue with links that are ip addresses in numeric form in surbl | |
| * On Darwin use BSD style sendfile definition | |
| * Reorganize platform specific knobs in CMakeLists | |
| * Use gettimeofday on systems that have not clock_getres | |
| * Use ftime for dns trans id generation on systems without clock_getres | |
| * Darwin sendfile(2) support | |
| * TIMEDB->TIMEB | |
| * More to previous commit | |
| * Pass env from main() arguments instead of platform specific global environ | |
| * Fix compatibility issues | |
| * Fix -lintl detection | |
| * Init some variables to avoid problems | |
| * Remove garbadge (gnome terminal sucks) | |
| * Add more information about why we drop smtp connection | |
| * Fix mkstemp call | |
| * Send to upstream QUIT command at the end of session | |
| * Check return value of each rspamd_dispatcher_write as in case of write errors sessions can be destroyed early | |
| * Fix states in smtp dialog | |
| * Use rspamd_snprintf instead of libc one | |
| * Fix URLS command | |
| * Fix reconfigure process of surbl module | |
| * Fix destroying smtp session (unmap memory and do not delete pool early) | |
| * Delete pool after using its variables | |
| * Delay timer must be registered in async session to correctly handle connection termination | |
| * Register dns requests in session too | |
| * Make session before registering events | |
| * Remove events in handlers | |
| * Add ability to set filters for smtp worker for each smtp stage | |
| * Add very initial version of DNS resolver (many things to be done) | |
| * Announce weights and sync | |
| * Fix few typo | |
| * Understand short names of facility in logging config | |
| * Add ability to make whitelist for spf checks | |
| * Misprint != -> == | |
| * Handle lua tag in way that it is not required to write additional text: | |
| * Strip all starting whitespace symbols from xml texts | |
| * Fix stupid bug in calculating buffer length while reading file maps | |
| * Add resolv.conf parsing into dns.c | |
| * Fix microseconds<->milliseconds conversions | |
| * Take callback argument in Mail::Rspamd::Client for processing files and directories | |
| * Print results if rspamc is called for a directory | |
| * Fix stupid error with surbl module reconfig (another one, blame me) | |
| * Do not show duplicate urls in url header | |
| * Fix detection of numeric urls (reported by citrin) | |
| * Write real time of message's scan to log (not only virtual) | |
| * Fix chartable module in utf mode | |
| * Fix parsing of some broken urls | |
| * Add ability to test regexp with 'T' flag | |
| * Write more code for DNS resolver: | |
| * Make DNS resolver working | |
| * Many improvements to rspamd test suite: now it CAN be used for testing rspamd functionality | |
| * Write DNS resolver tests | |
| * Fix issues with memory_pool mutexes and with creating of statfiles | |
| * Forgotten in previous commit | |
| * Add support for parsing SPF and SRV records | |
| * Fix PTR parsing | |
| * Add tests | |
| * Make SURBL module to use rspamd dns module | |
| * Several fixes to DNS logic | |
| * Remove evdns and use only rspamd resolver | |
| * Very hard to detect problem with race among error in socket and destroying task while we are writing to socket and go through a hash table | |
| * Fix resolving in smtp module | |
| * Init events before configuring resolver in smtp worker | |
| * Set resolver inside task | |
| * Fix reload signal (reported by citrin) | |
| * Some improvements to redirector | |
| * Call has_forked method to inform POE about fork | |
| * Fix lua DNS code | |
| * Decompress labels in DNS packets more strictly | |
| * Fix some problems with TXT records | |
| * Try to fix removing of DNS events | |
| * Do not insert unparsed RR's into reply | |
| * Calling callbacks may cause destroying session from which we are calling callback so we MUST call callback as the latest action | |
| * Fix check_smtp_data function | |
| * Add ability to make views by recipient | |
| * Add ability to set metric's action from config file | |
| * Fix bug with writing garbadge if message has no urls or no messages | |
| * Fix bug with incorrect behaviour of compare_parts_distance function | |
| * Add ability to assign several actions to one metric | |
| * Report action in rspamc protocol | |
| * Mail::Rspamd::Client and rspamc can now understand Action header too | |
| * Write action to log as well | |
| * Make valgrind happy about comparing symbols | |
| * Add more debug to comparing parts distance function | |
| * Write action even if message has no symbols | |
| * Make improvements to HTML entities decoder: now it replaces entities with common characters and | |
| * Add -d option to force debug output | |
| * Assume 7bit as default transfer encoding | |
| * Do not overwrite lua plugins and configs if they already exists in target directory | |
| * Improve logging | |
| * Write queue id to log | |
| * Remove test messages from cmake | |
| * Reopen log file by USR1 signal | |
| * Add reopenlog method to FreeBSD rc script | |
| * Adopt foreach for cmake 2.6 | |
| * Fix to rc script | |
| * Do not try to resolve names with several dots in a row | |
| * Fix surbl request formatting for ip addresses | |
| * Handle cases of broken requests | |
| * Fix problems with parsing compressed names | |
| * Fix TXT records parsing | |
| * Fix expanding spf macros that may fail in rare cases | |
| * Fix another error with early task destroying | |
| * Handle empty from header | |
| * Improve reopenlog command in rc script | |
| * Strip trailing whitespace characters in Mail::Rspamd::Client | |
| * Use ungreedy match to strip trailing whitespaces | |
| * Stupid error in calculation compressed label length | |
| * Some optimizations to client library | |
| * Do not compare empty parts | |
| * Empty and non-empty parts are always different | |
| * Save in regexp cache the whole regexp with header name (if exists) and with flags | |
| * Add rspamd_log variable to lua plugins to access logging functions | |
| * Each part in rspamd task now can have parent part | |
| * Check for parts distance only for multipart/alternative subparts | |
| * Do not check attachements even if they are text (but attached as file) | |
| * Do not die if write (2) returned ENOSPACE while doing logging, turn on throttling mode instead (1 write try in a second) | |
| * Add ability to turn on debug for specific symbols | |
| * Add ability to configure dns timeouts and dns retransmits in config file | |
| * More debug | |
| * Fix extracting arguments in lua logger interface | |
| * Turn off debug_ip during reload if it was disabled by new config | |
| * Improve lua logging | |
| * Pre-init symbols cache when rereading config | |
| * Fix lua representing of invalid ip (nil, not 255.255.255.255) | |
| * Fix R_TO_SEEMS_AUTO rule (by citrin) | |
| * Add multimap lua plugin | |
| * Fix some multimap issues | |
| * Try to save images hashes to fuzzy storage to stop some annoying spammers | |
| * Allocate some more bytes for read buffer to avoid incorrect behavoiur | |
| * Add ability to check dns black lists by multimap module | |
| * Add multimap documentation | |
| * Fix labels parsing | |
| * Another try to save regexps in cache correctly | |
| * Improve test logs for regexps | |
| * Fix parsing txt records to avoid reading of uninitialized data | |
| * Fix error with writing symbols cache file | |
| * Fix error while working in utf mode when raw regexps was not created properly | |
| * Do not add extra byte while converting text to utf | |
| * Add error handling for regexps |