From 0edf896b4cb977c61a56cb9a9aaeb54de51eb2fb Mon Sep 17 00:00:00 2001 From: Erno Kuvaja Date: Mon, 21 Jan 2019 13:59:35 +0000 Subject: [PATCH] Precent encode mumble username for connect link This change wraps mumble username on connect link forming with urllib.parse.quote() to ensure that the username does not contain unsafe reserved characters and gets passed properly to mumble. Fixes Issue: #1146 --- allianceauth/services/modules/mumble/auth_hooks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/allianceauth/services/modules/mumble/auth_hooks.py b/allianceauth/services/modules/mumble/auth_hooks.py index 4a9a7f78..e5bafa5e 100644 --- a/allianceauth/services/modules/mumble/auth_hooks.py +++ b/allianceauth/services/modules/mumble/auth_hooks.py @@ -1,4 +1,5 @@ import logging +import urllib from django.conf import settings from django.template.loader import render_to_string @@ -61,7 +62,7 @@ class MumbleService(ServicesHook): 'service_name': self.title, 'urls': urls, 'service_url': self.service_url, - 'connect_url': request.user.mumble.username + '@' + self.service_url if MumbleTasks.has_account(request.user) else self.service_url, + 'connect_url': urllib.parse.quote(request.user.mumble.username, safe="") + '@' + self.service_url if MumbleTasks.has_account(request.user) else self.service_url, 'username': request.user.mumble.username if MumbleTasks.has_account(request.user) else '', }, request=request)