summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-10-19 20:46:19 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-10-19 20:46:19 +0100
commit9794220fa8c50fe1d797a75da2e9b258f1079d90 (patch)
tree98999c2060a17e564e1dc7a68cc9e2770399995e /src
parentb87eb86a42e7d450a71e4b73b4910649b2d34c4e (diff)
downloadrspamd-9794220fa8c50fe1d797a75da2e9b258f1079d90.tar.gz
rspamd-9794220fa8c50fe1d797a75da2e9b258f1079d90.zip
[Project] Support connection filters registration from Lua
Diffstat (limited to 'src')
-rw-r--r--src/lua/lua_config.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c
index 38c15bbe1..c59850c9d 100644
--- a/src/lua/lua_config.c
+++ b/src/lua/lua_config.c
@@ -1817,22 +1817,32 @@ lua_parse_symbol_type (const gchar *str)
ret |= SYMBOL_TYPE_VIRTUAL;
ret &= ~SYMBOL_TYPE_NORMAL;
ret &= ~SYMBOL_TYPE_CALLBACK;
- } else if (g_ascii_strcasecmp (str, "callback") == 0) {
+ }
+ else if (g_ascii_strcasecmp (str, "callback") == 0) {
ret |= SYMBOL_TYPE_CALLBACK;
ret &= ~SYMBOL_TYPE_NORMAL;
ret &= ~SYMBOL_TYPE_VIRTUAL;
- } else if (g_ascii_strcasecmp (str, "normal") == 0) {
+ }
+ else if (g_ascii_strcasecmp (str, "normal") == 0) {
ret |= SYMBOL_TYPE_NORMAL;
ret &= ~SYMBOL_TYPE_CALLBACK;
ret &= ~SYMBOL_TYPE_VIRTUAL;
- } else if (g_ascii_strcasecmp (str, "prefilter") == 0) {
+ }
+ else if (g_ascii_strcasecmp (str, "prefilter") == 0) {
ret |= SYMBOL_TYPE_PREFILTER | SYMBOL_TYPE_GHOST;
- } else if (g_ascii_strcasecmp (str, "postfilter") == 0) {
+ }
+ else if (g_ascii_strcasecmp (str, "postfilter") == 0) {
ret |= SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST;
- } else if (g_ascii_strcasecmp (str, "idempotent") == 0) {
+ }
+ else if (g_ascii_strcasecmp (str, "connfilter") == 0 ||
+ g_ascii_strcasecmp (str, "conn_filter") == 0) {
+ ret |= SYMBOL_TYPE_CONNFILTER | SYMBOL_TYPE_GHOST;
+ }
+ else if (g_ascii_strcasecmp (str, "idempotent") == 0) {
ret |= SYMBOL_TYPE_POSTFILTER | SYMBOL_TYPE_GHOST |
- SYMBOL_TYPE_IDEMPOTENT | SYMBOL_TYPE_CALLBACK;
- } else {
+ SYMBOL_TYPE_IDEMPOTENT | SYMBOL_TYPE_CALLBACK;
+ }
+ else {
gint fl = 0;
fl = lua_parse_symbol_flags (str);