From 0d8cabe1e157902481bf76014d56de18d3204d08 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 24 Jul 2023 10:56:06 +0100 Subject: [PATCH] [Minor] Propagate port from url parser --- src/libserver/url.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libserver/url.c b/src/libserver/url.c index 0deede0680..33198b8613 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -2310,6 +2310,7 @@ rspamd_url_parse (struct rspamd_url *uri, } uri->urllen = len; + uri->flags = flags; for (i = 0; i < UF_MAX; i++) { if (u.field_set & (1 << i)) { @@ -2351,7 +2352,14 @@ rspamd_url_parse (struct rspamd_url *uri, } } - uri->flags = flags; + /* Port is 'special' in case of url_parser as it is not a part of UF_* macro logic */ + if (u.port != 0) { + if (!uri->ext) { + uri->ext = rspamd_mempool_alloc0_type(pool, struct rspamd_url_ext); + } + uri->flags |= RSPAMD_URL_FLAG_HAS_PORT; + uri->ext->port = u.port; + } if (!uri->hostlen) { return URI_ERRNO_HOST_MISSING; -- 2.47.3