From a22f232ae36999c2a7c8c29e95320609b80f33ec Mon Sep 17 00:00:00 2001 From: Travis Briggs Date: Sat, 8 Oct 2022 10:16:08 -0700 Subject: [PATCH 1/2] Fix access control check in $search() function --- evennia/utils/funcparser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evennia/utils/funcparser.py b/evennia/utils/funcparser.py index 5e979061f8..697727630b 100644 --- a/evennia/utils/funcparser.py +++ b/evennia/utils/funcparser.py @@ -1162,7 +1162,7 @@ def funcparser_callable_search(*args, caller=None, access="control", **kwargs): ) for target in targets: - if not target.access(caller, target, access): + if not target.access(caller, access): raise ParsingError("$search Cannot add found entity - access failure.") return list(targets) if return_list else targets[0] From 4eb0940b36368ad6a32b97dd0553db2e3cc3c009 Mon Sep 17 00:00:00 2001 From: Travis Briggs Date: Mon, 10 Oct 2022 15:30:43 -0700 Subject: [PATCH 2/2] Fix tests --- evennia/utils/tests/test_funcparser.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evennia/utils/tests/test_funcparser.py b/evennia/utils/tests/test_funcparser.py index 85e1cb2386..015b5dea63 100644 --- a/evennia/utils/tests/test_funcparser.py +++ b/evennia/utils/tests/test_funcparser.py @@ -528,6 +528,7 @@ class TestCallableSearch(test_resources.BaseEvenniaTest): """ string = "$search(TestAccount, type=account)" expected = self.account + self.account.locks.add("control:id(%s)" % self.char1.dbref) ret = self.parser.parse(string, caller=self.char1, return_str=False, raise_errors=True) self.assertEqual(expected, ret) @@ -539,6 +540,7 @@ class TestCallableSearch(test_resources.BaseEvenniaTest): """ string = "$search(Script, type=script)" expected = self.script + self.script.locks.add("control:id(%s)" % self.char1.dbref) ret = self.parser.parse(string, caller=self.char1, return_str=False, raise_errors=True) self.assertEqual(expected, ret)