]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Slightly rework lua specific
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 22 Nov 2019 14:00:26 +0000 (14:00 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 22 Nov 2019 14:53:23 +0000 (14:53 +0000)
src/libmime/message.c
src/libmime/message.h

index 7c7609cf80e89d068bf266b938938f60643a472e..7d2d81a7fda417d040397b171a44b8d7131e942f 100644 (file)
@@ -1069,10 +1069,11 @@ rspamd_message_dtor (struct rspamd_message *msg)
                        }
                }
 
-               if (p->part_type == RSPAMD_MIME_PART_CUSTOM_LUA && p->specific.lua_ref != -1) {
+               if (p->part_type == RSPAMD_MIME_PART_CUSTOM_LUA &&
+                               p->specific.lua_specific.cbref != -1) {
                        luaL_unref (msg->task->cfg->lua_state,
                                        LUA_REGISTRYINDEX,
-                                       p->specific.lua_ref);
+                                       p->specific.lua_specific.cbref);
                }
        }
 
index 7f6ea86ddb7d042fc7e1bf0fa84f1aa09fddd023..c11b273ebcd04fdd91a5832906fec589840d9b54 100644 (file)
@@ -65,6 +65,19 @@ struct rspamd_mime_multipart {
        rspamd_ftok_t boundary;
 };
 
+enum rspamd_lua_specific_type {
+       RSPAMD_LUA_PART_TEXT,
+       RSPAMD_LUA_PART_STRING,
+       RSPAMD_LUA_PART_TABLE,
+       RSPAMD_LUA_PART_FUNCTION,
+       RSPAMD_LUA_PART_UNKNOWN,
+};
+
+struct rspamd_lua_specific_part {
+       gint cbref;
+       enum rspamd_lua_specific_type type;
+};
+
 struct rspamd_mime_part {
        struct rspamd_content_type *ct;
        struct rspamd_content_type *detected_ct;
@@ -91,7 +104,7 @@ struct rspamd_mime_part {
                struct rspamd_mime_text_part *txt;
                struct rspamd_image *img;
                struct rspamd_archive *arch;
-               gint lua_ref;
+               struct rspamd_lua_specific_part lua_specific;
        } specific;
 
        guchar digest[rspamd_cryptobox_HASHBYTES];