diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 15:01:58 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 15:01:58 +0200 |
commit | af553d028b7f81d7cb8fcbcf5c289ea4da186a31 (patch) | |
tree | 15ff90cee31245614242721bd660c2c9e72e154c | |
parent | ab5df6ea74d6275a555b8a615131df876159b4f1 (diff) |
xapian: search: Sanitize date ranges in query string.
-rw-r--r-- | mumi/xapian.scm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mumi/xapian.scm b/mumi/xapian.scm index b00e8ee..9630274 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -205,9 +205,16 @@ messages and index their contents in the Xapian database at DBPATH." ;; closes the database once we're done. (call-with-database dbpath (lambda (db) - (let (;; Parse querystring passing a stemmer and suitable + (let* ((querystring* + (string-join (map (lambda (token) + (if (or (string-prefix? "date:" token) + (string-prefix? "mdate:" token)) + (sanitize-date-range token) + token)) + (string-tokenize querystring)))) + ;; Parse querystring passing a stemmer and suitable ;; prefixes for field search. - (query (parse-query* querystring + (query (parse-query* querystring* #:stemmer (make-stem "en") #:prefixes '(("submitter" . "A") ("author" . "XA") |