Merge pull request #1036 from oddstr13/pr-fix-1033-1

Properly encode device name and related parameters
This commit is contained in:
Odd Stråbø 2025-09-12 22:12:38 +02:00 committed by GitHub
commit d73e7b8c1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 17 additions and 13 deletions

View file

@ -63,8 +63,6 @@ def get_device_name():
device_name = xbmc.getInfoLabel("System.FriendlyName")
else:
device_name = settings("deviceName")
device_name = device_name.replace('"', "_")
device_name = device_name.replace("/", "_")
return device_name

View file

@ -2,6 +2,7 @@
from __future__ import division, absolute_import, print_function, unicode_literals
import json
from urllib.parse import quote
import requests
@ -406,10 +407,10 @@ class API(object):
def get_default_headers(self):
auth = "MediaBrowser "
auth += "Client=%s, " % self.config.data["app.name"]
auth += "Device=%s, " % self.config.data["app.device_name"]
auth += "DeviceId=%s, " % self.config.data["app.device_id"]
auth += "Version=%s" % self.config.data["app.version"]
auth += "Client=%s, " % quote(self.config.data["app.name"], safe="")
auth += "Device=%s, " % quote(self.config.data["app.device_name"], safe="")
auth += "DeviceId=%s, " % quote(self.config.data["app.device_id"], safe="")
auth += "Version=%s" % quote(self.config.data["app.version"], safe="")
return {
"Accept": "application/json",

View file

@ -4,6 +4,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
#################################################################################################
import time
from urllib.parse import quote
import requests
@ -247,20 +248,24 @@ class HTTP(object):
def _authorization(self, data):
auth = "MediaBrowser "
auth += "Client=%s, " % self.config.data.get("app.name", "Jellyfin for Kodi")
auth += "Device=%s, " % self.config.data.get(
"app.device_name", "Unknown Device"
auth += "Client=%s, " % quote(
self.config.data.get("app.name", "Jellyfin for Kodi"), safe=""
)
auth += "DeviceId=%s, " % self.config.data.get(
"app.device_id", "Unknown Device id"
auth += "Device=%s, " % quote(
self.config.data.get("app.device_name", "Unknown Device"), safe=""
)
auth += "DeviceId=%s, " % quote(
self.config.data.get("app.device_id", "Unknown Device id"), safe=""
)
auth += "Version=%s" % quote(
self.config.data.get("app.version", "0.0.0"), safe=""
)
auth += "Version=%s" % self.config.data.get("app.version", "0.0.0")
data["headers"].update({"x-emby-authorization": auth})
if self.config.data.get("auth.token") and self.config.data.get("auth.user_id"):
auth += ", UserId=%s" % self.config.data.get("auth.user_id")
auth += ", UserId=%s" % quote(self.config.data.get("auth.user_id"), safe="")
data["headers"].update(
{
"x-emby-authorization": auth,