19 Commits

Author SHA256 Message Date
7e4467ec06 Accepting request 1323533 from server:mail
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1323533
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=44
2025-12-18 17:37:31 +00:00
5e3dfaab01 - Update to 3.14.2
🔥 Key Features
    📤 Metadata Exporter Enhancements
    - New formatters: multipart, msgpack, and json_with_message
    - Binary message support and efficient multipart uploads
    - Deprecated old meta_headers option in favor of new formatters
    🛡️ DMARC RUA Validation
    - New rspamadm dmarc_report --recheck-rua flag
    - Re-validate cached report addresses against exclusion maps
    - Useful for validating domains against RBLs before sending
      reports
    ✉️ Milter Headers Control
    - Selective Authentication-Results removal with remove_ar_from
    - Target specific domains for header cleanup
    📚 Documentation
    - Added comprehensive Python/aiohttp example for handling
      multipart metadata exports
  https://rspamd.com/doc/changelog.html

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=157
2025-12-11 14:56:16 +00:00
a087a62194 Accepting request 1318471 from server:mail
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1318471
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=43
2025-11-19 13:54:58 +00:00
786351e56c - Update to 3.14.0
OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=155
2025-11-11 14:47:11 +00:00
d154bba8ee Accepting request 1316425 from server:mail
- We finally have natively built packages with for luajit-lpeg in
  Tumbleweed, we no longer need to mix with lua51 packages there
  anymore. For older distros we still need it. Guard handling for
  those distros with bcond mixed_luajit_lua and keep the version
  comparison there. Also prepare so we can handle luajit2 if
  needed.

OBS-URL: https://build.opensuse.org/request/show/1316425
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=42
2025-11-07 17:23:27 +00:00
c9fb8235d4 - We finally have natively built packages with for luajit-lpeg in
Tumbleweed, we no longer need to mix with lua51 packages there
  anymore. For older distros we still need it. Guard handling for
  those distros with bcond mixed_luajit_lua and keep the version
  comparison there. Also prepare so we can handle luajit2 if
  needed.

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=153
2025-11-07 12:44:46 +00:00
74570dd796 Accepting request 1313617 from server:mail
Forwarded request #1312215 from mia

- Split AppArmor profile into subpackage
  To avoid unnecessarily pulling in AppArmor packages
- Reload AppArmor profile post-install

OBS-URL: https://build.opensuse.org/request/show/1313617
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=41
2025-10-27 13:39:33 +00:00
6165451629 - Split AppArmor profile into subpackage
To avoid unnecessarily pulling in AppArmor packages
- Reload AppArmor profile post-install

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=151
2025-10-24 20:30:21 +00:00
9a17de46ac Accepting request 1312890 from server:mail
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1312890
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=40
2025-10-22 10:16:48 +00:00
d48065177a - Update to 3.13.2
- [Feature] Add user/domain context support for LLM-based
    classification by @vstakhov in #5647
  - Implement Metadefender hash lookup module by @vstakhov in #5656
  - Add vault kv version 2 support by @vstakhov in #5654
  - Fix duplicate symbol in once_received plugin by @vstakhov in
    #5658
  - [Fix] Enforce server-controlled HTTP map refresh intervals by
    @vstakhov in #5660
  - [Fix] Propagate unused Redis Sentinel options by @fatalbanana
    in #5597
  - Fix rspamd dkim key loading for ed25519 by @vstakhov in #5664
  - Fix dkim relaxed bodyhash calculation for spaces by @vstakhov
    in #5662
  - Feat: Added rua address exclusion in dmarc.lua by @croessner in
    #5653
  - [Feature] Add separate encryption keys for read/write
    operations in fuzzy_check by @vstakhov in #5665

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=149
2025-10-14 19:53:11 +00:00
b85365f64b Accepting request 1308158 from server:mail
- Update to 3.13.1

OBS-URL: https://build.opensuse.org/request/show/1308158
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=39
2025-09-30 15:43:07 +00:00
47df4614cb - Update to 3.13.1
OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=147
2025-09-30 10:43:16 +00:00
c30bbfc41e - Fix build on aarch64 by enabling hyperscan support
OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=146
2025-09-26 08:10:39 +00:00
ce3afcbee7 Accepting request 1306890 from server:mail
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1306890
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=38
2025-09-24 13:25:24 +00:00
fe4c497ff4 - Update to 3.13.0
OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=144
2025-09-17 09:31:55 +00:00
005a8eeb64 Accepting request 1286320 from server:mail
- Update to 3.12.1
  - Remove aweber.com from spf_dkim_whitelist.inc by @TaaviE in
    #5500
  - [Fix] Fix several issues with the lua_logger by @vstakhov in
    #5503
  - [Test] Detect libicu idna behaviour and select the appropriate
    tests by @vstakhov in #5506
  - [Fix] Fix proxy headers duplication by @vstakhov in #5507
  - [Minor] Treat *.library-ms and *.search-ms attachments as
    harmful by @twesterhever in #5509
  - Revert "[Minor] Treat *.library-ms and *.search-ms attachments
    as harmful" by @vstakhov in #5511
  - [Fix] Another fix for maps concurrent load by @vstakhov in
    #5512
  - [Feature] Add /bayes/classifiers HTTP endpoint by @moisseev in
    #5517

OBS-URL: https://build.opensuse.org/request/show/1286320
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=37
2025-06-17 16:23:47 +00:00
7173569d18 - Update to 3.12.1
- Remove aweber.com from spf_dkim_whitelist.inc by @TaaviE in
    #5500
  - [Fix] Fix several issues with the lua_logger by @vstakhov in
    #5503
  - [Test] Detect libicu idna behaviour and select the appropriate
    tests by @vstakhov in #5506
  - [Fix] Fix proxy headers duplication by @vstakhov in #5507
  - [Minor] Treat *.library-ms and *.search-ms attachments as
    harmful by @twesterhever in #5509
  - Revert "[Minor] Treat *.library-ms and *.search-ms attachments
    as harmful" by @vstakhov in #5511
  - [Fix] Another fix for maps concurrent load by @vstakhov in
    #5512
  - [Feature] Add /bayes/classifiers HTTP endpoint by @moisseev in
    #5517

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=142
2025-06-17 09:49:50 +00:00
48f4012dc9 Accepting request 1285091 from server:mail
- as it currently always uses the bundled fmt, disable the requires

- Update to 3.12.0

OBS-URL: https://build.opensuse.org/request/show/1285091
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rspamd?expand=0&rev=36
2025-06-12 13:54:22 +00:00
0a3e34a11f - as it currently always uses the bundled fmt, disable the requires
- Update to 3.12.0

OBS-URL: https://build.opensuse.org/package/show/server:mail/rspamd?expand=0&rev=140
2025-06-11 21:38:51 +00:00
5 changed files with 409 additions and 28 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09c3b90397142539052c826763de4ed8c502976843b5ea9d7ebdc603e23d253b
size 6455199

3
rspamd-3.14.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8402b639b2480b793795907d53609f375fd19b99501f777ff49f2e410edfb5b
size 6781078

View File

@@ -1,9 +1,9 @@
Index: rspamd-3.7.5/conf/rspamd.conf
Index: rspamd-3.13.0/conf/rspamd.conf
===================================================================
--- rspamd-3.7.5.orig/conf/rspamd.conf
+++ rspamd-3.7.5/conf/rspamd.conf
@@ -34,7 +34,8 @@ lang_detection {
.include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/cgp.inc"
--- rspamd-3.13.0.orig/conf/rspamd.conf
+++ rspamd-3.13.0/conf/rspamd.conf
@@ -31,7 +31,8 @@ lang_detection {
}
logging {
- type = "file";

View File

@@ -1,3 +1,334 @@
-------------------------------------------------------------------
Thu Dec 11 14:43:00 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.14.2
🔥 Key Features
📤 Metadata Exporter Enhancements
- New formatters: multipart, msgpack, and json_with_message
- Binary message support and efficient multipart uploads
- Deprecated old meta_headers option in favor of new formatters
🛡️ DMARC RUA Validation
- New rspamadm dmarc_report --recheck-rua flag
- Re-validate cached report addresses against exclusion maps
- Useful for validating domains against RBLs before sending
reports
✉️ Milter Headers Control
- Selective Authentication-Results removal with remove_ar_from
- Target specific domains for header cleanup
📚 Documentation
- Added comprehensive Python/aiohttp example for handling
multipart metadata exports
https://rspamd.com/doc/changelog.html
-------------------------------------------------------------------
Tue Nov 11 14:32:00 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.14.0
- 🔥 Major Features
- 🎯 HTML Fuzzy Hashing
- Structural similarity detection for HTML content (#5661,
#5720)
- Per-rule text_hashes toggle for HTML-only matching
- 🌐 TCP Fuzzy Protocol
- Full TCP support with auto-switch from UDP (#5669)
- Production-ready connection management and framing
- 🔗 Advanced URL Processing
- New task:get_cta_urls() API for CTA detection (#5732)
- DoS protection: hash-based deduplication with 50k URL limit
- HTML URL rewriting infrastructure (#5676)
- 🤖 AI & WebUI
- Web search context for LLM plugin with Redis caching
(#5732)
- Dark mode with auto-detection (#5725)
- 📧 Email & Integration
- Advanced aliases with loop detection (#5655)
- Milter ESMTP argument parsing with Lua API (#5663)
- Postfix wizard for automated integration (#5667)
- 🐛 Critical Fixes
- 🌐 DNS Stability
- Fixed UDP→TCP packet truncation on retransmits (#5739)
- Fixed transaction ID collision and nameserver round-robin
(#5721, #5739)
- 🔒 Memory & Stability
- Fixed allocator crashes (jemalloc/malloc mixing) (#5721,
#5724)
- Fixed memory leaks in fuzzy storage, OpenSSL, UCL (#5709)
- Hyperscan runtime version check prevents cache corruption
(#5724)
- 📊 DMARC & Protocol
- Fixed Redis connection exhaustion with batching + GC
(#5737)
- ARC RFC 8617 compliance + ed25519 support (#5684)
- Composites two-phase evaluation (#5681)
- 🐧 BSD & Security
- Fixed FreeBSD/NetBSD/OpenBSD builds (#5726, #5729)
- Fuzzy TCP race conditions and buffer overflows (#5669)
- ⚡ Performance
- khash migration for better fuzzy_check performance (#5720)
- Intrusive heap implementation (#5693)
- Configurable Bayes guards (#5701)
https://github.com/rspamd/rspamd/blob/3.14.0/ChangeLog
-------------------------------------------------------------------
Fri Nov 7 12:30:31 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- We finally have natively built packages with for luajit-lpeg in
Tumbleweed, we no longer need to mix with lua51 packages there
anymore. For older distros we still need it. Guard handling for
those distros with bcond mixed_luajit_lua and keep the version
comparison there. Also prepare so we can handle luajit2 if
needed.
-------------------------------------------------------------------
Sun Oct 19 11:50:25 UTC 2025 - Mia Herkt <mia@0x0.st>
- Split AppArmor profile into subpackage
To avoid unnecessarily pulling in AppArmor packages
- Reload AppArmor profile post-install
-------------------------------------------------------------------
Tue Oct 14 19:48:31 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.13.2
- [Feature] Add user/domain context support for LLM-based
classification by @vstakhov in #5647
- Implement Metadefender hash lookup module by @vstakhov in #5656
- Add vault kv version 2 support by @vstakhov in #5654
- Fix duplicate symbol in once_received plugin by @vstakhov in
#5658
- [Fix] Enforce server-controlled HTTP map refresh intervals by
@vstakhov in #5660
- [Fix] Propagate unused Redis Sentinel options by @fatalbanana
in #5597
- Fix rspamd dkim key loading for ed25519 by @vstakhov in #5664
- Fix dkim relaxed bodyhash calculation for spaces by @vstakhov
in #5662
- Feat: Added rua address exclusion in dmarc.lua by @croessner in
#5653
- [Feature] Add separate encryption keys for read/write
operations in fuzzy_check by @vstakhov in #5665
-------------------------------------------------------------------
Tue Sep 30 10:36:54 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.13.1
- Added
- Archive module: Full support for encrypted ZIP archives,
including both ZipCrypto and AES encryption; both reading and
writing of AES-encrypted ZIP archives is supported with
updated Lua bindings using libarchive for flexible
compatibility with all standard ZIP encryption schemes
- Encrypted maps: Support for encrypted maps to enable new map
distribution scenarios
- Redis TLS: Configurable TLS connections in Redis backend for
improved compatibility in secure environments
- Improved
- MIME encoding refactoring: Major overhauls and multiple fixes
for MIME encoding logic, including improved handling and
decoding of UTF-8 in MIME headers, resulting in more robust
email processing and better compatibility
- Learning system: Numerous fixes to learn checks and autolearn
flag handling, prevention of duplicate message learning, and
extended multiclass learning test coverage
- Map helpers alignment: Map helpers now enforced to be aligned
to 64 bytes to prevent unaligned memory access errors on
certain platforms
- CLI enhancements: Enhanced secretbox CLI and additional
security test coverage
- Platform compatibility: Improved compatibility with Lua
versions above 5.1 and better support for 32-bit platforms
- Fixed
- Critical fixes: Fixed bug when converting zero-length strings
to numbers
- XML parsing: Fixed XML prolog detection in lua_magic module
- Build issues: Fixed build issues on 32-bit platforms
- Empty input handling: Addressed issues with empty input
handling in lua_magic
- Test stability: Improved stability of automated testing with
multiple miscellaneous test fixes
- Compatibility: Minor compatibility improvements and bugfixes
(buffer allocation, missing cmath include, etc.)
This release introduces archive module extensibility with full
encrypted archive support including AES, new map distribution
capabilities, secure integration options with Redis TLS, robust
email and message processing improvements, and bugfixes for
broader platform compatibility. This is recommended as a major
stability and feature update.
-------------------------------------------------------------------
Fri Sep 26 08:00:07 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix build on aarch64 by enabling hyperscan support
-------------------------------------------------------------------
Wed Sep 17 09:22:04 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.13.0
- 1. Multiclass Bayes Classification ([#5547](#5547))
- Bayesian classifiers now support multi-class
differentiation—labels like spam, ham, transactional,
newsletters, phishing, and more (2-20 classes supported).
- Efficient: all classes for a message handled in a single
Redis call.
- Backward compatible with old config (is_spam); new config
enables named classes and labels.
- Autolearn and Lua API support multiclass workflows.
- Fully class-aware Redis caching.
Examples:
rspamc learn_class:transactional receipt.eml or rspamc
learn_class:newsletter newsletter.eml
- Lua API: task:get_multiclass_result() gives class
probabilities and confidence.
- 2. Neural Module Overhaul ([#5579](#5579))
- Complete rework into a provider-based architecture: combines
symbols, LLM embeddings (OpenAI, etc.), and planned providers
(Bayes/FastText, in the future).
- Pluggable fusion—multiple feature types can be combined for
richer, more accurate classification.
- Trained normalization (unit/zscore/none), used consistently
at training/inference.
- Redis-backed caching for LLM embeddings to control
cost/latency.
- Configurable via providers, versioned for safe upgrades,
fully backwards compatible.
- 3. Multimap Selectors & Regex Enhancements ([#5615](#5615))
- Powerful, SA-style “selector” rules in multimap module for
regex filtering on message fields.
- Dedicated selector field, integrated with Hyperscan and regex
cache.
- Example: selector FROM_CORP from:domain =~ /corp\.example$/i
- 4. MIME & HTML Feature Extraction ([#5619](#5619),
[#5608](#5608))
- MIME parser detects part types automatically.
- HTML parser project extracts more features for downstream
modules.
- 5. HTTP, DNS, Upstream Improvements ([#5614](#5614),
[#5603](#5603), [#5601](#5601))
- Flexible HTTP timeout config and handling.
- Upstream reliability: probe mode, less need for forced
revive.
- DNS nameserver resolution moved to getaddrinfo.
- 6. Modernization & Maintenance ([#5592](#5592), [#5598](#5598),
[#5580](#5580), others)
- Standardized on C++20; builds, test, and CI improvements (ARM
support, modern fallback maps).
- Regular code cleaning, bugfixes, and RPM tweaks.
- 7. WebUI & UX ([#5606](#5606), [#5607](#5607))
- E2E scan test flows in WebUI.
- Bootstrap upgrade, Bayes class management from the web
interface.
- 8. GPT & LLM Integrations ([#5612](#5612), [#5572](#5572))
- Improved handling of GPT model parameters and prompts.
- Initial support for OpenAI GPT-5 and other models.
- refresh patch rspamd-conf.patch
-------------------------------------------------------------------
Tue Jun 17 09:47:07 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.12.1
- Remove aweber.com from spf_dkim_whitelist.inc by @TaaviE in
#5500
- [Fix] Fix several issues with the lua_logger by @vstakhov in
#5503
- [Test] Detect libicu idna behaviour and select the appropriate
tests by @vstakhov in #5506
- [Fix] Fix proxy headers duplication by @vstakhov in #5507
- [Minor] Treat *.library-ms and *.search-ms attachments as
harmful by @twesterhever in #5509
- Revert "[Minor] Treat *.library-ms and *.search-ms attachments
as harmful" by @vstakhov in #5511
- [Fix] Another fix for maps concurrent load by @vstakhov in
#5512
- [Feature] Add /bayes/classifiers HTTP endpoint by @moisseev in
#5517
-------------------------------------------------------------------
Wed Jun 11 21:27:18 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- as it currently always uses the bundled fmt, disable the requires
-------------------------------------------------------------------
Wed Jun 11 21:25:25 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.12.0
- [Fix] Use bundled libfmt everywhere by @vstakhov in #5380
- [Minor] Fix and improve format string processing in
lua_logger_log_format() by @amulet1 in #5378
- [Fix] initialize ollama result table by @JensErat in #5385
- Update AUTHORS.md by @ertyu in #5391
- [Fix] Update default URL for openphish by @fatalbanana in #5389
- Allow CDB external maps by @vstakhov in #5390
- [WebUI] Fix map editor modal handling by @moisseev in #5388
- [Minor] gpt.lua improvements and one fix for reason_header by
@alex081512 in #5387
- [Minor] Lua logging improvements by @amulet1 in #5383
- Fix typo on "destionation" -> "destination" by @williamdes in
#5400
- [Feature] Plugin to integrate with Contextal platform by
@fatalbanana in #5360
- Improve maps status visibility by @vstakhov in #5386
- [WebUI] Update Maps table by @moisseev in #5408
- Add R_HTTP_URL_IN_FROM by @dragoangel in #5406
- [Project] Modernize cmake by @vstakhov in #5412
- [Fix] Greylist: Improve body hash calculations by @vstakhov in
#5417
- [Feature] Allow to specify Redis version by @vstakhov in #5419
- fix(lua_bit) : Prevent lua-bit stack buffer overflow by
@KIMDONGYEON00 in #5422
- [WebUI] Update Bootstrap, D3 and PrismJS libraries by @moisseev
in #5423
- [Minor] contextal: conditionally disable timer, minor changes
by @fatalbanana in #5426
- Add Sieve and cPanel forwarding symbols by @dragoangel in #5407
- [Minor] Use module name when calling set_pre_result by
@fatalbanana in #5434
- Fix writing rules tutorial link by @SuperSandro2000 in #5436
- Correct "file.conf" from dist config files by @SuperSandro2000
in #5444
- [Minor] RPM: fix log directory attributes by @fatalbanana in
#5435
- Allow to use different servers for fuzzy operations by
@vstakhov in #5453
- [WebUI] Add Delete hash button by @moisseev in #5454
- Added exclusion list for reputation by @kevinzb56 in #5443
- Fix librdns maxname limit by @dragoangel in #5455
- [Fix] libmime: doctest 2.4.12 compatibilty by @xandris in #5458
- [WebUI] Add deletion of specific fuzzy hashes by @moisseev in
#5457
- Some improvements to the proxy by @vstakhov in #5456
- Added --non-default Option to rspamadm configdump for Local
Configuration by @kevinzb56 in #5452
- gpt.lua: Remove "thinking" and fix errorlog by @NameWeb in
#5459
- [Minor] Update API docs RE: multiple HTTP headers by
@fatalbanana in #5468
- [Minor] Fix for docs of lua_redis.redis_make_request_taskless
by @left-try in #5470
- [Feature] Magic: Support HEIC files by @vstakhov in #5471
- Add FREEMAIL_REPLYTO_NEQ_FROM rule by @dragoangel in #5413
- Modify documentation for rspamc "-P" parameter by @TwizzyDizzy
in #5473
- fix(lua_redis): Improve Redis script loading by @jendis in
#5464
- [Minor] Fix Debian package build by @fatalbanana in #5475
- [Rework] Replies: consider all recipients and use smtp ones by
@vstakhov in #5428
- [Minor] Print error on multimap invalid type by @japc in #5477
- [Minor] Fix fuzzy lua callback when there are no shingles by
@fatalbanana in #5486
- [WebUI] Add file upload to Test selectors by @moisseev in #5483
- [Minor] Log the token usage for OpenAI (compatible) plain
conversion by @lucasRolff in #5488
- Reputation Plugin: Fix comment to correspond the code above by
@heptalium in #5489
- Fix some issues with libucl by @vstakhov in #5490
- [Minor] Correcting the index number for is_spam by @kevinzb56
in #5495
- Logging improvements by @vstakhov in #5492
- [Fix] Correct logic error in milter_headers.lua: skip_wanted()
by @drclau in #5496
-------------------------------------------------------------------
Sat Mar 8 19:52:57 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package rspamd
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 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
@@ -26,12 +26,19 @@
%bcond_with systemd
%endif
%global lua_abi_version 51
%global luajit_version luajit
%ifarch %{ix86} x86_64
%ifarch %{ix86} x86_64 aarch64
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150500
%bcond_without hyperscan
%endif
%if 0%{?suse_version} > 1600
%global lua_abi_version jit
%bcond_with mixed_luajit_lua
%else
%global lua_abi_version 51
%bcond_without mixed_luajit_lua
%endif
%if 0%{?suse_version} >= 1500
%bcond_without luajit
%else
@@ -56,11 +63,11 @@
%global _wwwdir /srv/www/webapps
%if 0%{?suse_version} && 0%{?suse_version} < 1550
%global force_gcc_version 9
%global force_gcc_version 14
%endif
Name: rspamd
Version: 3.11.1
Version: 3.14.2
Release: 0
Summary: Spam filtering system
License: Apache-2.0
@@ -89,7 +96,7 @@ BuildRequires: jemalloc-devel
BuildRequires: libfann-devel
BuildRequires: libicu-devel
%if %{with luajit}
BuildRequires: luajit-devel
BuildRequires: %{luajit_version}-devel
%else
BuildRequires: lua%{?lua_abi_version}-devel
%endif
@@ -100,9 +107,16 @@ BuildRequires: openblas-devel
%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}
@@ -132,7 +146,8 @@ Requires: rspamd-client = %{version}
Conflicts: rspamd-client
%endif
BuildRequires: apparmor-abstractions
Requires: apparmor-abstractions
BuildRequires: apparmor-rpm-macros
Requires: (%{name}-apparmor if apparmor-abstractions)
Requires(pre): shadow
Provides: group(%{rspamd_group})
Provides: user(%{rspamd_user})
@@ -168,15 +183,26 @@ simultaneously and has a number of features available.
This package holds the client tools (rspamc and rspamadm)
%endif
%package apparmor
Summary: Spam filtering system - AppArmor profile
Requires: %{name} = %{version}
Requires: apparmor-abstractions
BuildArch: noarch
%description apparmor
This package contains an AppArmor profile for Rspamd.
%prep
%autosetup -p1
%build
%if %{with luajit}
if ! [ "%{lua_abi_version}" = "$(pkg-config --variable=abiver luajit | tr -d '.')" ] ; then
%if %{with luajit} && %{with mixed_luajit_lua}
if ! [ "%{lua_abi_version}" = "$(pkg-config --variable=abiver %{luajit_version} | tr -d '.')" ] ; then
echo "the lua_abi_version define and the abi version of luajit do not match. please investigate. exiting."
exit 1
fi
%else
echo "no lua abi version check done"
%endif
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
@@ -243,7 +269,7 @@ export CXX="g++-%{?force_gcc_version}"
%if %{with jemalloc}
-DENABLE_JEMALLOC=ON \
%endif
%if %{pkg_vcmp fmt-devel > 11}
%if 0%{?with_system_fmt}
-DSYSTEM_FMT=ON \
%else
-DSYSTEM_FMT=OFF \
@@ -311,6 +337,9 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%service_add_post %{name}.service
%endif
%post apparmor
%apparmor_reload %{_sysconfdir}/apparmor.d/usr.bin.rspamd
%if 0%{?suse_version}
%preun
%if %{with systemd}
@@ -349,12 +378,8 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_libdir}/rspamd/librspamd-kann.so
%{_libdir}/rspamd/librspamd-replxx.so
%config %{_sysconfdir}/apparmor.d/usr.bin.rspamd
%config(noreplace) %{_sysconfdir}/apparmor.d/local/usr.bin.rspamd
%dir %{_sysconfdir}/rspamd/
%config %{_sysconfdir}/rspamd/actions.conf
%config %{_sysconfdir}/rspamd/cgp.inc
%config %{_sysconfdir}/rspamd/common.conf
%config %{_sysconfdir}/rspamd/composites.conf
%config %{_sysconfdir}/rspamd/groups.conf
@@ -376,6 +401,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%config(noreplace) %{_sysconfdir}/rspamd/local.d/worker-normal.inc
%config(noreplace) %{_sysconfdir}/rspamd/local.d/worker-proxy.inc
%config(noreplace) %{_sysconfdir}/rspamd/local.d/module.conf.example
%config(noreplace) %{_sysconfdir}/rspamd/local.d/antivirus.conf.example
%dir %{_sysconfdir}/rspamd/lua.local.d/
%config(noreplace) %{_sysconfdir}/rspamd/lua.local.d/module.lua.example
@@ -394,6 +420,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%config(noreplace) %{_sysconfdir}/rspamd/scores.d/subject_group.conf
%config(noreplace) %{_sysconfdir}/rspamd/scores.d/surbl_group.conf
%config(noreplace) %{_sysconfdir}/rspamd/scores.d/whitelist_group.conf
%config(noreplace) %{_sysconfdir}/rspamd/scores.d/url_suspect_group.conf
%dir %{_sysconfdir}/rspamd/maps.d
%config(noreplace) %{_sysconfdir}/rspamd/maps.d/dmarc_whitelist.inc
@@ -414,6 +441,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/bimi.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/chartable.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/clickhouse.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/contextal.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/dcc.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/dkim.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/dkim_signing.conf
@@ -457,6 +485,8 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/trie.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/url_redirector.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/whitelist.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/aliases.conf
%config(noreplace) %{_sysconfdir}/rspamd/modules.d/url_suspect.conf
%dir %{_sysconfdir}/rspamd/override.d
%config(noreplace) %{_sysconfdir}/rspamd/override.d/module.conf.example
@@ -472,6 +502,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/languages/*
%dir %{_datadir}/rspamd/plugins
%{_datadir}/rspamd/plugins/aliases.lua
%{_datadir}/rspamd/plugins/aws_s3.lua
%{_datadir}/rspamd/plugins/bimi.lua
%{_datadir}/rspamd/plugins/external_relay.lua
@@ -481,6 +512,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/plugins/asn.lua
%{_datadir}/rspamd/plugins/bayes_expiry.lua
%{_datadir}/rspamd/plugins/clickhouse.lua
%{_datadir}/rspamd/plugins/contextal.lua
%{_datadir}/rspamd/plugins/clustering.lua
%{_datadir}/rspamd/plugins/dcc.lua
%{_datadir}/rspamd/plugins/dkim_signing.lua
@@ -523,6 +555,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/plugins/trie.lua
%{_datadir}/rspamd/plugins/url_redirector.lua
%{_datadir}/rspamd/plugins/whitelist.lua
%{_datadir}/rspamd/plugins/url_suspect.lua
%dir %{_datadir}/rspamd/lualib
%{_datadir}/rspamd/lualib/ansicolors.lua
@@ -554,9 +587,15 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/lualib/lua_verdict.lua
%{_datadir}/rspamd/lualib/lupa.lua
%{_datadir}/rspamd/lualib/plugins_stats.lua
%{_datadir}/rspamd/lualib/tableshape.lua
%{_datadir}/rspamd/lualib/lua_bayes_redis.lua
%{_datadir}/rspamd/lualib/lua_cache.lua
%{_datadir}/rspamd/lualib/llm_common.lua
%{_datadir}/rspamd/lualib/llm_context.lua
%{_datadir}/rspamd/lualib/lua_cta.lua
%{_datadir}/rspamd/lualib/llm_search_context.lua
%{_datadir}/rspamd/lualib/lua_aliases.lua
%{_datadir}/rspamd/lualib/lua_fuzzy_html.lua
%{_datadir}/rspamd/lualib/lua_url_filter.lua
%dir %{_datadir}/rspamd/lualib/lua_content
%{_datadir}/rspamd/lualib/lua_content/ical.lua
@@ -597,6 +636,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/lualib/lua_scanners/spamassassin.lua
%{_datadir}/rspamd/lualib/lua_scanners/vadesecure.lua
%{_datadir}/rspamd/lualib/lua_scanners/virustotal.lua
%{_datadir}/rspamd/lualib/lua_scanners/metadefender.lua
%dir %{_datadir}/rspamd/lualib/lua_selectors
%{_datadir}/rspamd/lualib/lua_selectors/common.lua
@@ -604,6 +644,12 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/lualib/lua_selectors/init.lua
%{_datadir}/rspamd/lualib/lua_selectors/maps.lua
%{_datadir}/rspamd/lualib/lua_selectors/transforms.lua
%dir %{_datadir}/rspamd/lualib/lua_shape/
%{_datadir}/rspamd/lualib/lua_shape/core.lua
%{_datadir}/rspamd/lualib/lua_shape/docs.lua
%{_datadir}/rspamd/lualib/lua_shape/jsonschema.lua
%{_datadir}/rspamd/lualib/lua_shape/plugin_schema.lua
%{_datadir}/rspamd/lualib/lua_shape/registry.lua
%dir %{_datadir}/rspamd/lualib/rspamadm
%{_datadir}/rspamd/lualib/rspamadm/clickhouse.lua
@@ -630,10 +676,12 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/lualib/rspamadm/fuzzy_ping.lua
%{_datadir}/rspamd/lualib/rspamadm/secretbox.lua
%{_datadir}/rspamd/lualib/rspamadm/ratelimit.lua
%{_datadir}/rspamd/lualib/rspamadm/confighelp_plugins.lua
%dir %{_datadir}/rspamd/lualib/plugins
%{_datadir}/rspamd/lualib/plugins/dmarc.lua
%{_datadir}/rspamd/lualib/plugins/neural.lua
%{_datadir}/rspamd/lualib/plugins/neural/
%{_datadir}/rspamd/lualib/plugins/rbl.lua
%{_datadir}/rspamd/lualib/plugins/ratelimit.lua
@@ -665,6 +713,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_datadir}/rspamd/rules/rspamd.lua
%{_datadir}/rspamd/rules/subject_checks.lua
%{_datadir}/rspamd/rules/regexp/urls.lua
%{_datadir}/rspamd/rules/fuzzy_html_phishing.lua
%dir %{_datadir}/rspamd/rules/regexp
%{_datadir}/rspamd/rules/regexp/compromised_hosts.lua
@@ -692,14 +741,10 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_wwwdir}/%{name}/index.html
%{_wwwdir}/%{name}/mstile-150x150.png
%{_wwwdir}/%{name}/safari-pinned-tab.svg
%{_wwwdir}/%{name}/img/rspamd_logo_navbar_dark.png
%{_wwwdir}/%{name}/css
%dir %{_wwwdir}/%{name}/fonts
%{_wwwdir}/%{name}/fonts/glyphicons-halflings-regular.ttf
%{_wwwdir}/%{name}/fonts/glyphicons-halflings-regular.woff
%{_wwwdir}/%{name}/fonts/glyphicons-halflings-regular.woff2
%dir %{_wwwdir}/%{name}/img
%{_wwwdir}/%{name}/img/asc.png
%{_wwwdir}/%{name}/img/desc.png
@@ -720,6 +765,7 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_wwwdir}/%{name}/js/app/upload.js
%{_wwwdir}/%{name}/js/app/common.js
%{_wwwdir}/%{name}/js/app/libft.js
%{_wwwdir}/%{name}/js/app/footable-fontawesome.js
%{_wwwdir}/%{name}/js/lib
@@ -733,4 +779,8 @@ find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||:
%{_bindir}/rspamc
%{_bindir}/rspamc-%{version}
%files apparmor
%config %{_sysconfdir}/apparmor.d/usr.bin.rspamd
%config(noreplace) %{_sysconfdir}/apparmor.d/local/usr.bin.rspamd
%changelog