Add option to disable homeserver SSL verification
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
homeserver:
|
||||
address: https://matrix.org
|
||||
domain: matrix.org
|
||||
verify_ssl: true
|
||||
|
||||
# Application service host/registration related details
|
||||
# Changing these values requires regeneration of the registration.
|
||||
|
||||
@@ -28,9 +28,10 @@ from .state_store import StateStore
|
||||
|
||||
class AppService:
|
||||
def __init__(self, server, domain, as_token, hs_token, bot_localpart, loop=None, log=None,
|
||||
query_user=None, query_alias=None):
|
||||
verify_ssl=True, query_user=None, query_alias=None):
|
||||
self.server = server
|
||||
self.domain = domain
|
||||
self.verify_ssl = verify_ssl
|
||||
self.as_token = as_token
|
||||
self.hs_token = hs_token
|
||||
self.bot_mxid = f"@{bot_localpart}:{domain}"
|
||||
@@ -80,7 +81,10 @@ class AppService:
|
||||
|
||||
@contextmanager
|
||||
def run(self, host="127.0.0.1", port=8080):
|
||||
self._http_session = aiohttp.ClientSession(loop=self.loop)
|
||||
connector = None
|
||||
if self.server.startswith("https://") and not self.verify_ssl:
|
||||
connector = aiohttp.TCPConnector(verify_ssl=False)
|
||||
self._http_session = aiohttp.ClientSession(loop=self.loop, connector=connector)
|
||||
self._intent = HTTPAPI(base_url=self.server, domain=self.domain, bot_mxid=self.bot_mxid,
|
||||
token=self.as_token, log=self.log, state_store=self.state_store,
|
||||
client_session=self._http_session).bot_intent()
|
||||
|
||||
@@ -85,7 +85,8 @@ loop = asyncio.get_event_loop()
|
||||
|
||||
appserv = AppService(config["homeserver.address"], config["homeserver.domain"],
|
||||
config["appservice.as_token"], config["appservice.hs_token"],
|
||||
config["appservice.bot_username"], log="mau.as", loop=loop)
|
||||
config["appservice.bot_username"], log="mau.as", loop=loop,
|
||||
verify_ssl=config["homeserver.verify_ssl"])
|
||||
|
||||
context = Context(appserv, db_session, config, loop, None, None, telethon_session_container)
|
||||
|
||||
|
||||
@@ -183,6 +183,8 @@ class Config(DictWithRecursion):
|
||||
"Use inline images instead of m.image to make rich captions possible.\n"
|
||||
"N.B. Inline images are not supported on all clients (e.g. Riot iOS).")
|
||||
self.comment_newline("bridge.inline_images")
|
||||
if "homeserver.verify_ssl" not in self:
|
||||
self["homeserver.verify_ssl"] = True
|
||||
self["version"] = 2
|
||||
return self["version"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user