aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-03-06 11:27:24 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-03-09 10:46:11 +0000
commitf1d8615a328e2e7361445bcc91d96d2d42cddbb8 (patch)
tree809fe90c779d9e9818dbc0e9ad28dfe5273fcbf7 /src/lua
parent369d9c23902ce6c8350884b8e5fbb5138d0340af (diff)
downloadrspamd-f1d8615a328e2e7361445bcc91d96d2d42cddbb8.tar.gz
rspamd-f1d8615a328e2e7361445bcc91d96d2d42cddbb8.zip
[Rework] Rework URL structure: user field
Diffstat (limited to 'src/lua')
-rw-r--r--src/lua/lua_url.c11
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);
}