diff options
author | corvid <devnull@localhost> | 2014-12-24 20:34:41 +0000 |
---|---|---|
committer | corvid <devnull@localhost> | 2014-12-24 20:34:41 +0000 |
commit | c3437f496d24fe8c2ad674c83ade927cbdc075c4 (patch) | |
tree | 3fe822b1292346018f0b009d4baed76e9bc90c58 /src/cache.c | |
parent | 38eb3d87a6c0a15fc28dc694c245de27ad933367 (diff) | |
parent | 8685e116bdbe7b92c5fdcf685c14cfb976334637 (diff) |
merge 3.0.4.1 branch
Diffstat (limited to 'src/cache.c')
-rw-r--r-- | src/cache.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/cache.c b/src/cache.c index ee424c58..189e18d5 100644 --- a/src/cache.c +++ b/src/cache.c @@ -1001,14 +1001,20 @@ static int Cache_redirect(CacheEntry_t *entry, int Flags, BrowserWindow *bw) _MSG(" Cache_redirect: redirect_level = %d\n", bw->redirect_level); + /* Don't allow redirection for SpamSafe/local URLs */ + if (URL_FLAGS(entry->Url) & URL_SpamSafe) { + a_UIcmd_set_msg(bw, "WARNING: local URL with redirection. Aborting."); + return 0; + } + /* if there's a redirect loop, stop now */ if (bw->redirect_level >= 5) entry->Flags |= CA_RedirectLoop; if (entry->Flags & CA_RedirectLoop) { - a_UIcmd_set_msg(bw, "ERROR: redirect loop for: %s", URL_STR_(entry->Url)); - bw->redirect_level = 0; - return 0; + a_UIcmd_set_msg(bw, "ERROR: redirect loop for: %s", URL_STR_(entry->Url)); + bw->redirect_level = 0; + return 0; } if ((entry->Flags & CA_Redirect && entry->Location) && |