]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth gsqlite3: handle escaping correctly for API search. Fixes #8791 8829/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Fri, 14 Feb 2020 16:47:47 +0000 (17:47 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 11 Jan 2021 21:49:50 +0000 (22:49 +0100)
modules/gsqlite3backend/gsqlite3backend.cc

index 92a2ec21e296b27337d3e89ade741a7e91ec30f3..7a66238c7f9af8460afe7fc1f26ea2d072d3e91e 100644 (file)
@@ -153,8 +153,8 @@ public:
     declare(suffix, "insert-comment-query", "", "INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (:domain_id, :qname, :qtype, :modified_at, :account, :content)");
     declare(suffix, "delete-comment-rrset-query", "", "DELETE FROM comments WHERE domain_id=:domain_id AND name=:qname AND type=:qtype");
     declare(suffix, "delete-comments-query", "", "DELETE FROM comments WHERE domain_id=:domain_id");
-    declare(suffix, "search-records-query", "", record_query+" name LIKE :value OR content LIKE :value2 LIMIT :limit");
-    declare(suffix, "search-comments-query", "", "SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE name LIKE :value OR comment LIKE :value2 LIMIT :limit");
+    declare(suffix, "search-records-query", "", record_query+" name LIKE :value ESCAPE '\\' OR content LIKE :value2 ESCAPE '\\' LIMIT :limit");
+    declare(suffix, "search-comments-query", "", "SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE name LIKE :value ESCAPE '\\' OR comment LIKE :value2 ESCAPE '\\' LIMIT :limit");
   }
 
   //! Constructs a new gSQLite3Backend object.