commit f33d6b0: [Minor] Normalise backslashes to slashes in urls

Vsevolod Stakhov vsevolod at highsecure.ru
Fri Dec 20 13:56:07 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-12-20 13:51:53 +0000
URL: https://github.com/rspamd/rspamd/commit/f33d6b0d3f2fd5418c9380e99fa27e141e5226b4 (HEAD -> master)

[Minor] Normalise backslashes to slashes in urls

---
 src/libserver/url.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/libserver/url.c b/src/libserver/url.c
index 985df24ac..9b1fa9309 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -2124,6 +2124,21 @@ rspamd_url_parse (struct rspamd_url *uri,
 				}
 			}
 		}
+
+		/* Replace stupid '\' with '/' after schema */
+		if (uri->protocol & (PROTOCOL_HTTP|PROTOCOL_HTTPS|PROTOCOL_FTP) &&
+			uri->protocollen > 0 && uri->urllen > uri->protocollen + 2) {
+
+			gchar *pos = &uri->string[uri->protocollen], *host_start = uri->host;
+
+			while (pos < host_start) {
+				if (*pos == '\\') {
+					*pos = '/';
+					uri->flags |= RSPAMD_URL_FLAG_OBSCURED;
+				}
+				pos ++;
+			}
+		}
 	}
 	else if (uri->protocol & PROTOCOL_TELEPHONE) {
 		/* We need to normalise phone number: remove all spaces and braces */


More information about the Commits mailing list