Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 94b620a

Browse files
authored
Use direct references for configuration variables (part 6). (#10916)
1 parent 8cef1ab commit 94b620a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+141
-132
lines changed

changelog.d/10916.misc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Use direct references to config flags.

synapse/app/_base.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ def start_worker_reactor(appname, config, run_command=reactor.run):
8686

8787
start_reactor(
8888
appname,
89-
soft_file_limit=config.soft_file_limit,
90-
gc_thresholds=config.gc_thresholds,
89+
soft_file_limit=config.server.soft_file_limit,
90+
gc_thresholds=config.server.gc_thresholds,
9191
pid_file=config.worker.worker_pid_file,
9292
daemonize=config.worker.worker_daemonize,
93-
print_pidfile=config.print_pidfile,
93+
print_pidfile=config.server.print_pidfile,
9494
logger=logger,
9595
run_command=run_command,
9696
)
@@ -298,7 +298,7 @@ def refresh_certificate(hs):
298298
Refresh the TLS certificates that Synapse is using by re-reading them from
299299
disk and updating the TLS context factories to use them.
300300
"""
301-
if not hs.config.has_tls_listener():
301+
if not hs.config.server.has_tls_listener():
302302
return
303303

304304
hs.config.read_certificate_from_disk()

synapse/app/admin_cmd.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -195,14 +195,14 @@ def start(config_options):
195195
config.logging.no_redirect_stdio = True
196196

197197
# Explicitly disable background processes
198-
config.update_user_directory = False
198+
config.server.update_user_directory = False
199199
config.worker.run_background_tasks = False
200200
config.start_pushers = False
201201
config.pusher_shard_config.instances = []
202202
config.send_federation = False
203203
config.federation_shard_config.instances = []
204204

205-
synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts
205+
synapse.events.USE_FROZEN_DICTS = config.server.use_frozen_dicts
206206

207207
ss = AdminCmdServer(
208208
config.server.server_name,

synapse/app/generic_worker.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ def start(config_options):
462462
# For other worker types we force this to off.
463463
config.server.update_user_directory = False
464464

465-
synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts
465+
synapse.events.USE_FROZEN_DICTS = config.server.use_frozen_dicts
466466
synapse.util.caches.TRACK_MEMORY_USAGE = config.caches.track_memory_usage
467467

468468
if config.server.gc_seconds:

synapse/app/homeserver.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def _configure_named_resource(self, name, compress=False):
248248
resources[SERVER_KEY_V2_PREFIX] = KeyApiV2Resource(self)
249249

250250
if name == "webclient":
251-
webclient_loc = self.config.web_client_location
251+
webclient_loc = self.config.server.web_client_location
252252

253253
if webclient_loc is None:
254254
logger.warning(
@@ -343,7 +343,7 @@ def setup(config_options):
343343
# generating config files and shouldn't try to continue.
344344
sys.exit(0)
345345

346-
events.USE_FROZEN_DICTS = config.use_frozen_dicts
346+
events.USE_FROZEN_DICTS = config.server.use_frozen_dicts
347347
synapse.util.caches.TRACK_MEMORY_USAGE = config.caches.track_memory_usage
348348

349349
if config.server.gc_seconds:
@@ -439,11 +439,11 @@ def profiled(*args, **kargs):
439439

440440
_base.start_reactor(
441441
"synapse-homeserver",
442-
soft_file_limit=hs.config.soft_file_limit,
443-
gc_thresholds=hs.config.gc_thresholds,
444-
pid_file=hs.config.pid_file,
445-
daemonize=hs.config.daemonize,
446-
print_pidfile=hs.config.print_pidfile,
442+
soft_file_limit=hs.config.server.soft_file_limit,
443+
gc_thresholds=hs.config.server.gc_thresholds,
444+
pid_file=hs.config.server.pid_file,
445+
daemonize=hs.config.server.daemonize,
446+
print_pidfile=hs.config.server.print_pidfile,
447447
logger=logger,
448448
)
449449

synapse/app/phone_stats_home.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ async def phone_stats_home(hs, stats, stats_process=_stats_process):
7474
store = hs.get_datastore()
7575

7676
stats["homeserver"] = hs.config.server.server_name
77-
stats["server_context"] = hs.config.server_context
77+
stats["server_context"] = hs.config.server.server_context
7878
stats["timestamp"] = now
7979
stats["uptime_seconds"] = uptime
8080
version = sys.version_info
@@ -171,7 +171,7 @@ async def generate_monthly_active_users():
171171
current_mau_count_by_service = {}
172172
reserved_users = ()
173173
store = hs.get_datastore()
174-
if hs.config.limit_usage_by_mau or hs.config.mau_stats_only:
174+
if hs.config.server.limit_usage_by_mau or hs.config.server.mau_stats_only:
175175
current_mau_count = await store.get_monthly_active_count()
176176
current_mau_count_by_service = (
177177
await store.get_monthly_active_count_by_service()
@@ -183,9 +183,9 @@ async def generate_monthly_active_users():
183183
current_mau_by_service_gauge.labels(app_service).set(float(count))
184184

185185
registered_reserved_users_mau_gauge.set(float(len(reserved_users)))
186-
max_mau_gauge.set(float(hs.config.max_mau_value))
186+
max_mau_gauge.set(float(hs.config.server.max_mau_value))
187187

188-
if hs.config.limit_usage_by_mau or hs.config.mau_stats_only:
188+
if hs.config.server.limit_usage_by_mau or hs.config.server.mau_stats_only:
189189
generate_monthly_active_users()
190190
clock.looping_call(generate_monthly_active_users, 5 * 60 * 1000)
191191
# End of monthly active user settings

synapse/config/_base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ def __getattr__(self, item: str) -> Any:
327327
"""
328328
Redirect lookups on this object either to config objects, or values on
329329
config objects, so that `config.tls.blah` works, as well as legacy uses
330-
of things like `config.server_name`. It will first look up the config
330+
of things like `config.server.server_name`. It will first look up the config
331331
section name, and then values on those config classes.
332332
"""
333333
if item in self._configs.keys():

synapse/config/server.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# Copyright 2014-2016 OpenMarket Ltd
2-
# Copyright 2017-2018 New Vector Ltd
3-
# Copyright 2019 The Matrix.org Foundation C.I.C.
1+
# Copyright 2014-2021 The Matrix.org Foundation C.I.C.
42
#
53
# Licensed under the Apache License, Version 2.0 (the "License");
64
# you may not use this file except in compliance with the License.

synapse/events/presence_router.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ def load_legacy_presence_router(hs: "HomeServer"):
4545
configuration, and registers the hooks they implement.
4646
"""
4747

48-
if hs.config.presence_router_module_class is None:
48+
if hs.config.server.presence_router_module_class is None:
4949
return
5050

51-
module = hs.config.presence_router_module_class
52-
config = hs.config.presence_router_config
51+
module = hs.config.server.presence_router_module_class
52+
config = hs.config.server.presence_router_config
5353
api = hs.get_module_api()
5454

5555
presence_router = module(config=config, module_api=api)

synapse/events/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ class EventClientSerializer:
372372
def __init__(self, hs):
373373
self.store = hs.get_datastore()
374374
self.experimental_msc1849_support_enabled = (
375-
hs.config.experimental_msc1849_support_enabled
375+
hs.config.server.experimental_msc1849_support_enabled
376376
)
377377

378378
async def serialize_event(

synapse/federation/transport/server/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def __init__(
117117
):
118118
super().__init__(hs, authenticator, ratelimiter, server_name)
119119
self.handler = hs.get_room_list_handler()
120-
self.allow_access = hs.config.allow_public_rooms_over_federation
120+
self.allow_access = hs.config.server.allow_public_rooms_over_federation
121121

122122
async def on_GET(
123123
self, origin: str, content: Literal[None], query: Dict[bytes, List[bytes]]

synapse/handlers/directory.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def __init__(self, hs: "HomeServer"):
4949
self.store = hs.get_datastore()
5050
self.config = hs.config
5151
self.enable_room_list_search = hs.config.roomdirectory.enable_room_list_search
52-
self.require_membership = hs.config.require_membership_for_aliases
52+
self.require_membership = hs.config.server.require_membership_for_aliases
5353
self.third_party_event_rules = hs.get_third_party_event_rules()
5454

5555
self.federation = hs.get_federation_client()

synapse/handlers/federation.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ async def on_invite_request(
762762
if is_blocked:
763763
raise SynapseError(403, "This room has been blocked on this server")
764764

765-
if self.hs.config.block_non_admin_invites:
765+
if self.hs.config.server.block_non_admin_invites:
766766
raise SynapseError(403, "This server does not accept room invites")
767767

768768
if not await self.spam_checker.user_may_invite(

synapse/handlers/identity.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def __init__(self, hs: "HomeServer"):
5757
self.http_client = SimpleHttpClient(hs)
5858
# An HTTP client for contacting identity servers specified by clients.
5959
self.blacklisting_http_client = SimpleHttpClient(
60-
hs, ip_blacklist=hs.config.federation_ip_range_blacklist
60+
hs, ip_blacklist=hs.config.server.federation_ip_range_blacklist
6161
)
6262
self.federation_http_client = hs.get_federation_http_client()
6363
self.hs = hs

synapse/handlers/message.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def __init__(self, hs: "HomeServer"):
8181
self.storage = hs.get_storage()
8282
self.state_store = self.storage.state
8383
self._event_serializer = hs.get_event_client_serializer()
84-
self._ephemeral_events_enabled = hs.config.enable_ephemeral_messages
84+
self._ephemeral_events_enabled = hs.config.server.enable_ephemeral_messages
8585

8686
# The scheduled call to self._expire_event. None if no call is currently
8787
# scheduled.
@@ -415,7 +415,9 @@ def __init__(self, hs: "HomeServer"):
415415
self.server_name = hs.hostname
416416
self.notifier = hs.get_notifier()
417417
self.config = hs.config
418-
self.require_membership_for_aliases = hs.config.require_membership_for_aliases
418+
self.require_membership_for_aliases = (
419+
hs.config.server.require_membership_for_aliases
420+
)
419421
self._events_shard_config = self.config.worker.events_shard_config
420422
self._instance_name = hs.get_instance_name()
421423

@@ -425,7 +427,7 @@ def __init__(self, hs: "HomeServer"):
425427
Membership.JOIN,
426428
Membership.KNOCK,
427429
}
428-
if self.hs.config.include_profile_data_on_invite:
430+
if self.hs.config.server.include_profile_data_on_invite:
429431
self.membership_types_to_include_profile_data_in.add(Membership.INVITE)
430432

431433
self.send_event = ReplicationSendEventRestServlet.make_client(hs)
@@ -461,11 +463,11 @@ def __init__(self, hs: "HomeServer"):
461463
#
462464
self._rooms_to_exclude_from_dummy_event_insertion: Dict[str, int] = {}
463465
# The number of forward extremeities before a dummy event is sent.
464-
self._dummy_events_threshold = hs.config.dummy_events_threshold
466+
self._dummy_events_threshold = hs.config.server.dummy_events_threshold
465467

466468
if (
467469
self.config.worker.run_background_tasks
468-
and self.config.cleanup_extremities_with_dummy_events
470+
and self.config.server.cleanup_extremities_with_dummy_events
469471
):
470472
self.clock.looping_call(
471473
lambda: run_as_background_process(
@@ -477,7 +479,7 @@ def __init__(self, hs: "HomeServer"):
477479

478480
self._message_handler = hs.get_message_handler()
479481

480-
self._ephemeral_events_enabled = hs.config.enable_ephemeral_messages
482+
self._ephemeral_events_enabled = hs.config.server.enable_ephemeral_messages
481483

482484
self._external_cache = hs.get_external_cache()
483485

synapse/handlers/pagination.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,18 @@ def __init__(self, hs: "HomeServer"):
8585
self._purges_by_id: Dict[str, PurgeStatus] = {}
8686
self._event_serializer = hs.get_event_client_serializer()
8787

88-
self._retention_default_max_lifetime = hs.config.retention_default_max_lifetime
88+
self._retention_default_max_lifetime = (
89+
hs.config.server.retention_default_max_lifetime
90+
)
8991

90-
self._retention_allowed_lifetime_min = hs.config.retention_allowed_lifetime_min
91-
self._retention_allowed_lifetime_max = hs.config.retention_allowed_lifetime_max
92+
self._retention_allowed_lifetime_min = (
93+
hs.config.server.retention_allowed_lifetime_min
94+
)
95+
self._retention_allowed_lifetime_max = (
96+
hs.config.server.retention_allowed_lifetime_max
97+
)
9298

93-
if hs.config.worker.run_background_tasks and hs.config.retention_enabled:
99+
if hs.config.worker.run_background_tasks and hs.config.server.retention_enabled:
94100
# Run the purge jobs described in the configuration file.
95101
for job in hs.config.server.retention_purge_jobs:
96102
logger.info("Setting up purge job with config: %s", job)

synapse/handlers/profile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ async def check_profile_query_allowed(
397397
# when building a membership event. In this case, we must allow the
398398
# lookup.
399399
if (
400-
not self.hs.config.limit_profile_requests_to_users_who_share_rooms
400+
not self.hs.config.server.limit_profile_requests_to_users_who_share_rooms
401401
or not requester
402402
):
403403
return

synapse/handlers/register.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ async def post_registration_actions(
854854
# Necessary due to auth checks prior to the threepid being
855855
# written to the db
856856
if is_threepid_reserved(
857-
self.hs.config.mau_limits_reserved_threepids, threepid
857+
self.hs.config.server.mau_limits_reserved_threepids, threepid
858858
):
859859
await self.store.upsert_monthly_active_user(user_id)
860860

synapse/handlers/room.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ async def create_room(
666666
await self.ratelimit(requester)
667667

668668
room_version_id = config.get(
669-
"room_version", self.config.default_room_version.identifier
669+
"room_version", self.config.server.default_room_version.identifier
670670
)
671671

672672
if not isinstance(room_version_id, str):

synapse/handlers/room_member.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def __init__(self, hs: "HomeServer"):
9090
self.third_party_event_rules = hs.get_third_party_event_rules()
9191
self._server_notices_mxid = self.config.servernotices.server_notices_mxid
9292
self._enable_lookup = hs.config.enable_3pid_lookup
93-
self.allow_per_room_profiles = self.config.allow_per_room_profiles
93+
self.allow_per_room_profiles = self.config.server.allow_per_room_profiles
9494

9595
self._join_rate_limiter_local = Ratelimiter(
9696
store=self.store,
@@ -617,7 +617,7 @@ async def update_membership_locked(
617617
is_requester_admin = await self.auth.is_server_admin(requester.user)
618618

619619
if not is_requester_admin:
620-
if self.config.block_non_admin_invites:
620+
if self.config.server.block_non_admin_invites:
621621
logger.info(
622622
"Blocking invite: user is not admin and non-admin "
623623
"invites disabled"
@@ -1222,7 +1222,7 @@ async def do_3pid_invite(
12221222
Raises:
12231223
ShadowBanError if the requester has been shadow-banned.
12241224
"""
1225-
if self.config.block_non_admin_invites:
1225+
if self.config.server.block_non_admin_invites:
12261226
is_requester_admin = await self.auth.is_server_admin(requester.user)
12271227
if not is_requester_admin:
12281228
raise SynapseError(
@@ -1420,7 +1420,7 @@ async def _is_remote_room_too_complex(
14201420
Returns: bool of whether the complexity is too great, or None
14211421
if unable to be fetched
14221422
"""
1423-
max_complexity = self.hs.config.limit_remote_rooms.complexity
1423+
max_complexity = self.hs.config.server.limit_remote_rooms.complexity
14241424
complexity = await self.federation_handler.get_room_complexity(
14251425
remote_room_hosts, room_id
14261426
)
@@ -1436,7 +1436,7 @@ async def _is_local_room_too_complex(self, room_id: str) -> bool:
14361436
Args:
14371437
room_id: The room ID to check for complexity.
14381438
"""
1439-
max_complexity = self.hs.config.limit_remote_rooms.complexity
1439+
max_complexity = self.hs.config.server.limit_remote_rooms.complexity
14401440
complexity = await self.store.get_room_complexity(room_id)
14411441

14421442
return complexity["v1"] > max_complexity
@@ -1472,7 +1472,7 @@ async def _remote_join(
14721472
if too_complex is True:
14731473
raise SynapseError(
14741474
code=400,
1475-
msg=self.hs.config.limit_remote_rooms.complexity_error,
1475+
msg=self.hs.config.server.limit_remote_rooms.complexity_error,
14761476
errcode=Codes.RESOURCE_LIMIT_EXCEEDED,
14771477
)
14781478

@@ -1507,7 +1507,7 @@ async def _remote_join(
15071507
)
15081508
raise SynapseError(
15091509
code=400,
1510-
msg=self.hs.config.limit_remote_rooms.complexity_error,
1510+
msg=self.hs.config.server.limit_remote_rooms.complexity_error,
15111511
errcode=Codes.RESOURCE_LIMIT_EXCEEDED,
15121512
)
15131513

synapse/handlers/search.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ async def search(
105105
dict to be returned to the client with results of search
106106
"""
107107

108-
if not self.hs.config.enable_search:
108+
if not self.hs.config.server.enable_search:
109109
raise SynapseError(400, "Search is disabled on this homeserver")
110110

111111
batch_group = None

synapse/handlers/user_directory.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def __init__(self, hs: "HomeServer"):
6060
self.clock = hs.get_clock()
6161
self.notifier = hs.get_notifier()
6262
self.is_mine_id = hs.is_mine_id
63-
self.update_user_directory = hs.config.update_user_directory
63+
self.update_user_directory = hs.config.server.update_user_directory
6464
self.search_all_users = hs.config.userdirectory.user_directory_search_all_users
6565
self.spam_checker = hs.get_spam_checker()
6666
# The current position in the current_state_delta stream

0 commit comments

Comments
 (0)