commit de37436: [Minor] Lua_url: Propagate numeric flags

Vsevolod Stakhov vsevolod at highsecure.ru
Thu Apr 15 15:07:05 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-04-15 15:52:25 +0100
URL: https://github.com/rspamd/rspamd/commit/de374366c4872a6edd6a853a3b4dd5d65e2ded11

[Minor] Lua_url: Propagate numeric flags

---
 src/libserver/url.c |  1 +
 src/libserver/url.h |  1 +
 src/lua/lua_url.c   | 12 +++++++++++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/libserver/url.c b/src/libserver/url.c
index ad77686b7..a97db640a 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -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},
 };
 
 
diff --git a/src/libserver/url.h b/src/libserver/url.h
index 30c5ef0af..11177492d 100644
--- a/src/libserver/url.h
+++ b/src/libserver/url.h
@@ -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;
diff --git a/src/lua/lua_url.c b/src/lua/lua_url.c
index c2dade139..f3d64e225 100644
--- a/src/lua/lua_url.c
+++ b/src/lua/lua_url.c
@@ -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;
 }
 


More information about the Commits mailing list