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

Commit 7fbf424

Browse files
authored
Use getClientAddress instead of getClientIP. (#12599)
getClientIP was deprecated in Twisted 18.4.0, which also added getClientAddress. The Synapse minimum version for Twisted is currently 18.9.0, so all supported versions have the new API.
1 parent 116a4c8 commit 7fbf424

File tree

16 files changed

+62
-46
lines changed

16 files changed

+62
-46
lines changed

changelog.d/12599.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Use `getClientAddress` instead of the deprecated `getClientIP`.

synapse/api/auth.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ async def _wrapped_get_user_by_req(
187187
Once get_user_by_req has set up the opentracing span, this does the actual work.
188188
"""
189189
try:
190-
ip_addr = request.getClientIP()
190+
ip_addr = request.getClientAddress().host
191191
user_agent = get_request_user_agent(request)
192192

193193
access_token = self.get_access_token_from_request(request)
@@ -356,7 +356,7 @@ async def _get_appservice_user_id_and_device_id(
356356
return None, None, None
357357

358358
if app_service.ip_range_whitelist:
359-
ip_address = IPAddress(request.getClientIP())
359+
ip_address = IPAddress(request.getClientAddress().host)
360360
if ip_address not in app_service.ip_range_whitelist:
361361
return None, None, None
362362

synapse/handlers/auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ async def check_ui_auth(
551551
await self.store.set_ui_auth_clientdict(sid, clientdict)
552552

553553
user_agent = get_request_user_agent(request)
554-
clientip = request.getClientIP()
554+
clientip = request.getClientAddress().host
555555

556556
await self.store.add_user_agent_ip_to_ui_auth_session(
557557
session.session_id, user_agent, clientip

synapse/handlers/identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ async def ratelimit_request_token_requests(
9292
"""
9393

9494
await self._3pid_validation_ratelimiter_ip.ratelimit(
95-
None, (medium, request.getClientIP())
95+
None, (medium, request.getClientAddress().host)
9696
)
9797
await self._3pid_validation_ratelimiter_address.ratelimit(
9898
None, (medium, address)

synapse/handlers/sso.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ async def complete_sso_login_request(
468468
auth_provider_id,
469469
remote_user_id,
470470
get_request_user_agent(request),
471-
request.getClientIP(),
471+
request.getClientAddress().host,
472472
)
473473
new_user = True
474474
elif self._sso_update_profile_information:
@@ -928,7 +928,7 @@ async def register_sso_user(self, request: Request, session_id: str) -> None:
928928
session.auth_provider_id,
929929
session.remote_user_id,
930930
get_request_user_agent(request),
931-
request.getClientIP(),
931+
request.getClientAddress().host,
932932
)
933933

934934
logger.info(

synapse/http/site.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def render(self, resrc: Resource) -> None:
238238
request_id,
239239
request=ContextRequest(
240240
request_id=request_id,
241-
ip_address=self.getClientIP(),
241+
ip_address=self.getClientAddress().host,
242242
site_tag=self.synapse_site.site_tag,
243243
# The requester is going to be unknown at this point.
244244
requester=None,
@@ -381,7 +381,7 @@ def _started_processing(self, servlet_name: str) -> None:
381381

382382
self.synapse_site.access_logger.debug(
383383
"%s - %s - Received request: %s %s",
384-
self.getClientIP(),
384+
self.getClientAddress().host,
385385
self.synapse_site.site_tag,
386386
self.get_method(),
387387
self.get_redacted_uri(),
@@ -429,7 +429,7 @@ def _finished_processing(self) -> None:
429429
"%s - %s - {%s}"
430430
" Processed request: %.3fsec/%.3fsec (%.3fsec, %.3fsec) (%.3fsec/%.3fsec/%d)"
431431
' %sB %s "%s %s %s" "%s" [%d dbevts]',
432-
self.getClientIP(),
432+
self.getClientAddress().host,
433433
self.synapse_site.site_tag,
434434
requester,
435435
processing_time,

synapse/logging/opentracing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ def trace_servlet(request: "SynapseRequest", extract_context: bool = False):
884884
tags.SPAN_KIND: tags.SPAN_KIND_RPC_SERVER,
885885
tags.HTTP_METHOD: request.get_method(),
886886
tags.HTTP_URL: request.get_redacted_uri(),
887-
tags.PEER_HOST_IPV6: request.getClientIP(),
887+
tags.PEER_HOST_IPV6: request.getClientAddress().host,
888888
}
889889

890890
request_name = request.request_metrics.name

synapse/rest/client/auth.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ async def on_POST(self, request: Request, stagetype: str) -> None:
112112

113113
try:
114114
await self.auth_handler.add_oob_auth(
115-
LoginType.RECAPTCHA, authdict, request.getClientIP()
115+
LoginType.RECAPTCHA, authdict, request.getClientAddress().host
116116
)
117117
except LoginError as e:
118118
# Authentication failed, let user try again
@@ -132,7 +132,7 @@ async def on_POST(self, request: Request, stagetype: str) -> None:
132132

133133
try:
134134
await self.auth_handler.add_oob_auth(
135-
LoginType.TERMS, authdict, request.getClientIP()
135+
LoginType.TERMS, authdict, request.getClientAddress().host
136136
)
137137
except LoginError as e:
138138
# Authentication failed, let user try again
@@ -161,7 +161,9 @@ async def on_POST(self, request: Request, stagetype: str) -> None:
161161

162162
try:
163163
await self.auth_handler.add_oob_auth(
164-
LoginType.REGISTRATION_TOKEN, authdict, request.getClientIP()
164+
LoginType.REGISTRATION_TOKEN,
165+
authdict,
166+
request.getClientAddress().host,
165167
)
166168
except LoginError as e:
167169
html = self.registration_token_template.render(

synapse/rest/client/login.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ async def on_POST(self, request: SynapseRequest) -> Tuple[int, LoginResponse]:
176176

177177
if appservice.is_rate_limited():
178178
await self._address_ratelimiter.ratelimit(
179-
None, request.getClientIP()
179+
None, request.getClientAddress().host
180180
)
181181

182182
result = await self._do_appservice_login(
@@ -188,19 +188,25 @@ async def on_POST(self, request: SynapseRequest) -> Tuple[int, LoginResponse]:
188188
self.jwt_enabled
189189
and login_submission["type"] == LoginRestServlet.JWT_TYPE
190190
):
191-
await self._address_ratelimiter.ratelimit(None, request.getClientIP())
191+
await self._address_ratelimiter.ratelimit(
192+
None, request.getClientAddress().host
193+
)
192194
result = await self._do_jwt_login(
193195
login_submission,
194196
should_issue_refresh_token=should_issue_refresh_token,
195197
)
196198
elif login_submission["type"] == LoginRestServlet.TOKEN_TYPE:
197-
await self._address_ratelimiter.ratelimit(None, request.getClientIP())
199+
await self._address_ratelimiter.ratelimit(
200+
None, request.getClientAddress().host
201+
)
198202
result = await self._do_token_login(
199203
login_submission,
200204
should_issue_refresh_token=should_issue_refresh_token,
201205
)
202206
else:
203-
await self._address_ratelimiter.ratelimit(None, request.getClientIP())
207+
await self._address_ratelimiter.ratelimit(
208+
None, request.getClientAddress().host
209+
)
204210
result = await self._do_other_login(
205211
login_submission,
206212
should_issue_refresh_token=should_issue_refresh_token,

synapse/rest/client/register.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ async def on_GET(self, request: Request) -> Tuple[int, JsonDict]:
352352
if self.inhibit_user_in_use_error:
353353
return 200, {"available": True}
354354

355-
ip = request.getClientIP()
355+
ip = request.getClientAddress().host
356356
with self.ratelimiter.ratelimit(ip) as wait_deferred:
357357
await wait_deferred
358358

@@ -394,7 +394,7 @@ def __init__(self, hs: "HomeServer"):
394394
)
395395

396396
async def on_GET(self, request: Request) -> Tuple[int, JsonDict]:
397-
await self.ratelimiter.ratelimit(None, (request.getClientIP(),))
397+
await self.ratelimiter.ratelimit(None, (request.getClientAddress().host,))
398398

399399
if not self.hs.config.registration.enable_registration:
400400
raise SynapseError(
@@ -441,7 +441,7 @@ def __init__(self, hs: "HomeServer"):
441441
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
442442
body = parse_json_object_from_request(request)
443443

444-
client_addr = request.getClientIP()
444+
client_addr = request.getClientAddress().host
445445

446446
await self.ratelimiter.ratelimit(None, client_addr, update=False)
447447

0 commit comments

Comments
 (0)