commit 892383a: Merge pull request #3341 from jendis/fix_lua_api

GitHub noreply at github.com
Fri Apr 17 15:35:14 UTC 2020


Author: Vsevolod Stakhov
Date: 2020-04-17 16:32:27 +0100
URL: https://github.com/rspamd/rspamd/commit/892383a5a2fe19a4da4ad7862e087eed3618d11d (HEAD -> master)

Merge pull request #3341 from jendis/fix_lua_api
[Minor] Improve lua api

 src/lua/lua_task.c               |  8 +++++
 src/lua/lua_util.c               | 69 ++++++----------------------------------
 src/plugins/lua/spamassassin.lua |  4 +--
 utils/sa_trivial_convert.lua     |  4 +--
 4 files changed, 22 insertions(+), 63 deletions(-)

diff --combined src/lua/lua_task.c
index 3ad1aa3db,4ac819c9d..f36e51824
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@@ -519,6 -519,14 +519,14 @@@ LUA_FUNCTION_DEF (task, has_from)
   * - `addr` - address part of the address
   * - `user` - user part (if present) of the address, e.g. `blah`
   * - `domain` - domain part (if present), e.g. `foo.com`
+  * - `flags` - table with following keys set to true if given condition fulfilled:
+  *   - [valid] - valid SMTP address in conformity with https://tools.ietf.org/html/rfc5321#section-4.1.
+  *   - [ip] - domain is IPv4/IPv6 address
+  *   - [braced] - angled `<blah at foo.com>` address
+  *   - [quoted] - quoted user part
+  *   - [empty] - empty address
+  *   - [backslash] - user part contains backslash
+  *   - [8bit] - contains 8bit characters
   * @param {integer|string} type if specified has the following meaning: `0` or `any` means try SMTP sender and fallback to MIME if failed, `1` or `smtp` means checking merely SMTP sender and `2` or `mime` means MIME `From:` only
   * @return {address} sender or `nil`
   */
@@@ -2003,11 -2011,9 +2011,11 @@@ lua_task_adjust_result (lua_State * L
  		}
  
  		if (s) {
 -			metric_res->score -= s->score;
 -			s->score = weight;
 -			metric_res->score += s->score;
 +			if (!isnan (weight)) {
 +				metric_res->score -= s->score;
 +				s->score = weight;
 +				metric_res->score += s->score;
 +			}
  		}
  		else {
  			return luaL_error (L, "symbol not found: %s", symbol_name);


More information about the Commits mailing list