@@ -145,7 +145,7 @@ def request(
145145 print ("Requesting %s" % dest , file = sys .stderr )
146146
147147 s = requests .Session ()
148- s .mount ("matrix-federation://" , MatrixConnectionAdapter ())
148+ s .mount ("matrix-federation://" , MatrixConnectionAdapter (verify = verify_tls ))
149149
150150 headers : dict [str , str ] = {
151151 "Authorization" : authorization_headers [0 ],
@@ -267,6 +267,10 @@ def read_args_from_config(args: argparse.Namespace) -> None:
267267
268268
269269class MatrixConnectionAdapter (HTTPAdapter ):
270+ def __init__ (self , verify = True ):
271+ self .verify = verify
272+ super ().__init__ ()
273+
270274 def send (
271275 self ,
272276 request : PreparedRequest ,
@@ -280,7 +284,7 @@ def send(
280284 assert isinstance (request .url , str )
281285 parsed = urlparse .urlsplit (request .url )
282286 server_name = parsed .netloc
283- well_known = self ._get_well_known (parsed .netloc )
287+ well_known = self ._get_well_known (parsed .netloc , verify_tls = self . verify )
284288
285289 if well_known :
286290 server_name = well_known
@@ -368,7 +372,7 @@ def _lookup(server_name: str) -> tuple[str, int, str]:
368372 return server_name , 8448 , server_name
369373
370374 @staticmethod
371- def _get_well_known (server_name : str ) -> str | None :
375+ def _get_well_known (server_name : str , verify_tls : bool = True ) -> str | None :
372376 if ":" in server_name :
373377 # explicit port, or ipv6 literal. Either way, no .well-known
374378 return None
@@ -379,7 +383,7 @@ def _get_well_known(server_name: str) -> str | None:
379383 print (f"fetching { uri } " , file = sys .stderr )
380384
381385 try :
382- resp = requests .get (uri )
386+ resp = requests .get (uri , verify = verify_tls )
383387 if resp .status_code != 200 :
384388 print ("%s gave %i" % (uri , resp .status_code ), file = sys .stderr )
385389 return None
0 commit comments