From: Vsevolod Stakhov Date: Fri, 30 Jul 2021 12:52:08 +0000 (+0100) Subject: Revert "[Minor] Implement backslashes replacement while we normalise http paths" X-Git-Tag: 3.0~69 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0250213db37ea12a4eafc7a29ade2c28fcc99015;p=rspamd.git Revert "[Minor] Implement backslashes replacement while we normalise http paths" This reverts commit 05d1951b5cfb9b72378eb3c1bdfdaa025b355789. --- diff --git a/src/libserver/http/http_util.c b/src/libserver/http/http_util.c index e6ba314d0..fd5adb3c1 100644 --- a/src/libserver/http/http_util.c +++ b/src/libserver/http/http_util.c @@ -312,8 +312,7 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) st_got_dot_dot, st_got_slash, st_got_slash_slash, - st_replace_backslash, - } state = st_normal, next_state; + } state = st_normal; p = path; end = path + len; @@ -330,11 +329,6 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) state = st_got_dot; dot = p; } - else if (G_UNLIKELY (*p == '\\')) { - state = st_replace_backslash; - next_state = st_normal; - continue; - } else { *o++ = *p; } @@ -346,11 +340,6 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) *o++ = *p; state = st_got_slash_slash; } - else if (G_UNLIKELY (*p == '\\')) { - state = st_replace_backslash; - next_state = st_got_slash; - continue; - } else if (G_UNLIKELY (*p == '.')) { dot = p; state = st_got_dot; @@ -386,11 +375,6 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) /* Ignore last slash */ state = st_normal; } - else if (G_UNLIKELY (*p == '\\')) { - state = st_replace_backslash; - next_state = st_got_dot; - continue; - } else if (*p == '.') { /* Double dot character */ state = st_got_dot_dot; @@ -452,11 +436,6 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) continue; } } - else if (G_UNLIKELY (*p == '\\')) { - state = st_replace_backslash; - next_state = st_got_dot_dot; - continue; - } else { /* We have something like ..bla or ... */ if (slash) { @@ -476,14 +455,6 @@ rspamd_http_normalize_path_inplace (gchar *path, guint len, gsize *nlen) p ++; break; - case st_replace_backslash: - /* - * Replace backslash and return to the previous state as it was - * a normal slash - */ - *(gchar *)p = '/'; - state = next_state; - break; } }