]> git.ipfire.org Git - thirdparty/rspamd.git/log
thirdparty/rspamd.git
4 weeks agoFix: Return early in check_quantity_received to avoid unnecessary checks 5658/head
Cursor Agent [Fri, 3 Oct 2025 19:22:18 +0000 (19:22 +0000)] 
Fix: Return early in check_quantity_received to avoid unnecessary checks

Co-authored-by: v <v@rspamd.com>
5 weeks ago[Minor] Add some of my cursor rules
Vsevolod Stakhov [Fri, 3 Oct 2025 11:26:50 +0000 (12:26 +0100)] 
[Minor] Add some of my cursor rules

5 weeks agoMerge pull request #5647 from rspamd/vstakhov-llm-context
Vsevolod Stakhov [Thu, 2 Oct 2025 15:54:25 +0000 (21:54 +0600)] 
Merge pull request #5647 from rspamd/vstakhov-llm-context

[Feature] Add user/domain context support for LLM-based classification

5 weeks ago[Feature] Improve LLM prompt and add sender frequency tracking 5647/head
Vsevolod Stakhov [Thu, 2 Oct 2025 13:53:25 +0000 (14:53 +0100)] 
[Feature] Improve LLM prompt and add sender frequency tracking

* Update default prompt to reduce false positives on legitimate emails
  - Explicitly recognize verification emails as legitimate
  - Require MULTIPLE red flags for phishing classification
  - Add guidance on known/frequent senders
* Add sender frequency detection in context
  - Classify senders as: new, occasional, known, frequent
  - Based on sender_counts from user context
  - Passed to LLM via context snippet
* Prompt instructs LLM to reduce phishing score for known senders
* Helps avoid false positives on transactional/verification emails

5 weeks ago[Feature] Improve GPT module with uncertain caching and server timeout
Vsevolod Stakhov [Thu, 2 Oct 2025 13:32:22 +0000 (14:32 +0100)] 
[Feature] Improve GPT module with uncertain caching and server timeout

* Add GPT_UNCERTAIN symbol for caching uncertain classifications
  - Cache results even when no consensus is reached
  - Avoid repeated expensive LLM queries for borderline cases
  - Set X-GPT-Reason header with detailed vote statistics
* Add server-side timeout support for OpenAI API requests
  - New request_timeout parameter (optional, multiplied by 0.95)
  - Only sent if explicitly configured (not all APIs support this)
  - Accounts for connection setup and data transfer overhead
* Fix max_ham_prob initialization (was 0, now correctly 1.0)
* Add pcall protection for fold_header_with_encoding with raw fallback
* Improve error messages for token limit exceeded
* Add detailed logging for context snippets and consensus decisions
* Pass debug_module parameter to llm_context functions

5 weeks ago[Feature] Add cache expiration timestamps to debug logs
Vsevolod Stakhov [Thu, 2 Oct 2025 13:32:02 +0000 (14:32 +0100)] 
[Feature] Add cache expiration timestamps to debug logs

* Show when cached data will expire in human-readable format
* Log expiration time both when caching and after successful write
* Helps with debugging cache TTL issues

5 weeks ago[Feature] Add bidirectional context support for LLM
Vsevolod Stakhov [Thu, 2 Oct 2025 13:30:20 +0000 (14:30 +0100)] 
[Feature] Add bidirectional context support for LLM

* Unify context for incoming and outgoing mail
* Same identity used for authenticated/local sender and recipient
* Follows replies module pattern for direction detection
* Make llm_context.lua module-agnostic with debug_module parameter
* Improve userdata handling (use :sub instead of string.sub)
* Add nil-safety to all debug logging calls
* Add cache expiration timestamps to context logs

5 weeks ago[Fix] Add full Lua traceback to HTTP callback errors
Vsevolod Stakhov [Thu, 2 Oct 2025 13:28:32 +0000 (14:28 +0100)] 
[Fix] Add full Lua traceback to HTTP callback errors

Improved error diagnostics in lua_http_finish_handler by adding
rspamd_lua_traceback handler. Now shows complete call stack with
file names and line numbers when Lua HTTP callbacks fail, making
debugging much easier.

5 weeks ago[Feature] Add user/domain context support for LLM-based classification
Vsevolod Stakhov [Wed, 1 Oct 2025 09:49:41 +0000 (10:49 +0100)] 
[Feature] Add user/domain context support for LLM-based classification

* Add llm_context.lua module for Redis-based conversation context
* Context features: sliding window, top senders, keywords, flagged phrases
* Use low-level word API (get_words('full')) with stop_word flags
* Flexible gating via maps/selectors (enable_map/enable_expression)
* Update context even when GPT condition not met (BAYES_SPAM/HAM)
* Add min_messages warm-up threshold to prevent weak context injection
* Configurable scope: user/domain/esld with TTL and sliding window

5 weeks ago[Minor] Update version of rspamd to 3.13.2
Vsevolod Stakhov [Tue, 30 Sep 2025 10:30:09 +0000 (11:30 +0100)] 
[Minor] Update version of rspamd to 3.13.2

5 weeks agoRelease 3.13.1 3.13.1
Vsevolod Stakhov [Tue, 30 Sep 2025 10:18:55 +0000 (11:18 +0100)] 
Release 3.13.1

* [Feature] Archive module: Full support for encrypted ZIP archives with ZipCrypto and AES encryption
* [Feature] Archive module: Both reading and writing of AES-encrypted ZIP archives is supported
* [Feature] Archive module: Updated Lua bindings for libarchive
* [Feature] Encrypted maps: Support for encrypted maps to enable new distribution scenarios
* [Feature] Redis TLS: Configurable TLS connections in Redis backend
* [Feature] Map helpers alignment: Enforce 64-byte alignment to prevent unaligned memory access
* [Feature] Enhanced CLI for secretbox with additional security test coverage
* [Fix] MIME encoding: Major overhauls and multiple fixes for MIME encoding logic
* [Fix] MIME encoding: Improved handling and decoding of UTF-8 in MIME headers
* [Fix] Learning system: Numerous fixes to learn checks and autolearn flag handling
* [Fix] Learning system: Prevention of duplicate message learning
* [Fix] Learning system: Extended multiclass learning test coverage
* [Fix] Critical: Fixed bug when converting zero-length strings to numbers
* [Fix] Critical: Fixed XML prolog detection in lua_magic module
* [Fix] Build: Fixed build issues on 32-bit platforms
* [Fix] Compatibility: Improved compatibility with Lua versions above 5.1
* [Fix] Empty input: Addressed issues with empty input handling in lua_magic
* [Fix] Testing: Improved stability of automated testing with multiple test fixes
* [Fix] Minor compatibility improvements (buffer allocation, missing cmath include)

5 weeks agoMerge pull request #5644 from rspamd/vstakhov-encrypted-maps
Vsevolod Stakhov [Mon, 29 Sep 2025 13:51:36 +0000 (19:51 +0600)] 
Merge pull request #5644 from rspamd/vstakhov-encrypted-maps

[Feature] Add support for encrypted maps

5 weeks ago[Feature] Add support for encrypted maps 5644/head
Vsevolod Stakhov [Mon, 29 Sep 2025 12:59:50 +0000 (13:59 +0100)] 
[Feature] Add support for encrypted maps

5 weeks agoMerge pull request #5642 from rspamd/vstakhov-secretbox-features
Vsevolod Stakhov [Mon, 29 Sep 2025 08:05:16 +0000 (14:05 +0600)] 
Merge pull request #5642 from rspamd/vstakhov-secretbox-features

[Feature] Improve secretbox CLI

5 weeks agoMerge pull request #5643 from moisseev/e2e
Vsevolod Stakhov [Mon, 29 Sep 2025 08:05:05 +0000 (14:05 +0600)] 
Merge pull request #5643 from moisseev/e2e

[Test] Handle multiple alerts in E2E scan test

5 weeks ago[Fix] Fix allocation of the control buffer
Vsevolod Stakhov [Sun, 28 Sep 2025 21:06:01 +0000 (22:06 +0100)] 
[Fix] Fix allocation of the control buffer

* Refactored rspamd_control_fill_msghdr to accept
  a caller-provided control buffer, fixing the
  lifetime bug where a pointer to a local array
  was stored in msg_control.
* Replaced static buffers with automatic (stack)
  buffers at the exact call sites of sendmsg/recvmsg,
  so PowerPC and similar platforms won’t choke on
  non-constant expressions.

Issue: #5637

5 weeks ago[Minor] Fix compatibility 5642/head
Vsevolod Stakhov [Sun, 28 Sep 2025 20:20:56 +0000 (21:20 +0100)] 
[Minor] Fix compatibility

5 weeks agoMerge branch 'master' into vstakhov-secretbox-features
Vsevolod Stakhov [Sun, 28 Sep 2025 19:34:36 +0000 (01:34 +0600)] 
Merge branch 'master' into vstakhov-secretbox-features

5 weeks agoMerge branch 'master' into e2e 5643/head
Vsevolod Stakhov [Sun, 28 Sep 2025 19:34:24 +0000 (01:34 +0600)] 
Merge branch 'master' into e2e

5 weeks ago[Fix] Avoid invocation of strlcpy on string_view
Vsevolod Stakhov [Sun, 28 Sep 2025 19:27:50 +0000 (20:27 +0100)] 
[Fix] Avoid invocation of strlcpy on string_view

5 weeks ago[Minor] Add missing cmath include
Vsevolod Stakhov [Sun, 28 Sep 2025 19:04:18 +0000 (20:04 +0100)] 
[Minor] Add missing cmath include

5 weeks ago[Feature] Improve secretbox CLI
Vsevolod Stakhov [Sun, 28 Sep 2025 18:56:34 +0000 (19:56 +0100)] 
[Feature] Improve secretbox CLI

5 weeks ago[Test] Handle multiple alerts in E2E scan test
Alexander Moisseev [Sun, 28 Sep 2025 17:13:20 +0000 (20:13 +0300)] 
[Test] Handle multiple alerts in E2E scan test

by waiting for new alert appearance

5 weeks ago[Fix] Align map helpers to 64 bytes
Vsevolod Stakhov [Sun, 28 Sep 2025 14:39:18 +0000 (15:39 +0100)] 
[Fix] Align map helpers to 64 bytes

5 weeks ago[CritFix] Handle 0 length strings when converting to numbers
Vsevolod Stakhov [Sun, 28 Sep 2025 10:25:07 +0000 (11:25 +0100)] 
[CritFix] Handle 0 length strings when converting to numbers

Issue: #5640

5 weeks agoMerge pull request #5639 from rspamd/vstakhov-learn-cache-fix
Vsevolod Stakhov [Sat, 27 Sep 2025 16:55:22 +0000 (22:55 +0600)] 
Merge pull request #5639 from rspamd/vstakhov-learn-cache-fix

[Fix] Learn cache fix

5 weeks ago[Test] Update test cases for multiclass learning 5639/head
Vsevolod Stakhov [Sat, 27 Sep 2025 16:38:25 +0000 (17:38 +0100)] 
[Test] Update test cases for multiclass learning

5 weeks ago[Test] Avoid relearning the same message
Vsevolod Stakhov [Sat, 27 Sep 2025 16:09:31 +0000 (17:09 +0100)] 
[Test] Avoid relearning the same message

5 weeks ago[Fix] Reset autolearn flag when doing manual learn
Vsevolod Stakhov [Sat, 27 Sep 2025 14:02:06 +0000 (15:02 +0100)] 
[Fix] Reset autolearn flag when doing manual learn

5 weeks ago[Fix] Another learn checks fix
Vsevolod Stakhov [Sat, 27 Sep 2025 09:56:47 +0000 (10:56 +0100)] 
[Fix] Another learn checks fix

6 weeks ago[Fix] Learn cache fix
Vsevolod Stakhov [Fri, 26 Sep 2025 15:18:28 +0000 (16:18 +0100)] 
[Fix] Learn cache fix

6 weeks agoMerge pull request #5586 from japc/rbl_pipeline
Vsevolod Stakhov [Fri, 26 Sep 2025 13:34:39 +0000 (19:34 +0600)] 
Merge pull request #5586 from japc/rbl_pipeline

[Minor] Minor RBL pipeline fixes

6 weeks agoMerge pull request #5626 from laudable-labs/feat/redis-tls
Vsevolod Stakhov [Fri, 26 Sep 2025 13:25:47 +0000 (19:25 +0600)] 
Merge pull request #5626 from laudable-labs/feat/redis-tls

[Feature] Redis - add configurable TLS for connections

6 weeks agoMerge pull request #5636 from rspamd/vstakhov-fix-mime-encoding
Vsevolod Stakhov [Fri, 26 Sep 2025 12:18:33 +0000 (18:18 +0600)] 
Merge pull request #5636 from rspamd/vstakhov-fix-mime-encoding

Fix mime encoding

6 weeks agoStore TLS opts in lua stack, no strdup/free 5626/head
Justin Dossey [Thu, 25 Sep 2025 16:52:45 +0000 (09:52 -0700)] 
Store TLS opts in lua stack, no strdup/free

- Removed g_strdup/g_free of TLS paths in src/lua/lua_redis.c.
- Now we:
  - Keep TLS values (booleans + strings) on the Lua stack temporarily.
  - Use an absolute table index (so gettable calls aren’t confused by
    the growing stack).
  - Call rspamd_redis_pool_connect_ext while those values are on the
    stack.
  - Pop all postponed values and then the table in one go immediately
    after the connect call.
- The C++ pool still copies into std::string on element creation; we
  only ensure Lua strings live through the call without extra
  allocations.

6 weeks ago[Fix] Fix bad utf8 decoding in mime headers 5636/head
Vsevolod Stakhov [Thu, 25 Sep 2025 13:14:48 +0000 (14:14 +0100)] 
[Fix] Fix bad utf8 decoding in mime headers

6 weeks ago[Fix] More rework on mime encoding
Vsevolod Stakhov [Thu, 25 Sep 2025 12:53:53 +0000 (13:53 +0100)] 
[Fix] More rework on mime encoding

6 weeks ago[CritFix] Fix mime encoding logic
Vsevolod Stakhov [Thu, 25 Sep 2025 11:48:13 +0000 (12:48 +0100)] 
[CritFix] Fix mime encoding logic

6 weeks ago[Fix] Fix build on 32 bit platforms
Vsevolod Stakhov [Thu, 25 Sep 2025 10:48:32 +0000 (11:48 +0100)] 
[Fix] Fix build on 32 bit platforms

6 weeks ago[Fix] Fix XML prolog detection in lua_magic
Vsevolod Stakhov [Thu, 25 Sep 2025 09:40:22 +0000 (10:40 +0100)] 
[Fix] Fix XML prolog detection in lua_magic

6 weeks ago[Fix] Fix empty input in lua_magic
Vsevolod Stakhov [Thu, 25 Sep 2025 08:31:08 +0000 (09:31 +0100)] 
[Fix] Fix empty input in lua_magic

Issue: #5633

6 weeks agoMerge pull request #5628 from rspamd/vstakhov-encrypted-zip
Vsevolod Stakhov [Wed, 24 Sep 2025 10:07:09 +0000 (16:07 +0600)] 
Merge pull request #5628 from rspamd/vstakhov-encrypted-zip

[Project] Add encrypted zip support to archives module

6 weeks ago[Project] Switch to libarchive for encrypted zip archives 5628/head
Vsevolod Stakhov [Tue, 23 Sep 2025 19:34:38 +0000 (20:34 +0100)] 
[Project] Switch to libarchive for encrypted zip archives

6 weeks ago[Project] Switch to ZipCrypto for encrypted zip archives (AES is not supported by...
Vsevolod Stakhov [Tue, 23 Sep 2025 17:18:03 +0000 (18:18 +0100)] 
[Project] Switch to ZipCrypto for encrypted zip archives (AES is not supported by libarchive)

6 weeks ago[Minor] Some tests fixes
Vsevolod Stakhov [Tue, 23 Sep 2025 10:56:54 +0000 (11:56 +0100)] 
[Minor] Some tests fixes

6 weeks ago[Minor] Add tests for encrypted zip support + fix some memory issues
Vsevolod Stakhov [Tue, 23 Sep 2025 10:51:20 +0000 (11:51 +0100)] 
[Minor] Add tests for encrypted zip support + fix some memory issues

6 weeks ago[Project] Add Lua bindings for encrypted zip support
Vsevolod Stakhov [Tue, 23 Sep 2025 09:10:13 +0000 (10:10 +0100)] 
[Project] Add Lua bindings for encrypted zip support

6 weeks ago[Project] Add encrypted zip support to archives module
Vsevolod Stakhov [Mon, 22 Sep 2025 20:31:46 +0000 (21:31 +0100)] 
[Project] Add encrypted zip support to archives module

This commit adds encrypted zip support to the archives module.

It adds a new function to the archives module that encrypts a zip file using AES-256-CBC.

It also adds a new function to the archives module that decrypts a zip file using AES-256-CBC.

6 weeks agoUse clang-format-18 to address indentation mismatches
Justin Dossey [Mon, 22 Sep 2025 15:35:16 +0000 (08:35 -0700)] 
Use clang-format-18 to address indentation mismatches

6 weeks agoFix errors found by @vstakhov in #5626
Justin Dossey [Mon, 22 Sep 2025 15:25:46 +0000 (08:25 -0700)] 
Fix errors found by @vstakhov in #5626

- remove redundant `ensure_ssl_inited` function and calls. Core SSL init
  should suffice.
- Refactor TLS initiation into `redis_pool_elt::initiate_tls(...)` to
  eliminate duplication
- Switch TLS flags to `bool` in the public struct
- Fix ephemeral string usage in lua by duplicating the values into
  locals and freeing after connect. Flags are boolean. (it's not super
  likely that Lua will GC the strings before we connect to Redis, but
  this ensures that it won't be a problem)
- Remove the redis TLS options propagation unit test

Build succeeds and C++ unit tests pass.

6 weeks agoMerge pull request #5625 from netoholic/redis_backend-fix-build-with-newer-lua-versions
Vsevolod Stakhov [Sat, 20 Sep 2025 20:02:00 +0000 (02:02 +0600)] 
Merge pull request #5625 from netoholic/redis_backend-fix-build-with-newer-lua-versions

[fix] build issues with lua version higher than 5.1

7 weeks agofeat(redis): add configurable TLS for Redis connections
Justin Dossey [Fri, 19 Sep 2025 17:08:15 +0000 (10:08 -0700)] 
feat(redis): add configurable TLS for Redis connections

- Add TLS options to Redis config schema (ssl, no_ssl_verify, ssl_ca, ssl_ca_dir, ssl_cert, ssl_key, sni)
- Thread TLS options through lua_redis and request helpers
- Implement TLS handshake in redis pool using hiredis SSL (redisCreateSSLContextWithOptions + redisInitiateSSLWithContext)
- Keep plain connections default and support Unix sockets
- Add unit test to validate TLS options propagation (test/lua/unit/redis_tls.lua)

Tested against local TLS Redis on localhost:6379 (PING returns PONG).

7 weeks agofix build issues with lua version higher than 5.1 5625/head
netoholic [Fri, 19 Sep 2025 13:17:24 +0000 (15:17 +0200)] 
fix build issues with lua version higher than 5.1

refer to https://bugs.gentoo.org/963055

I´ve been asked to pass this upstream

7 weeks agoMerge pull request #5623 from rspamd/vstakhov-lua-archive
Vsevolod Stakhov [Thu, 18 Sep 2025 20:49:39 +0000 (02:49 +0600)] 
Merge pull request #5623 from rspamd/vstakhov-lua-archive

[Feature] Add archive module

7 weeks ago[Feature] Add archive module 5623/head
Vsevolod Stakhov [Thu, 18 Sep 2025 13:49:51 +0000 (14:49 +0100)] 
[Feature] Add archive module

7 weeks ago[Minor] Fix non-hyperscan build
Vsevolod Stakhov [Thu, 18 Sep 2025 09:03:39 +0000 (10:03 +0100)] 
[Minor] Fix non-hyperscan build

Issue: #5620

7 weeks ago[Minor] Update version of rspamd to 3.13.1
Vsevolod Stakhov [Thu, 18 Sep 2025 08:59:52 +0000 (09:59 +0100)] 
[Minor] Update version of rspamd to 3.13.1

7 weeks agoMerge pull request #5621 from fatalbanana/maybe_no_arm
Vsevolod Stakhov [Wed, 17 Sep 2025 16:33:41 +0000 (22:33 +0600)] 
Merge pull request #5621 from fatalbanana/maybe_no_arm

[Test] Allow ARM worker to be disabled or replaced

7 weeks ago[Test] Allow ARM worker to be disabled or replaced 5621/head
Andrew Lewis [Wed, 17 Sep 2025 13:52:46 +0000 (15:52 +0200)] 
[Test] Allow ARM worker to be disabled or replaced

7 weeks ago[Minor] Fix naughty warning 3.13.0
Vsevolod Stakhov [Wed, 17 Sep 2025 10:36:36 +0000 (11:36 +0100)] 
[Minor] Fix naughty warning

7 weeks agoRelease 3.13.0
Vsevolod Stakhov [Wed, 17 Sep 2025 07:59:35 +0000 (08:59 +0100)] 
Release 3.13.0

* [Conf] Add defaults
* [Conf] Fix JB IDE damage
* [Feature] Add a signal from main to workers for workers ready state
* [Feature] Add lua_util.fold_header_with_encoding
* [Feature] Add some convenience options to rspamc
* [Feature] Add some more OS utility functions
* [Feature] Add symbols proxy for piecewise changes
* [Feature] Allow lua callback maps to be filled line by line
* [Feature] Allow selectors in regexp maps expressions
* [Feature] Allow to pass expression flags in the regexp plugin
* [Feature] Detect part types in mime parser
* [Feature] Resolve DNS nameservers names using getaddrinfo
* [Fix] Bayes: Try to be bug-to-bug compatible
* [Fix] Check skip_hashes for the returned hashes
* [Fix] Fix DL lists initialisations
* [Fix] Fix double free in the client...
* [Fix] Fix end-to-end proxy compression
* [Fix] Fix l= calculations again
* [Fix] Fix lua state setting ambiguity
* [Fix] Fix order of descriptor closing
* [Fix] Fix probabilities overflow
* [Fix] Fix rules setup
* [Fix] Fix statfiles ordering
* [Fix] Fix various corner cases and tests
* [Fix] Fix whitelist options in the arc module
* [Fix] GPT: Fix occasional damage
* [Fix] GPT: fix processing of messages with no subject
* [Fix] Prevent WebUI crash with empty RRD
* [Fix] Store html attributes that are empty
* [Fix] Try to fix learned order
* [Fix] Use C++20 standard consistently to resolve ODR violations
* [Fix] Use a more straightforward approach for learn cache
* [Fix] fix error check in lua_dkim_tools.lua
* [Project] Add CTA analytics engine
* [Project] Add ability to create custom tokenizers for languages
* [Project] Add controller learn endpoints
* [Project] Add support of granular timeouts to plugins and maps
* [Project] Add tests and fix stuff
* [Project] Add tests for LLM provider, fix various issues with metatokens
* [Project] Apply changes to bayes_expiry plugin
* [Project] Create an isolated API for external tokenizers
* [Project] Extract more features from HTML messages
* [Project] Fix Lua API and some constexpr compatibility
* [Project] Fix binary classification and lua scripts
* [Project] Fix more calculation issues
* [Project] Fix other classification and learning issues
* [Project] Fix scoped compilation again
* [Project] Fix symbols finalisation
* [Project] Fix unlearn stuff
* [Project] Fix various issues
* [Project] Fix various other issues
* [Project] Further updates
* [Project] Implement backoff for upstreams revival
* [Project] Implement more flexible http timeouts
* [Project] Implement scoped compilation
* [Project] Implement scoped regexp cache system
* [Project] Multi-class classification project baseline
* [Project] Rework rspamc to allow training of different neural types
* [Project] Rework system of html tags to allow more tag types
* [Project] Rework tokenizers initialisation
* [Project] Some rework of the CTA defaults
* [Project] Start implementation of the rules maps
* [Project] Start to implement better revive strategy for upstreams
* [Project] Store regexp rules state to avoid incomplete/orphaned rules
* [Project] Support more common html attributes
* [Project] Take button weight into consideration
* [Project] Use re_cache scopes for maps
* [Rework] Fix logger format string mismatch
* [Rework] MIME detection via Lua Magic; enforce cfg in Lua task API
* [Rework] Return back N-ary optimizations for arithmetic-alike expressions
* [Rework] Use GLib agnostic type for words
* [Rework]Refactor MIME detection via Lua Magic; enforce cfg in Lua task API
* [Rules] Make bitcoin expression to use explicit flags

7 weeks agoBump Rspamd version to 3.13.0
Vsevolod Stakhov [Wed, 17 Sep 2025 07:20:45 +0000 (08:20 +0100)] 
Bump Rspamd version to 3.13.0

7 weeks agoMerge pull request #5612 from hunter-nl/master
Vsevolod Stakhov [Tue, 16 Sep 2025 15:38:10 +0000 (21:38 +0600)] 
Merge pull request #5612 from hunter-nl/master

GPT: Refactor model parameters and response handling. Improved prompt.

7 weeks agoMerge pull request #5602 from flesueur/dcc
Vsevolod Stakhov [Tue, 16 Sep 2025 15:28:18 +0000 (21:28 +0600)] 
Merge pull request #5602 from flesueur/dcc

DCC plugin cleanup

7 weeks agoRevert "[Minor] Use modern bayes configuration"
Vsevolod Stakhov [Tue, 16 Sep 2025 15:26:07 +0000 (16:26 +0100)] 
Revert "[Minor] Use modern bayes configuration"

This reverts commit 42ea8dfbdb742c1d94d36b97139a4229104fe08f.

7 weeks agoMerge pull request #5608 from rspamd/vstakhov-html-features
Vsevolod Stakhov [Tue, 16 Sep 2025 10:09:02 +0000 (16:09 +0600)] 
Merge pull request #5608 from rspamd/vstakhov-html-features

[Project] Extract more features from HTML messages

7 weeks agoRemove unnecessary blank lines in gpt.lua 5612/head
hunter-nl [Tue, 16 Sep 2025 09:22:23 +0000 (11:22 +0200)] 
Remove unnecessary blank lines in gpt.lua

7 weeks agoMerge pull request #5619 from rspamd/vstakhov-mime-parser-detection
Vsevolod Stakhov [Tue, 16 Sep 2025 08:43:46 +0000 (14:43 +0600)] 
Merge pull request #5619 from rspamd/vstakhov-mime-parser-detection

[Feature] Detect part types in mime parser

7 weeks agoMerge pull request #5617 from rspamd/vstakhov-lua-symbols-proxy
Vsevolod Stakhov [Tue, 16 Sep 2025 08:43:27 +0000 (14:43 +0600)] 
Merge pull request #5617 from rspamd/vstakhov-lua-symbols-proxy

Lua: Add index to rspamd_config and symbol proxy to enable piecewise symbol updates

7 weeks ago[Minor] Improve logging for mime parser 5619/head
Vsevolod Stakhov [Tue, 16 Sep 2025 08:18:59 +0000 (09:18 +0100)] 
[Minor] Improve logging for mime parser

- Add debug logs for mime parser

7 weeks ago[Rework] MIME detection via Lua Magic; enforce cfg in Lua task API
Vsevolod Stakhov [Mon, 15 Sep 2025 18:44:37 +0000 (19:44 +0100)] 
[Rework] MIME detection via Lua Magic; enforce cfg in Lua task API

- Add rspamd_mime_parser_config on cfg; remove global state and lazy init
- Initialize parser config once per cfg; preload lua_magic.detect_mime_part
- Always run detection after normal part parse; promote .eml/message parts
- Preserve detected_ext/detected_ct/detected_type and NO_TEXT flag
- Remove duplicate detection from message.c; add debug logs
- Restore CTE parsing API and fix call sites
- Enforce cfg requirement in rspamd_task.load_from_string/load_from_file/create
- Fix unit tests to pass rspamd_config to load_from_string

7 weeks ago[Rework]Refactor MIME detection via Lua Magic; enforce cfg in Lua task API
Vsevolod Stakhov [Mon, 15 Sep 2025 14:03:15 +0000 (15:03 +0100)] 
[Rework]Refactor MIME detection via Lua Magic; enforce cfg in Lua task API

- Add rspamd_mime_parser_config on cfg; remove global state and lazy init
- Initialize parser config once per cfg; preload lua_magic.detect_mime_part
- Always run detection after normal part parse; promote .eml/message parts
- Preserve detected_ext/detected_ct/detected_type and NO_TEXT flag
- Remove duplicate detection from message.c; add debug logs
- Restore CTE parsing API and fix call sites
- Enforce cfg requirement in rspamd_task.load_from_string/load_from_file/create
- Fix unit tests to pass rspamd_config to load_from_string

7 weeks ago[Feature] Detect part types in mime parser
Vsevolod Stakhov [Mon, 15 Sep 2025 10:06:14 +0000 (11:06 +0100)] 
[Feature] Detect part types in mime parser

7 weeks ago[Rework] Fix logger format string mismatch 5617/head
Vsevolod Stakhov [Sun, 14 Sep 2025 09:35:17 +0000 (10:35 +0100)] 
[Rework] Fix logger format string mismatch

7 weeks ago[Feature] Add symbols proxy for piecewise changes
Vsevolod Stakhov [Sun, 14 Sep 2025 09:02:41 +0000 (10:02 +0100)] 
[Feature] Add symbols proxy for piecewise changes

7 weeks agoMerge pull request #5614 from rspamd/vstakhov-http-flexible-policies
Vsevolod Stakhov [Sun, 14 Sep 2025 07:43:00 +0000 (13:43 +0600)] 
Merge pull request #5614 from rspamd/vstakhov-http-flexible-policies

[Project] Implement more flexible http timeouts

7 weeks ago[Fix] Fix rules setup
Vsevolod Stakhov [Sat, 13 Sep 2025 13:38:06 +0000 (14:38 +0100)] 
[Fix] Fix rules setup

7 weeks agoMerge pull request #5615 from rspamd/vstakhov-regexp-maps-enchancement
Vsevolod Stakhov [Sat, 13 Sep 2025 06:17:00 +0000 (12:17 +0600)] 
Merge pull request #5615 from rspamd/vstakhov-regexp-maps-enchancement

Multimap: SA-like selector rules with regexp-cache/HS integration

8 weeks ago[Test] Remove occasional change 5615/head
Vsevolod Stakhov [Fri, 12 Sep 2025 15:42:33 +0000 (16:42 +0100)] 
[Test] Remove occasional change

8 weeks ago[Project] Add tests and fix stuff
Vsevolod Stakhov [Fri, 12 Sep 2025 15:33:13 +0000 (16:33 +0100)] 
[Project] Add tests and fix stuff

8 weeks ago[Feature] Allow selectors in regexp maps expressions
Vsevolod Stakhov [Fri, 12 Sep 2025 11:26:12 +0000 (12:26 +0100)] 
[Feature] Allow selectors in regexp maps expressions

8 weeks ago[Conf] Fix JB IDE damage 5614/head
Vsevolod Stakhov [Fri, 12 Sep 2025 09:43:26 +0000 (10:43 +0100)] 
[Conf] Fix JB IDE damage

8 weeks ago[Minor] Fix formatting
Vsevolod Stakhov [Fri, 12 Sep 2025 09:42:02 +0000 (10:42 +0100)] 
[Minor] Fix formatting

8 weeks ago[Conf] Add defaults
Vsevolod Stakhov [Thu, 11 Sep 2025 15:57:31 +0000 (16:57 +0100)] 
[Conf] Add defaults

8 weeks ago[Fix] Fix lua state setting ambiguity
Vsevolod Stakhov [Thu, 11 Sep 2025 15:32:52 +0000 (16:32 +0100)] 
[Fix] Fix lua state setting ambiguity

8 weeks ago[Minor] Optimize timers usage
Vsevolod Stakhov [Thu, 11 Sep 2025 14:34:29 +0000 (15:34 +0100)] 
[Minor] Optimize timers usage

8 weeks ago[Project] Add support of granular timeouts to plugins and maps
Vsevolod Stakhov [Thu, 11 Sep 2025 14:25:43 +0000 (15:25 +0100)] 
[Project] Add support of granular timeouts to plugins and maps

8 weeks ago[Project] Implement more flexible http timeouts
Vsevolod Stakhov [Thu, 11 Sep 2025 13:43:15 +0000 (14:43 +0100)] 
[Project] Implement more flexible http timeouts

Issue: #5611

8 weeks agoMerge pull request #5613 from moisseev/e2e
Vsevolod Stakhov [Thu, 11 Sep 2025 12:22:26 +0000 (18:22 +0600)] 
Merge pull request #5613 from moisseev/e2e

[Test] Relax throughput counter check

8 weeks ago[Minor] Simplify features transition 5608/head
Vsevolod Stakhov [Thu, 11 Sep 2025 11:49:13 +0000 (12:49 +0100)] 
[Minor] Simplify features transition

8 weeks ago[Test] Relax throughput counter check 5613/head
Alexander Moisseev [Thu, 11 Sep 2025 11:16:26 +0000 (14:16 +0300)] 
[Test] Relax throughput counter check

8 weeks ago[Project] Some rework of the CTA defaults
Vsevolod Stakhov [Thu, 11 Sep 2025 09:58:52 +0000 (10:58 +0100)] 
[Project] Some rework of the CTA defaults

8 weeks agoChange model to 'gpt-5-mini' and add model_parameters
hunter-nl [Wed, 10 Sep 2025 14:51:40 +0000 (16:51 +0200)] 
Change model to 'gpt-5-mini' and add model_parameters

Updated model configuration to use 'gpt-5-mini' and added model parameters.

8 weeks agoRefactor model parameters and response handling
hunter-nl [Wed, 10 Sep 2025 14:27:41 +0000 (16:27 +0200)] 
Refactor model parameters and response handling

Model parameters now applied to all models for both AI types.

8 weeks agoMerge branch 'master' into vstakhov-html-features
Vsevolod Stakhov [Tue, 9 Sep 2025 08:03:08 +0000 (14:03 +0600)] 
Merge branch 'master' into vstakhov-html-features

8 weeks ago[Project] Take button weight into consideration
Vsevolod Stakhov [Mon, 8 Sep 2025 17:05:12 +0000 (18:05 +0100)] 
[Project] Take button weight into consideration

8 weeks ago[Project] Add CTA analytics engine
Vsevolod Stakhov [Mon, 8 Sep 2025 16:51:21 +0000 (17:51 +0100)] 
[Project] Add CTA analytics engine

2 months ago[Minor] Fix NULL check
Vsevolod Stakhov [Sat, 6 Sep 2025 13:20:01 +0000 (14:20 +0100)] 
[Minor] Fix NULL check

2 months ago[Minor] Fix build
Vsevolod Stakhov [Sat, 6 Sep 2025 12:56:42 +0000 (13:56 +0100)] 
[Minor] Fix build

2 months ago[Project] Extract more features from HTML messages
Vsevolod Stakhov [Sat, 6 Sep 2025 12:45:02 +0000 (13:45 +0100)] 
[Project] Extract more features from HTML messages