From 2025cb5326912ef228181e9dc9fef101b43ef992 Mon Sep 17 00:00:00 2001 From: Matthew Wolter Date: Sat, 11 Apr 2026 18:15:29 -0700 Subject: [PATCH] =?UTF-8?q?G1:=20F10=20=E2=80=94=20fix=20pbuf=20NameError?= =?UTF-8?q?=20in=20PUSH=5FCODE=5FLOGIN=5FFAIL=20handler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Why: The LOGIN_FAILED handler in handle_rx referenced an undefined identifier `pbuf` instead of the local BytesIO `dbuf`. Firmware emits PUSH_CODE_LOGIN_FAIL as a fixed 8-byte frame, which trivially satisfies the `len(data) > 7` guard, so every remote auth failure raised NameError. The sibling LOGIN_SUCCESS handler a few lines above already uses `dbuf.read(6).hex()` correctly; this commit aligns the LOGIN_FAILED branch with the same pattern. Refs: Forensics report finding F10 (S1) --- src/meshcore/reader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/meshcore/reader.py b/src/meshcore/reader.py index 088baeb..4e47e77 100644 --- a/src/meshcore/reader.py +++ b/src/meshcore/reader.py @@ -555,7 +555,7 @@ class MessageReader: dbuf.read(1) if len(data) > 7: - res["pubkey_prefix"] = pbuf.read(6).hex() + res["pubkey_prefix"] = dbuf.read(6).hex() attributes = {"pubkey_prefix": res.get("pubkey_prefix")}