diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-03-06 11:27:24 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-03-09 10:46:11 +0000 |
commit | f1d8615a328e2e7361445bcc91d96d2d42cddbb8 (patch) | |
tree | 809fe90c779d9e9818dbc0e9ad28dfe5273fcbf7 /src/lua | |
parent | 369d9c23902ce6c8350884b8e5fbb5138d0340af (diff) | |
download | rspamd-f1d8615a328e2e7361445bcc91d96d2d42cddbb8.tar.gz rspamd-f1d8615a328e2e7361445bcc91d96d2d42cddbb8.zip |
[Rework] Rework URL structure: user field
Diffstat (limited to 'src/lua')
-rw-r--r-- | src/lua/lua_url.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lua/lua_url.c b/src/lua/lua_url.c index 0bd4f1c7e..7b0dee89b 100644 --- a/src/lua/lua_url.c +++ b/src/lua/lua_url.c @@ -198,8 +198,8 @@ lua_url_get_user (lua_State *L) LUA_TRACE_POINT; struct rspamd_lua_url *url = lua_check_url (L, 1); - if (url != NULL && url->url->user != NULL) { - lua_pushlstring (L, url->url->user, url->url->userlen); + if (url != NULL && rspamd_url_user (url->url) != NULL) { + lua_pushlstring (L, rspamd_url_user (url->url), url->url->userlen); } else { lua_pushnil (L); @@ -307,7 +307,10 @@ lua_url_tostring (lua_State *L) if (url->url->protocol == PROTOCOL_MAILTO) { gchar *tmp = g_malloc (url->url->userlen + 1 + url->url->hostlen); - memcpy (tmp, url->url->user, url->url->userlen); + if (url->url->userlen) { + memcpy (tmp, url->url->string + url->url->usershift, url->url->userlen); + } + tmp[url->url->userlen] = '@'; memcpy (tmp + url->url->userlen + 1, url->url->host, url->url->hostlen); @@ -675,7 +678,7 @@ lua_url_to_table (lua_State *L) if (u->userlen > 0) { lua_pushstring (L, "user"); - lua_pushlstring (L, u->user, u->userlen); + lua_pushlstring (L, rspamd_url_user (u), u->userlen); lua_settable (L, -3); } |