From 1365d150db4a08a5facf0fb478338e62733c413a Mon Sep 17 00:00:00 2001 From: gorhill Date: Wed, 23 Dec 2015 18:36:57 -0500 Subject: [PATCH] lower parser restrictions for redirect filters --- src/js/redirect-engine.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/js/redirect-engine.js b/src/js/redirect-engine.js index f642984ac..eff180966 100644 --- a/src/js/redirect-engine.js +++ b/src/js/redirect-engine.js @@ -207,11 +207,10 @@ RedirectEngine.prototype.compileRuleFromStaticFilter = function(line) { return; } - var pattern = (matches[1] + matches[2]).replace(/[.+?{}()|[\]\\]/g, '\\$&') - .replace(/\^/g, '[^\\w\\d%-]') - .replace(/\*/g, '.*?'); - - var des = matches[1]; + var des = matches[1] || ''; + var pattern = (des + matches[2]).replace(/[.+?{}()|[\]\\]/g, '\\$&') + .replace(/\^/g, '[^\\w\\d%-]') + .replace(/\*/g, '.*?'); var type; var redirect = ''; var srcs = []; @@ -267,10 +266,6 @@ RedirectEngine.prototype.compileRuleFromStaticFilter = function(line) { if ( src.startsWith('~') ) { continue; } - // Need at least one specific src or des. - if ( src === '*' && des === '*' ) { - continue; - } out.push(src + '\t' + des + '\t' + type + '\t' + pattern + '\t' + redirect); } @@ -279,7 +274,7 @@ RedirectEngine.prototype.compileRuleFromStaticFilter = function(line) { /******************************************************************************/ -RedirectEngine.prototype.reFilterParser = /^\|\|([^\/?#^*]+)([^$]+)\$([^$]+)$/; +RedirectEngine.prototype.reFilterParser = /^(?:\|\|([^\/?#^*]+)|\*)([^$]+)\$([^$]+)$/; RedirectEngine.prototype.supportedTypes = (function() { var types = Object.create(null);