summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2019-03-20 16:47:15 +0000
committerGitHub <noreply@github.com>2019-03-20 16:47:15 +0000
commit263f2c9ce18b8dbf041ad65fb225bc587c590159 (patch)
treefb196c16cbe328f6f81326a699d65655ca6a9e17 /synapse
parentBatching in the user directory import (#4900) (diff)
parentAdd test (diff)
downloadsynapse-263f2c9ce18b8dbf041ad65fb225bc587c590159.tar.xz
Merge pull request #4895 from matrix-org/erikj/disable_user_search
Add option to disable searching in the user dir
Diffstat (limited to 'synapse')
-rw-r--r--synapse/config/user_directory.py9
-rw-r--r--synapse/rest/client/v2_alpha/user_directory.py6
2 files changed, 15 insertions, 0 deletions
diff --git a/synapse/config/user_directory.py b/synapse/config/user_directory.py

index fab3a7d1c8..142754a7dc 100644 --- a/synapse/config/user_directory.py +++ b/synapse/config/user_directory.py
@@ -22,9 +22,13 @@ class UserDirectoryConfig(Config): """ def read_config(self, config): + self.user_directory_search_enabled = True self.user_directory_search_all_users = False user_directory_config = config.get("user_directory", None) if user_directory_config: + self.user_directory_search_enabled = ( + user_directory_config.get("enabled", True) + ) self.user_directory_search_all_users = ( user_directory_config.get("search_all_users", False) ) @@ -33,6 +37,10 @@ class UserDirectoryConfig(Config): return """ # User Directory configuration # + # 'enabled' defines whether users can search the user directory. If + # false then empty responses are returned to all queries. Defaults to + # true. + # # 'search_all_users' defines whether to search all users visible to your HS # when searching the user directory, rather than limiting to users visible # in public rooms. Defaults to false. If you set it True, you'll have to run @@ -40,5 +48,6 @@ class UserDirectoryConfig(Config): # on your database to tell it to rebuild the user_directory search indexes. # #user_directory: + # enabled: true # search_all_users: false """ diff --git a/synapse/rest/client/v2_alpha/user_directory.py b/synapse/rest/client/v2_alpha/user_directory.py
index cac0624ba7..36b02de37f 100644 --- a/synapse/rest/client/v2_alpha/user_directory.py +++ b/synapse/rest/client/v2_alpha/user_directory.py
@@ -59,6 +59,12 @@ class UserDirectorySearchRestServlet(RestServlet): requester = yield self.auth.get_user_by_req(request, allow_guest=False) user_id = requester.user.to_string() + if not self.hs.config.user_directory_search_enabled: + defer.returnValue((200, { + "limited": False, + "results": [], + })) + body = parse_json_object_from_request(request) limit = body.get("limit", 10)