Manybubbles has uploaded a new change for review.
https://gerrit.wikimedia.org/r/175124
Change subject: Escape multiple range operators in a row
......................................................................
Escape multiple range operators in a row
You used to be able to sneak a range query in by repeating it like >>s to
match all tokens after s.
Change-Id: Iabf1b36b6cc3c9ff54489b966ef50b3f8c7896af
---
M includes/Search/Escaper.php
M tests/browser/features/bad_syntax.feature
2 files changed, 5 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch
refs/changes/24/175124/1
diff --git a/includes/Search/Escaper.php b/includes/Search/Escaper.php
index 3a97a6a..06cf51e 100644
--- a/includes/Search/Escaper.php
+++ b/includes/Search/Escaper.php
@@ -96,7 +96,7 @@
$string = preg_replace( '/(?<![\w])([?*])/u', '', $string );
// Reduce token ranges to bare tokens without the < or >
- $string = preg_replace( '/(?:<|>)([^\s])/u', '$1', $string );
+ $string = preg_replace( '/(?:<|>)+([^\s])/u', '$1', $string );
// Turn bad fuzzy searches into searches that contain a ~ and
set $this->fuzzyQuery for good ones.
$fuzzyQuery = false;
diff --git a/tests/browser/features/bad_syntax.feature
b/tests/browser/features/bad_syntax.feature
index 2c08285..acb845a 100644
--- a/tests/browser/features/bad_syntax.feature
+++ b/tests/browser/features/bad_syntax.feature
@@ -146,6 +146,10 @@
| < |
| >> |
| <> |
+ | <>= |
+ | >>> |
+ | <<< |
+ | <<<~ |
@filters
Scenario Outline: Empty filters work like terms but aren't in test data so
aren't found
--
To view, visit https://gerrit.wikimedia.org/r/175124
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iabf1b36b6cc3c9ff54489b966ef50b3f8c7896af
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: Manybubbles <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits