This commit is contained in:
Timothy Jaeryang Baek
2026-07-27 03:41:08 -04:00
parent 867006acce
commit 7537989235
2 changed files with 9 additions and 0 deletions
+7
View File
@@ -100,6 +100,9 @@ async def proxy_terminal(
if connection is None:
return JSONResponse({'error': f"Terminal server '{server_id}' not found"}, status_code=404)
if not connection.get('enabled', True):
return JSONResponse({'error': 'Terminal server disabled'}, status_code=403)
user_group_ids = {group.id for group in await Groups.get_groups_by_member_id(user.id)}
if not await has_connection_access(user, connection, user_group_ids):
return JSONResponse({'error': 'Access denied'}, status_code=403)
@@ -248,6 +251,10 @@ async def _resolve_authenticated_connection(ws: WebSocket, server_id: str):
await ws.close(code=4004, reason='Terminal server not found')
return None
if not connection.get('enabled', True):
await ws.close(code=4003, reason='Terminal server disabled')
return None
user_group_ids = {group.id for group in await Groups.get_groups_by_member_id(user.id)}
if not await has_connection_access(user, connection, user_group_ids):
await ws.close(code=4003, reason='Access denied')
+2
View File
@@ -1325,6 +1325,8 @@ async def get_terminal_tools(
connection = next((c for c in connections if c.get('id') == terminal_id), None)
if connection is None:
raise RuntimeError(f"Terminal server '{terminal_id}' not found")
if not connection.get('enabled', True):
raise RuntimeError(f"Terminal server '{terminal_id}' is disabled")
user_group_ids = {group.id for group in await Groups.get_groups_by_member_id(user.id)}
if not await has_connection_access(user, connection, user_group_ids):