]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Honor more redirect 3xx codes
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 25 Feb 2023 19:35:37 +0000 (19:35 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 25 Feb 2023 19:35:37 +0000 (19:35 +0000)
Issue: #4395

src/plugins/lua/url_redirector.lua

index 641d8de6603520b0d92e4a369e795a4a9a1d7838..512e6a0059d425766eeba90bd18243d6b3564500 100644 (file)
@@ -170,6 +170,14 @@ local function resolve_cached(task, orig_url, url, key, ntries)
       return
     end
 
+    local redirection_codes = {
+      [301] = true, -- moved permanently
+      [302] = true, -- found
+      [303] = true, -- see other
+      [307] = true, -- temporary redirect
+      [308] = true, -- permanent redirect
+    }
+
     local function http_callback(err, code, _, headers)
       if err then
         rspamd_logger.infox(task, 'found redirect error from %s to %s, err message: %s',
@@ -187,7 +195,7 @@ local function resolve_cached(task, orig_url, url, key, ntries)
 
           cache_url(task, orig_url, url, key)
 
-        elseif code == 301 or code == 302 then
+        elseif redirection_codes[code] then
           local loc = headers['location']
           local redir_url
           if loc then