]> source.dussan.org Git - rspamd.git/commitdiff
Email usernames can contain atom symbols.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 17 Feb 2015 12:35:13 +0000 (12:35 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 17 Feb 2015 15:14:10 +0000 (15:14 +0000)
src/libserver/url.c

index 22cb15759e82d6738468a4f8c8543384371e2a38..0c002fe69099d1eddf7a25ea51b5646c6e607592 100644 (file)
@@ -809,7 +809,7 @@ rspamd_url_parse (struct rspamd_url *uri, gchar *uristring, gsize len,
 {
        struct http_parser_url u;
        gchar *p, *comp;
-       gint i, complen;
+       guint i, complen;
 
        const struct {
                enum rspamd_url_protocol proto;
@@ -1269,10 +1269,10 @@ url_email_start (const gchar *begin,
        if (pos > begin && *pos == '@') {
                /* Try to extract it with username */
                p = pos - 1;
-               while (p > begin && (is_domain (*p) || *p == '.' || *p == '_')) {
+               while (p > begin && is_atom (*p)) {
                        p--;
                }
-               if (!is_domain (*p) && p != pos - 1) {
+               if (!is_atom (*p) && p != pos - 1) {
                        match->m_begin = p + 1;
                        return TRUE;
                }
@@ -1283,7 +1283,7 @@ url_email_start (const gchar *begin,
        }
        else {
                p = pos + strlen (match->pattern);
-               if (is_domain (*p)) {
+               if (is_atom (*p)) {
                        match->m_begin = pos;
                        return TRUE;
                }