]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Lua_url: Propagate numeric flags
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 15 Apr 2021 14:52:25 +0000 (15:52 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 15 Apr 2021 14:52:25 +0000 (15:52 +0100)
src/libserver/url.c
src/libserver/url.h
src/lua/lua_url.c

index ad77686b792b5b347a8559e99e68602fffe22d27..a97db640a75cb1130e0eee31d3a61f407266f18d 100644 (file)
@@ -242,6 +242,7 @@ struct rspamd_url_flag_name {
                {"query", RSPAMD_URL_FLAG_QUERY, -1},
                {"content", RSPAMD_URL_FLAG_CONTENT, -1},
                {"no_tld", RSPAMD_URL_FLAG_NO_TLD, -1},
+               {"truncated", RSPAMD_URL_FLAG_TRUNCATED, -1},
 };
 
 
index 30c5ef0afb87bd3244e3a0cdbe7b7d6db0671fa4..11177492d4abd867b22b409c14ca13634ecec45e 100644 (file)
@@ -40,6 +40,7 @@ enum rspamd_url_flags {
        RSPAMD_URL_FLAG_NO_TLD = 1u << 22u,
        RSPAMD_URL_FLAG_TRUNCATED = 1u << 23u,
 };
+#define RSPAMD_URL_MAX_FLAG_SHIFT (24u)
 
 struct rspamd_url_tag {
        const gchar *data;
index c2dade139d40c6ddc1b1d66e947c1f044c132ddd..f3d64e225803bd55465a0099ed5242c8e1bf2788 100644 (file)
@@ -1391,13 +1391,23 @@ lua_url_lt (lua_State *L)
        return 1;
 }
 
-
 static gint
 lua_load_url (lua_State * L)
 {
        lua_newtable (L);
        luaL_register (L, NULL, urllib_f);
 
+       /* Push flags */
+       lua_createtable (L, 0, RSPAMD_URL_MAX_FLAG_SHIFT);
+       for (int i = 0; i < RSPAMD_URL_MAX_FLAG_SHIFT; i ++) {
+               guint flag = 1u << i;
+
+               lua_pushinteger (L, flag);
+               lua_setfield (L, -2, rspamd_url_flag_to_string (flag));
+       }
+
+       lua_setfield (L, -2, "flags");
+
        return 1;
 }