summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/3835.bugfix1
-rw-r--r--synapse/rest/client/v1/voip.py6
2 files changed, 6 insertions, 1 deletions
diff --git a/changelog.d/3835.bugfix b/changelog.d/3835.bugfix
new file mode 100644

index 0000000000..00dbcbc8dc --- /dev/null +++ b/changelog.d/3835.bugfix
@@ -0,0 +1 @@ +fix VOIP crashes under Python 3 (#3821) diff --git a/synapse/rest/client/v1/voip.py b/synapse/rest/client/v1/voip.py
index 62f4c3d93e..53da905eea 100644 --- a/synapse/rest/client/v1/voip.py +++ b/synapse/rest/client/v1/voip.py
@@ -42,7 +42,11 @@ class VoipRestServlet(ClientV1RestServlet): expiry = (self.hs.get_clock().time_msec() + userLifetime) / 1000 username = "%d:%s" % (expiry, requester.user.to_string()) - mac = hmac.new(turnSecret, msg=username, digestmod=hashlib.sha1) + mac = hmac.new( + turnSecret.encode(), + msg=username.encode(), + digestmod=hashlib.sha1 + ) # We need to use standard padded base64 encoding here # encode_base64 because we need to add the standard padding to get the # same result as the TURN server.