commit d04d3d9: [Rework] add alias util:parse_addr for util:parse_mail_address
Jan Smutny
js at excello.cz
Fri Apr 17 15:35:11 UTC 2020
Author: Jan Smutny
Date: 2020-04-17 15:28:37 +0200
URL: https://github.com/rspamd/rspamd/commit/d04d3d983dfce9a1e00cdbceaa3b4439432c4a98
[Rework] add alias util:parse_addr for util:parse_mail_address
---
src/lua/lua_util.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c
index d2efc9cb2..e7f18db2b 100644
--- a/src/lua/lua_util.c
+++ b/src/lua/lua_util.c
@@ -651,6 +651,7 @@ static const struct luaL_reg utillib_f[] = {
LUA_INTERFACE_DEF (util, humanize_number),
LUA_INTERFACE_DEF (util, get_tld),
LUA_INTERFACE_DEF (util, glob),
+ {"parse_addr", lua_util_parse_mail_address},
LUA_INTERFACE_DEF (util, parse_mail_address),
LUA_INTERFACE_DEF (util, strlen_utf8),
LUA_INTERFACE_DEF (util, lower_utf8),
@@ -1463,6 +1464,51 @@ lua_util_levenshtein_distance (lua_State *L)
return 1;
}
+static gint
+lua_util_parse_addr (lua_State *L)
+{
+ LUA_TRACE_POINT;
+ GPtrArray *addrs;
+ gsize len;
+ const gchar *str = luaL_checklstring (L, 1, &len);
+ rspamd_mempool_t *pool;
+ gboolean own_pool = FALSE;
+
+ if (str) {
+
+ if (lua_type (L, 2) == LUA_TUSERDATA) {
+ pool = rspamd_lua_check_mempool (L, 2);
+
+ if (pool == NULL) {
+ return luaL_error (L, "invalid arguments");
+ }
+ }
+ else {
+ pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
+ "lua util", 0);
+ own_pool = TRUE;
+ }
+
+ addrs = rspamd_email_address_from_mime (pool, str, len, NULL);
+
+ if (addrs == NULL) {
+ lua_pushnil (L);
+ }
+ else {
+ lua_push_emails_address_list (L, addrs, 0);
+ }
+
+ if (own_pool) {
+ rspamd_mempool_delete (pool);
+ }
+ }
+ else {
+ lua_pushnil (L);
+ }
+
+ return 1;
+}
+
static gint
lua_util_fold_header (lua_State *L)
{
More information about the Commits
mailing list