Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rspamd for openSUSE:Factory checked in at 2026-03-31 15:22:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rspamd (Old) and /work/SRC/openSUSE:Factory/.rspamd.new.1999 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rspamd" Tue Mar 31 15:22:27 2026 rev:45 rq:1343711 version:4.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rspamd/rspamd.changes 2025-12-18 18:37:58.730063830 +0100 +++ /work/SRC/openSUSE:Factory/.rspamd.new.1999/rspamd.changes 2026-03-31 15:23:12.138602610 +0200 @@ -1,0 +2,112 @@ +Mon Mar 30 13:04:02 UTC 2026 - Marcus Rueckert <[email protected]> + +- Update to 4.0.0 + Upgrade Notes + Action required for per-user Bayes with Redis sharding: Jump Hash + has been replaced with Ring Hash (Ketama). Run rspamadm + statistics_dump migrate after upgrading or accept temporary + accuracy loss as data is re-learned. Single Redis server setups + are not affected. + + Other breaking changes + - Content URLs included by default — URLs from PDF and other + computed parts are now returned by task:get_urls(). Set + include_content_urls = false in local.d/options.inc to restore + old behavior. + - SSL auto-detection — ssl = true worker option removed; SSL is + now auto-detected from bind socket flags. + - libfasttext removed — Replaced with built-in mmap-based shim. + ENABLE_FASTTEXT cmake option no longer exists. Existing models + still work with massive memory savings. + - SenderScore RBLs disabled — Requires MyValidity account + registration; was non-functional without it. + - Suspicious TLDs now map-based — Hardcoded list replaced with + conf/maps.d/suspicious_tlds.inc, customizable via local.d/. + - Neural autolearn options renamed — Now match RBL module naming + conventions. + - Token bucket load balancing — Enabled by default for proxy + upstreams, replacing simple round-robin. + - DKIM RFC conformance — Unknown and broken DKIM keys now handled + per RFC. + Key Features + - /checkv3 Multipart Protocol New /checkv3 endpoint using + multipart/form-data requests and multipart/mixed responses. + Metadata sent as structured JSON/msgpack instead of HTTP + headers. Per-part zstd compression, zero-copy writev responses, + and proxy support. Client-side: rspamc --protocol-v3 / rspamc + --msgpack. + - Pluggable Async Hyperscan Cache Hyperscan compilation and + caching moved to an async Lua backend with Redis storage + support. Shared hyperscan databases across workers and hosts. + Self-healing cache auto-detects stale blobs and triggers + recompile. Small databases compiled in-memory without file + caching. + - Multi-Flag Fuzzy Hashes Single fuzzy hash can carry up to 8 + flags simultaneously (epoch 12). Multiple rules match the same + digest with independent flag/value pairs. Redis update path + rewritten in Lua with EVALSHA + NOSCRIPT recovery. Fully + backward-compatible. + - HTML Fuzzy Phishing Detection Dual-mode fuzzy: template + matching + domain-sensitive matching. New FUZZY_HTML_PHISHING + symbol fires when an HTML template matches but link domains + differ — detecting reused phishing templates with swapped + links. + - HTTPS Server Support Workers can now serve HTTPS natively, + enabling secure WebUI and API without a reverse proxy. SSL + auto-detected from bind socket configuration. + - Built-in Fasttext Shim External C++ library replaced with + zero-dependency mmap-based reader. Shared memory across workers + (MAP_SHARED) eliminates per-worker heap copies (~500MB-7GB + savings). Hot-reloadable via maps infrastructure. + - UUID v7 Per Task Native UUID v7 generation per task, synced + with Log-Tag header. New ClickHouse UUID v7 column support for + correlation across systems. + - Neural / LLM Embeddings External pretrained neural model + support. Multi-layer funnel architecture with language-based + model/URL selection. Multi-model fasttext embedding with SIF + word weighting. Expression-based autolearn for LLM providers. + - Multi-Class Bayes Classifiers support arbitrary classes beyond + binary spam/ham. WebUI learning UI, /stat and + /bayes/classifiers endpoints updated. Shard migration tool for + the Jump Hash to Ring Hash transition. + - Legacy Protocol Enhancements Milter add/remove headers and + extended symbol info now exposed in RSPAMC/SPAMC text protocol. + Enables Exim and other legacy clients to access milter headers. + Other Notable Features + - Token bucket load balancing for proxy upstreams with + configurable burst parameters + - Ring Hash (Ketama) consistent hashing with true minimal + disruption and recovery + - Structured metadata exporter with zstd compression and detected + MIME types + - ARC trusted_authserv_id for reusing upstream + Authentication-Results headers + - Reply-To validity checks in headers_checks + - Fuzzy hashes in Redis history for matched hash tracking + - HTTP content negotiation framework with zstd compression for + /stat endpoint + - Attachment filename sub-tokens for improved Bayes classifier + accuracy + - GPT module — configurable consensus thresholds and + context_augment hook + - New rspamadm subcommands — autolearnstats, logstats, mapstats + - ASCII85 decode and PDF object padding evasion fixes for PDF + extraction + Critical Fixes + - Stop ev_io watcher in fuzzy UDP session destroy + (use-after-free) + - Fix CPU busy-loop in fuzzy TCP client + - RHEL/CentOS 10+ SHA-1 DKIM crypto-policy bypass + - DKIM RSA signing memory leak fix + - Self-healing hyperscan cache for stale blobs + - Multiple use-after-free fixes on config reload (regexp maps, + multipatterns) + - PCRE2 complexity checks before JIT compilation + - Rework alternative parts detection (R_PARTS_DIFFER) + - SPF address family flag inheritance fix + - Ratelimit compatibility with old records + - Default map URL path to "/" when no path component (crash fix) + + https://docs.rspamd.com/changelog/4.0.0 + +------------------------------------------------------------------- Old: ---- rspamd-3.14.2.tar.gz New: ---- rspamd-4.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rspamd.spec ++++++ --- /var/tmp/diff_new_pack.vMTC89/_old 2026-03-31 15:23:14.874716593 +0200 +++ /var/tmp/diff_new_pack.vMTC89/_new 2026-03-31 15:23:14.910718093 +0200 @@ -1,7 +1,7 @@ # # spec file for package rspamd # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -48,6 +48,7 @@ %if 0%{?suse_version} >= 1500 && ! 0%{?sle_version} %bcond_without ext_hiredis + %bcond_without jemalloc %endif %if 0%{?suse_version} >= 1500 @@ -67,7 +68,7 @@ %endif Name: rspamd -Version: 3.14.2 +Version: 4.0.0 Release: 0 Summary: Spam filtering system License: Apache-2.0 @@ -77,6 +78,7 @@ Source1: usr.bin.rspamd Patch0: rspamd-conf.patch Patch1: rspamd-after-redis-target.patch +Provides: bundled(fmt) = 11.0.0 %if !0%{?is_opensuse} # because 80-check-malware-scan-clamav triggered in SLE-15-SP2 BuildRequires: -post-build-checks-malwarescan @@ -86,7 +88,6 @@ BuildRequires: db-devel BuildRequires: file-devel BuildRequires: gcc%{?force_gcc_version}-c++ -BuildRequires: gd-devel %if %{with hyperscan} BuildRequires: pkgconfig(libhs) %endif @@ -107,17 +108,6 @@ %endif BuildRequires: pcre2-devel BuildRequires: pkgconfig -%if %{with system_fmt} -BuildRequires: pkgconfig(fmt) -%global with_system_fmt 1 -%if !%{pkg_vcmp fmt-devel > 11} -Provides: bundled(fmt) = 11.0.0 -%global with_system_fmt 0 -%endif -%else -Provides: bundled(fmt) = 11.0.0 -%global with_system_fmt 0 -%endif BuildRequires: pkgconfig(glib-2.0) >= 2.28 %if %{with ext_hiredis} BuildRequires: pkgconfig(hiredis) @@ -136,7 +126,6 @@ %{?systemd_ordering} %endif BuildRequires: lapack-devel -BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libxxhash) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(openblas) @@ -225,7 +214,6 @@ -DDBDIR=%{_localstatedir}/lib/rspamd \ -DRUNDIR=%{_localstatedir}/run/rspamd \ -DLOGDIR=%{_localstatedir}/log/rspamd \ - -DEXAMPLESDIR=%{_datadir}/examples/rspamd \ -DPLUGINSDIR=%{_datadir}/rspamd/plugins \ -DLIBDIR=%{_libdir}/rspamd \ -DINCLUDEDIR=%{_includedir} \ @@ -233,8 +221,6 @@ %if 0%{suse_version} > 1315 -DENABLE_OPTIMIZATION=ON \ %endif - -DENABLE_REDIRECTOR=ON \ - -DENABLE_LIBUNWIND:BOOL=ON \ -DENABLE_BLAS:BOOL=ON \ -DSYSTEM_XXHASH:BOOL=ON \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ @@ -244,9 +230,6 @@ %else -DENABLE_LUAJIT=OFF \ %endif - -DENABLE_DB=ON \ - -DENABLE_SQLITE=ON \ - -DENABLE_HIREDIS=ON \ -DENABLE_URL_INCLUDE=ON \ -DNO_SHARED=ON \ -DINSTALL_EXAMPLES=ON \ @@ -260,7 +243,6 @@ %if %{with hyperscan} -DENABLE_HYPERSCAN=ON \ %endif - -DENABLE_GD=ON \ -DENABLE_FANN=ON \ %if %{with utils} -DENABLE_UTILS=ON \ @@ -269,16 +251,9 @@ %if %{with jemalloc} -DENABLE_JEMALLOC=ON \ %endif - %if 0%{?with_system_fmt} - -DSYSTEM_FMT=ON \ - %else - -DSYSTEM_FMT=OFF \ - %endif -DSYSTEM_ZSTD=ON \ - -DDEBIAN_BUILD=1 \ - -DRSPAMD_GROUP=%{rspamd_group} \ -DRSPAMD_USER=%{rspamd_user} -make %{?_smp_mflags} +%cmake_build %install %cmake_install @@ -365,6 +340,7 @@ %{_bindir}/rspamd %{_bindir}/rspamd-%{version} %{_bindir}/rspamd_stats +%{_bindir}/mapstats %{_libdir}/librspamd-actrie.so %{_libdir}/librspamd-server.so %{_libdir}/librspamd-ev.so @@ -395,6 +371,10 @@ %config %{_sysconfdir}/rspamd/worker-normal.inc %config %{_sysconfdir}/rspamd/worker-proxy.inc %config %{_sysconfdir}/rspamd/lang_detection.inc +%if %{with hyperscan} +%config %{_sysconfdir}/rspamd/worker-hs_helper.conf +%config %{_sysconfdir}/rspamd/worker-hs_helper.inc +%endif %dir %{_sysconfdir}/rspamd/local.d %config(noreplace) %{_sysconfdir}/rspamd/local.d/worker-controller.inc @@ -431,6 +411,7 @@ %config(noreplace) %{_sysconfdir}/rspamd/maps.d/redirectors.inc %config(noreplace) %{_sysconfdir}/rspamd/maps.d/spf_dkim_whitelist.inc %config(noreplace) %{_sysconfdir}/rspamd/maps.d/surbl-whitelist.inc +%config(noreplace) %{_sysconfdir}/rspamd/maps.d/suspicious_tlds.inc %dir %{_sysconfdir}/rspamd/modules.d %config(noreplace) %{_sysconfdir}/rspamd/modules.d/antivirus.conf @@ -467,6 +448,7 @@ %config(noreplace) %{_sysconfdir}/rspamd/modules.d/multimap.conf %config(noreplace) %{_sysconfdir}/rspamd/modules.d/mx_check.conf %config(noreplace) %{_sysconfdir}/rspamd/modules.d/neural.conf +%config(noreplace) %{_sysconfdir}/rspamd/modules.d/neural_autolearn.conf %config(noreplace) %{_sysconfdir}/rspamd/modules.d/once_received.conf %config(noreplace) %{_sysconfdir}/rspamd/modules.d/p0f.conf %config(noreplace) %{_sysconfdir}/rspamd/modules.d/phishing.conf @@ -558,6 +540,11 @@ %{_datadir}/rspamd/plugins/url_suspect.lua %dir %{_datadir}/rspamd/lualib +%{_datadir}/rspamd/lualib/lua_fuzzy_redis.lua +%{_datadir}/rspamd/lualib/lua_hs_cache.lua +%{_datadir}/rspamd/lualib/lua_log_utils.lua +%{_datadir}/rspamd/lualib/lua_neural_external.lua +%{_datadir}/rspamd/lualib/lua_neural_learn.lua %{_datadir}/rspamd/lualib/ansicolors.lua %{_datadir}/rspamd/lualib/argparse.lua %{_datadir}/rspamd/lualib/fun.lua @@ -677,6 +664,10 @@ %{_datadir}/rspamd/lualib/rspamadm/secretbox.lua %{_datadir}/rspamd/lualib/rspamadm/ratelimit.lua %{_datadir}/rspamd/lualib/rspamadm/confighelp_plugins.lua +%{_datadir}/rspamd/lualib/rspamadm/autolearnstats.lua +%{_datadir}/rspamd/lualib/rspamadm/logstats.lua +%{_datadir}/rspamd/lualib/rspamadm/mapstats.lua +%{_datadir}/rspamd/lualib/rspamadm/neural_export.lua %dir %{_datadir}/rspamd/lualib/plugins %{_datadir}/rspamd/lualib/plugins/dmarc.lua @@ -698,6 +689,7 @@ %{_datadir}/rspamd/lualib/redis_scripts/bayes_classify.lua %{_datadir}/rspamd/lualib/redis_scripts/bayes_learn.lua %{_datadir}/rspamd/lualib/redis_scripts/bayes_stat.lua +%{_datadir}/rspamd/lualib/redis_scripts/fuzzy_update.lua %dir %{_datadir}/rspamd/rules %{_datadir}/rspamd/rules/archives.lua @@ -734,6 +726,7 @@ %dir %{_wwwdir}/%{name} %{_wwwdir}/%{name}/apple-touch-icon.png %{_wwwdir}/%{name}/browserconfig.xml +%{_wwwdir}/%{name}/ARCHITECTURE.md %{_wwwdir}/%{name}/README.md %{_wwwdir}/%{name}/favicon.ico %{_wwwdir}/%{name}/favicon-16x16.png ++++++ rspamd-3.14.2.tar.gz -> rspamd-4.0.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/rspamd/rspamd-3.14.2.tar.gz /work/SRC/openSUSE:Factory/.rspamd.new.1999/rspamd-4.0.0.tar.gz differ: char 13, line 1
