Browse Source

[Minor] Fix parsing of URLs with displayed UTF characters

tags/1.9.0
Vsevolod Stakhov 5 years ago
parent
commit
fcf1b617ed
1 changed files with 11 additions and 8 deletions
  1. 11
    8
      src/libserver/url.c

+ 11
- 8
src/libserver/url.c View File

@@ -1021,11 +1021,13 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len,
(*flags) |= RSPAMD_URL_FLAG_OBSCURED;
}
else {
if (!(parse_flags & RSPAMD_URL_PARSE_CHECK)) {
goto out;
}
else {
goto set;
if (!u_isgraph (uc)) {
if (!(parse_flags & RSPAMD_URL_PARSE_CHECK)) {
goto out;
}
else {
goto set;
}
}
}
}
@@ -3284,10 +3286,11 @@ rspamd_url_encode (struct rspamd_url *url, gsize *pdlen,
d = dest;
dend = d + dlen;

if (url->protocollen > 0 &&
(url->protocol >= 0 && url->protocol < G_N_ELEMENTS (rspamd_url_protocols))) {
if (url->protocollen > 0) {
d += rspamd_snprintf ((gchar *) d, dend - d,
"%*s://", url->protocollen, rspamd_url_protocols[url->protocol].name);
"%*s://",
url->protocollen,
rspamd_url_protocol_name (url->protocol));
}
else {
d += rspamd_snprintf ((gchar *) d, dend - d, "http://");

Loading…
Cancel
Save