mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-10-01 11:49:51 -04:00
a fix which doesn't NPE everywhere
This commit is contained in:
parent
f131bf8d3e
commit
1c867f5391
@ -107,15 +107,28 @@ class SynapseRequest(Request):
|
|||||||
|
|
||||||
end_time = time.time()
|
end_time = time.time()
|
||||||
|
|
||||||
|
# need to decode as it could be raw utf-8 bytes
|
||||||
|
# from a IDN servname in an auth header
|
||||||
|
authenticated_entity = self.authenticated_entity
|
||||||
|
if authenticated_entity is not None:
|
||||||
|
authenticated_entity = authenticated_entity.decode("utf-8")
|
||||||
|
|
||||||
|
# ...or could be raw utf-8 bytes in the User-Agent header.
|
||||||
|
# N.B. if you don't do this, the logger explodes cryptically
|
||||||
|
# with maximum recursion trying to log errors about
|
||||||
|
# the charset problem.
|
||||||
|
# c.f. https://github.com/matrix-org/synapse/issues/3471
|
||||||
|
user_agent = self.get_user_agent()
|
||||||
|
if user_agent is not None:
|
||||||
|
user_agent = user_agent.decode("utf-8")
|
||||||
|
|
||||||
self.site.access_logger.info(
|
self.site.access_logger.info(
|
||||||
"%s - %s - {%s}"
|
"%s - %s - {%s}"
|
||||||
" Processed request: %.3fsec (%.3fsec, %.3fsec) (%.3fsec/%.3fsec/%d)"
|
" Processed request: %.3fsec (%.3fsec, %.3fsec) (%.3fsec/%.3fsec/%d)"
|
||||||
" %sB %s \"%s %s %s\" \"%s\" [%d dbevts]",
|
" %sB %s \"%s %s %s\" \"%s\" [%d dbevts]",
|
||||||
self.getClientIP(),
|
self.getClientIP(),
|
||||||
self.site.site_tag,
|
self.site.site_tag,
|
||||||
# need to decode as it could be raw utf-8 bytes
|
authenticated_entity,
|
||||||
# from a IDN servname in an auth header
|
|
||||||
self.authenticated_entity.decode("utf-8"),
|
|
||||||
end_time - self.start_time,
|
end_time - self.start_time,
|
||||||
ru_utime,
|
ru_utime,
|
||||||
ru_stime,
|
ru_stime,
|
||||||
@ -127,12 +140,7 @@ class SynapseRequest(Request):
|
|||||||
self.method,
|
self.method,
|
||||||
self.get_redacted_uri(),
|
self.get_redacted_uri(),
|
||||||
self.clientproto,
|
self.clientproto,
|
||||||
# need to decode as could be raw utf-8 bytes
|
user_agent,
|
||||||
# from a utf-8 user-agent.
|
|
||||||
# N.B. if you don't do this, the logger explodes
|
|
||||||
# with maximum recursion trying to log errors about
|
|
||||||
# the charset problem.
|
|
||||||
self.get_user_agent().decode("utf-8"),
|
|
||||||
evt_db_fetch_count,
|
evt_db_fetch_count,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user