mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-26 21:21:57 -06:00
Remove unsupported Socket.IO TLS kwargs
This commit is contained in:
@@ -839,50 +839,47 @@ class AgentHttpClient:
|
|||||||
headers[_AGENT_CONTEXT_HEADER] = context_label
|
headers[_AGENT_CONTEXT_HEADER] = context_label
|
||||||
return headers
|
return headers
|
||||||
|
|
||||||
def configure_socketio(self, client: "socketio.AsyncClient") -> Dict[str, Any]:
|
def configure_socketio(self, client: "socketio.AsyncClient") -> None:
|
||||||
"""Align Socket.IO TLS settings with the REST session and return connect kwargs."""
|
"""Align the Socket.IO engine's TLS verification with the REST client."""
|
||||||
|
|
||||||
connect_kwargs: Dict[str, Any] = {}
|
|
||||||
try:
|
try:
|
||||||
verify = getattr(self.session, "verify", True)
|
verify = getattr(self.session, "verify", True)
|
||||||
ssl_value: Any
|
engine = getattr(client, "eio", None)
|
||||||
context = None
|
if engine is None:
|
||||||
|
return
|
||||||
|
|
||||||
if isinstance(verify, bool):
|
context = None
|
||||||
ssl_value = verify
|
if isinstance(verify, str) and os.path.isfile(verify):
|
||||||
elif isinstance(verify, str) and os.path.isfile(verify):
|
|
||||||
try:
|
try:
|
||||||
context = ssl.create_default_context(cafile=verify)
|
context = ssl.create_default_context(cafile=verify)
|
||||||
context.check_hostname = False
|
context.check_hostname = False
|
||||||
ssl_value = context
|
|
||||||
except Exception:
|
except Exception:
|
||||||
ssl_value = True
|
context = None
|
||||||
else:
|
|
||||||
ssl_value = True
|
|
||||||
|
|
||||||
connect_kwargs["ssl"] = ssl_value
|
if context is not None:
|
||||||
|
|
||||||
engine = getattr(client, "eio", None)
|
|
||||||
if engine is not None:
|
|
||||||
try:
|
try:
|
||||||
setattr(engine, "ssl", ssl_value)
|
engine.ssl_context = context
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
if context is not None:
|
try:
|
||||||
for attr in ("ssl_context", "ssl_verify"):
|
engine.ssl_verify = True
|
||||||
try:
|
except Exception:
|
||||||
setattr(engine, attr, context if attr == "ssl_context" else True)
|
pass
|
||||||
except Exception:
|
return
|
||||||
pass
|
|
||||||
elif isinstance(ssl_value, bool):
|
# Fall back to boolean verification flags when we either do not
|
||||||
for attr in ("ssl_verify", "ssl_context"):
|
# have a pinned certificate bundle or failed to build a dedicated
|
||||||
try:
|
# context for it.
|
||||||
setattr(engine, attr, ssl_value if attr == "ssl_verify" else None)
|
try:
|
||||||
except Exception:
|
engine.ssl_context = None
|
||||||
pass
|
except Exception:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
engine.ssl_verify = False if verify is False else True
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
except Exception:
|
except Exception:
|
||||||
connect_kwargs.setdefault("ssl", True)
|
pass
|
||||||
return connect_kwargs
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
# Enrollment & token management
|
# Enrollment & token management
|
||||||
@@ -2626,7 +2623,7 @@ async def connect_loop():
|
|||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
client.ensure_authenticated()
|
client.ensure_authenticated()
|
||||||
connect_kwargs = client.configure_socketio(sio) or {}
|
client.configure_socketio(sio)
|
||||||
try:
|
try:
|
||||||
setattr(sio, "connection_error", None)
|
setattr(sio, "connection_error", None)
|
||||||
except Exception:
|
except Exception:
|
||||||
@@ -2638,7 +2635,6 @@ async def connect_loop():
|
|||||||
url,
|
url,
|
||||||
transports=['websocket'],
|
transports=['websocket'],
|
||||||
headers=client.auth_headers(),
|
headers=client.auth_headers(),
|
||||||
**connect_kwargs,
|
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user