From 5577ad7f61fc2f7fb9c38273500b7f2267517ba1 Mon Sep 17 00:00:00 2001 From: Clinton Thomas <1033162+KernelClint@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:06:32 -0400 Subject: [PATCH] http: close a connection after its response times out AI-Assisted: yes (GPT-5.6-Cyber) --- scapy/layers/http.py | 2 ++ test/scapy/layers/http.uts | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/scapy/layers/http.py b/scapy/layers/http.py index ac3496fcb24..1923b344530 100644 --- a/scapy/layers/http.py +++ b/scapy/layers/http.py @@ -945,6 +945,8 @@ def request( self._connect_or_reuse(host, port=port, tls=tls, timeout=timeout) continue if not resp: + self.close() + self._sockinfo = None break # First case: auth was required. Handle that if resp.Status_Code in [b"401", b"407"]: diff --git a/test/scapy/layers/http.uts b/test/scapy/layers/http.uts index 1b132a5a614..f0aadc1b9bd 100644 --- a/test/scapy/layers/http.uts +++ b/test/scapy/layers/http.uts @@ -396,6 +396,33 @@ with run_httpserver(mech=HTTP_AUTH_MECHS.BASIC, BASIC_IDENTITIES={"user": "passw assert html == "