commit 0d8cabe: [Minor] Propagate port from url parser

Vsevolod Stakhov vsevolod at rspamd.com
Mon Jul 24 10:00:04 UTC 2023


Author: Vsevolod Stakhov
Date: 2023-07-24 10:56:06 +0100
URL: https://github.com/rspamd/rspamd/commit/0d8cabe1e157902481bf76014d56de18d3204d08 (HEAD -> master)

[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 0deede068..33198b861 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;


More information about the Commits mailing list