mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-25 10:16:11 +00:00
Remove ssl settings
This commit is contained in:
parent
816cd6ccb7
commit
dce980c4af
3 changed files with 26 additions and 55 deletions
|
@ -23,6 +23,11 @@ log = logging.getLogger("EMBY."+__name__)
|
||||||
|
|
||||||
##################################################################################################
|
##################################################################################################
|
||||||
|
|
||||||
|
class HTTPException(Exception):
|
||||||
|
# Emby HTTP exception
|
||||||
|
def __init__(self, status):
|
||||||
|
self.status = status
|
||||||
|
|
||||||
|
|
||||||
class DownloadUtils(object):
|
class DownloadUtils(object):
|
||||||
|
|
||||||
|
@ -56,14 +61,13 @@ class DownloadUtils(object):
|
||||||
def get_token(self):
|
def get_token(self):
|
||||||
return self._get_session_info()['Token']
|
return self._get_session_info()['Token']
|
||||||
|
|
||||||
def add_server(self, server, ssl):
|
def add_server(self, server):
|
||||||
# Reserved for userclient only
|
# Reserved for userclient only
|
||||||
server_id = server['Id']
|
server_id = server['Id']
|
||||||
info = {
|
info = {
|
||||||
'UserId': server['UserId'],
|
'UserId': server['UserId'],
|
||||||
'Server': connectionmanager.getServerAddress(server, server['LastConnectionMode']),
|
'Server': connectionmanager.getServerAddress(server, server['LastConnectionMode']),
|
||||||
'Token': server['AccessToken'],
|
'Token': server['AccessToken'],
|
||||||
'SSL': ssl
|
|
||||||
}
|
}
|
||||||
for server_info in self.servers:
|
for server_info in self.servers:
|
||||||
if server_info == server_id:
|
if server_info == server_id:
|
||||||
|
@ -158,10 +162,9 @@ class DownloadUtils(object):
|
||||||
# Attach authenticated header to the session
|
# Attach authenticated header to the session
|
||||||
session = requests.Session()
|
session = requests.Session()
|
||||||
session.headers = self.get_header()
|
session.headers = self.get_header()
|
||||||
session.verify = self.session['SSL']
|
|
||||||
# Retry connections to the server
|
# Retry connections to the server
|
||||||
session.mount("http://", requests.adapters.HTTPAdapter(max_retries=1))
|
session.mount("http://", requests.adapters.HTTPAdapter(max_retries=3))
|
||||||
session.mount("https://", requests.adapters.HTTPAdapter(max_retries=1))
|
session.mount("https://", requests.adapters.HTTPAdapter(max_retries=3))
|
||||||
self.session_requests = session
|
self.session_requests = session
|
||||||
|
|
||||||
log.info("requests session started on: %s", self.session['Server'])
|
log.info("requests session started on: %s", self.session['Server'])
|
||||||
|
@ -227,16 +230,13 @@ class DownloadUtils(object):
|
||||||
|
|
||||||
if requires_server and (not server or not server.get("Server") or not server.get("UserId")):
|
if requires_server and (not server or not server.get("Server") or not server.get("UserId")):
|
||||||
log.info("Aborting download, Server Details Error: %s url=%s" % (server, url))
|
log.info("Aborting download, Server Details Error: %s url=%s" % (server, url))
|
||||||
exc = Exception("Aborting download, Server Details Error: %s url=%s" % (server, url))
|
raise Exception("Aborting download, Server Details Error: %s url=%s" % (server, url))
|
||||||
exc.quiet = True
|
|
||||||
raise exc
|
|
||||||
|
|
||||||
if server_id is None and self.session_requests is not None: # Main server
|
if server_id is None and self.session_requests is not None: # Main server
|
||||||
session = self.session_requests
|
session = self.session_requests
|
||||||
else:
|
else:
|
||||||
session = requests
|
session = requests
|
||||||
kwargs.update({
|
kwargs.update({
|
||||||
'verify': server['SSL'],
|
|
||||||
'headers': self.get_header(server_id, authenticate)
|
'headers': self.get_header(server_id, authenticate)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -247,9 +247,7 @@ class DownloadUtils(object):
|
||||||
|
|
||||||
# does the URL look ok
|
# does the URL look ok
|
||||||
if url.startswith('/'):
|
if url.startswith('/'):
|
||||||
exc = Exception("URL Error: " + url)
|
raise Exception("URL Error: " + url)
|
||||||
exc.quiet = True
|
|
||||||
raise exc
|
|
||||||
|
|
||||||
##### PREPARE REQUEST #####
|
##### PREPARE REQUEST #####
|
||||||
kwargs.update({
|
kwargs.update({
|
||||||
|
@ -263,6 +261,8 @@ class DownloadUtils(object):
|
||||||
log.debug(kwargs)
|
log.debug(kwargs)
|
||||||
response = self._requests(action_type, session, **kwargs)
|
response = self._requests(action_type, session, **kwargs)
|
||||||
#response = requests.get('http://httpbin.org/status/400')
|
#response = requests.get('http://httpbin.org/status/400')
|
||||||
|
if window('emby_test') == "false":
|
||||||
|
raise requests.exceptions.ConnectionError
|
||||||
|
|
||||||
if response.status_code == 204:
|
if response.status_code == 204:
|
||||||
# No body in the response
|
# No body in the response
|
||||||
|
@ -288,28 +288,19 @@ class DownloadUtils(object):
|
||||||
|
|
||||||
##### EXCEPTIONS #####
|
##### EXCEPTIONS #####
|
||||||
|
|
||||||
except requests.exceptions.SSLError as error:
|
|
||||||
log.error("Invalid SSL certificate for: %s", url)
|
|
||||||
error.quiet = True
|
|
||||||
raise
|
|
||||||
|
|
||||||
except requests.exceptions.ConnectTimeout as error:
|
|
||||||
log.error("ConnectTimeout at: %s", url)
|
|
||||||
error.quiet = True
|
|
||||||
raise
|
|
||||||
|
|
||||||
except requests.exceptions.ReadTimeout as error:
|
|
||||||
log.error("ReadTimeout at: %s", url)
|
|
||||||
error.quiet = True
|
|
||||||
raise
|
|
||||||
|
|
||||||
except requests.exceptions.ConnectionError as error:
|
except requests.exceptions.ConnectionError as error:
|
||||||
# Make the addon aware of status
|
# Make the addon aware of status
|
||||||
|
window('emby_test', value="true")
|
||||||
|
|
||||||
if window('emby_online') != "false":
|
if window('emby_online') != "false":
|
||||||
log.error("Server unreachable at: %s", url)
|
log.error("Server unreachable at: %s", url)
|
||||||
window('emby_online', value="false")
|
window('emby_online', value="false")
|
||||||
error.quiet = True
|
|
||||||
raise
|
raise HTTPException(None)
|
||||||
|
|
||||||
|
except requests.exceptions.ReadTimeout as error:
|
||||||
|
log.error("ReadTimeout at: %s", url)
|
||||||
|
raise HTTPException(None)
|
||||||
|
|
||||||
except requests.exceptions.HTTPError as error:
|
except requests.exceptions.HTTPError as error:
|
||||||
|
|
||||||
|
@ -335,14 +326,10 @@ class DownloadUtils(object):
|
||||||
xbmcgui.Dialog().notification(heading="Error connecting",
|
xbmcgui.Dialog().notification(heading="Error connecting",
|
||||||
message="Unauthorized.",
|
message="Unauthorized.",
|
||||||
icon=xbmcgui.NOTIFICATION_ERROR)
|
icon=xbmcgui.NOTIFICATION_ERROR)
|
||||||
|
raise HTTPException(response.status_code)
|
||||||
error.quiet = True
|
|
||||||
raise
|
|
||||||
|
|
||||||
# if we got to here and did not process the download for some reason then that is bad
|
# if we got to here and did not process the download for some reason then that is bad
|
||||||
exc = Exception("Unhandled Download : %s", url)
|
raise Exception("Unhandled Download : %s", url)
|
||||||
#exc.quiet = True
|
|
||||||
raise exc
|
|
||||||
|
|
||||||
def _ensure_server(self, server_id=None):
|
def _ensure_server(self, server_id=None):
|
||||||
|
|
||||||
|
@ -364,8 +351,7 @@ class DownloadUtils(object):
|
||||||
info = {
|
info = {
|
||||||
'UserId': "",
|
'UserId': "",
|
||||||
'Server': "",
|
'Server': "",
|
||||||
'Token': "",
|
'Token': ""
|
||||||
'SSL': False
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if server_id is None: # Main server
|
if server_id is None: # Main server
|
||||||
|
|
|
@ -73,19 +73,6 @@ class UserClient(threading.Thread):
|
||||||
log.error(error)
|
log.error(error)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_ssl(cls):
|
|
||||||
"""
|
|
||||||
Returns boolean value or path to certificate
|
|
||||||
True: Verify ssl
|
|
||||||
False: Don't verify connection
|
|
||||||
"""
|
|
||||||
certificate = settings('sslcert')
|
|
||||||
if certificate != "None":
|
|
||||||
return certificate
|
|
||||||
|
|
||||||
return True if settings('sslverify') == "true" else False
|
|
||||||
|
|
||||||
def get_access(self):
|
def get_access(self):
|
||||||
|
|
||||||
if not self._has_access:
|
if not self._has_access:
|
||||||
|
@ -200,8 +187,7 @@ class UserClient(threading.Thread):
|
||||||
'UserId': userid,
|
'UserId': userid,
|
||||||
'Server': server,
|
'Server': server,
|
||||||
'ServerId': settings('serverId'),
|
'ServerId': settings('serverId'),
|
||||||
'Token': token,
|
'Token': token
|
||||||
'SSL': self.get_ssl()
|
|
||||||
}
|
}
|
||||||
# Set downloadutils.py values
|
# Set downloadutils.py values
|
||||||
doutils.set_session(**server_json)
|
doutils.set_session(**server_json)
|
||||||
|
@ -235,7 +221,6 @@ class UserClient(threading.Thread):
|
||||||
added_servers = []
|
added_servers = []
|
||||||
for server in servers:
|
for server in servers:
|
||||||
if server['Id'] != settings('serverId'):
|
if server['Id'] != settings('serverId'):
|
||||||
# TODO: SSL setup
|
|
||||||
self.doutils.add_server(server, False)
|
self.doutils.add_server(server, False)
|
||||||
added_servers.append(server['Id'])
|
added_servers.append(server['Id'])
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
<!-- User settings -->
|
<!-- User settings -->
|
||||||
<setting id="serverName" label="30001" type="text" default="" />
|
<setting id="serverName" label="30001" type="text" default="" />
|
||||||
<setting id="server" label="30000" type="text" default="" visible="!eq(-1,)" />
|
<setting id="server" label="30000" type="text" default="" visible="!eq(-1,)" />
|
||||||
<setting id="sslverify" label="30500" type="bool" default="false" visible="!eq(-1,)" subsetting="true" />
|
<!--<setting id="sslverify" label="30500" type="bool" default="false" visible="!eq(-1,)" subsetting="true" />
|
||||||
<setting id="sslcert" label="30501" type="file" default="None" visible="eq(-1,true)" subsetting="true" />
|
<setting id="sslcert" label="30501" type="file" default="None" visible="eq(-1,true)" subsetting="true" />-->
|
||||||
<setting id="accessToken" type="text" default="" visible="false" />
|
<setting id="accessToken" type="text" default="" visible="false" />
|
||||||
<setting id="userId" type="text" default="" visible="false" />
|
<setting id="userId" type="text" default="" visible="false" />
|
||||||
<!-- Device settings -->
|
<!-- Device settings -->
|
||||||
|
|
Loading…
Reference in a new issue