From 8bae92158746ab0f365cf8290477799a8c426c6f Mon Sep 17 00:00:00 2001 From: grossmj Date: Thu, 2 Dec 2021 18:07:09 +1030 Subject: [PATCH] Fix packet capture --- gns3server/api/routes/controller/links.py | 9 ++++++++- gns3server/controller/udp_link.py | 4 ++-- gns3server/utils/http_client.py | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gns3server/api/routes/controller/links.py b/gns3server/api/routes/controller/links.py index 8f1c6f9cc..a1b092ba3 100644 --- a/gns3server/api/routes/controller/links.py +++ b/gns3server/api/routes/controller/links.py @@ -198,7 +198,14 @@ async def stream_pcap(request: Request, link: Link = Depends(dep_link)) -> Strea async def compute_pcap_stream(): try: - async with HTTPClient.request(request.method, pcap_streaming_url, timeout=None, data=body) as response: + async with HTTPClient.request( + request.method, + pcap_streaming_url, + user=compute.user, + password=compute.password, + timeout=None, + data=body + ) as response: async for data in response.content.iter_any(): if not data: break diff --git a/gns3server/controller/udp_link.py b/gns3server/controller/udp_link.py index 4051b3a0d..e18103cfc 100644 --- a/gns3server/controller/udp_link.py +++ b/gns3server/controller/udp_link.py @@ -183,7 +183,7 @@ class UDPLink(Link): self._capture_node = self._choose_capture_side() data = {"capture_file_name": capture_file_name, "data_link_type": data_link_type} await self._capture_node["node"].post( - "/adapters/{adapter_number}/ports/{port_number}/start_capture".format( + "/adapters/{adapter_number}/ports/{port_number}/capture/start".format( adapter_number=self._capture_node["adapter_number"], port_number=self._capture_node["port_number"] ), data=data, @@ -196,7 +196,7 @@ class UDPLink(Link): """ if self._capture_node: await self._capture_node["node"].post( - "/adapters/{adapter_number}/ports/{port_number}/stop_capture".format( + "/adapters/{adapter_number}/ports/{port_number}/capture/stop".format( adapter_number=self._capture_node["adapter_number"], port_number=self._capture_node["port_number"] ) ) diff --git a/gns3server/utils/http_client.py b/gns3server/utils/http_client.py index 04eb6f2a6..505073cf5 100644 --- a/gns3server/utils/http_client.py +++ b/gns3server/utils/http_client.py @@ -52,7 +52,7 @@ class HTTPClient: if not password: password = "" try: - basic_auth = aiohttp.BasicAuth(user, password, "utf-8") + basic_auth = aiohttp.BasicAuth(user, password.get_secret_value(), "utf-8") except ValueError as e: log.error(f"Basic authentication set-up error: {e}")