]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix external_relay mixins and confighelp
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 19 Nov 2025 10:44:27 +0000 (10:44 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 19 Nov 2025 10:44:27 +0000 (10:44 +0000)
- Register external_relay_common mixin for documentation
- Fix confighelp to handle table data (doc objects)

lualib/rspamadm/confighelp.lua
src/plugins/lua/external_relay.lua

index 36161c10f20e015b37a2fc36a711d98bcf137e04..dedc844ca96e85e5f7d9efe0d19473fbf9096252 100644 (file)
@@ -76,8 +76,13 @@ local function print_help(key, value, tabs)
 
   if not opts['short'] then
     if value['data'] then
-      local nv = string.match(value['data'], '^#%s*(.*)%s*$') or value.data
-      print(string.format('%s\tDescription: %s', tabs, nv))
+      local data = value['data']
+      if type(data) == 'string' then
+        local nv = string.match(data, '^#%s*(.*)%s*$') or data
+        print(string.format('%s\tDescription: %s', tabs, nv))
+      elseif type(data) == 'table' and data.summary then
+        print(string.format('%s\tDescription: %s', tabs, data.summary))
+      end
     end
     if type(value['type']) == 'string' then
       print(string.format('%s\tType: %s', tabs, value['type']))
index 6dd1e3e462cccc9844e6ef3653caa7af1f7200a8..b40dd076b29f0def2b45cc6f6f7580e99d67490e 100644 (file)
@@ -36,6 +36,9 @@ local rule_common = T.table({
   symbol = T.string():optional():doc({ summary = "Symbol name" }),
 }):doc({ summary = "Common rule fields" })
 
+-- Register rule_common as a mixin for documentation
+PluginSchema.register("mixins.external_relay_common", rule_common)
+
 local config_schema = T.table({
   enabled = T.boolean():optional():doc({ summary = "Enable the plugin" }),
   rules = T.table({}, {