From 846ec43b74dc855e76d05e40fbee26594095680d Mon Sep 17 00:00:00 2001 From: vasilito Date: Mon, 27 Jul 2026 16:39:23 +0900 Subject: [PATCH] =?UTF-8?q?local/docs:=20update=20=C2=A715.1=20with=20F22?= =?UTF-8?q?=20+=20IPv6=20ext=20header=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds two new rows to the Implementation Status table: - CRITICAL F22: btintel ECDSA firmware length check — now uses ECDSA_FULL_LEN = 964 (full header: CSS 128 + PKEY 96 + SIG 96 bytes after the 644-byte header start). Was 645..963 byte blobs would panic on the PKEY/SIG slices. - P001 (firewalling): IPv6 ext header firewall bypass fix — added ipv6_transport_offset() walker that properly walks the IPv6 extension header chain (Hop-by-Hop, Routing, Fragment, Destination, AH) to find the actual transport-layer offset. Was using a fixed 40-byte offset, so any IPv6 packet with extension headers caused parse_ports() to read wrong bytes and silently fail to match firewall port rules (firewall bypass). Both pushed to origin. CRITICAL progress: 11 of 12 original findings now addressed (F001, F1.6, F1.1, DEF-P0-6, DEF-P0-7, F18/F18b, F20, F21, F3.1, F22, P001). Remaining: F002 worker_pool from_raw_fd + F003 scheme File ownership (the two remaining F-series items in netstack/src/). --- .../docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md b/local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md index 8fe85bef5b..13e7a450fc 100644 --- a/local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md +++ b/local/docs/NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md @@ -1017,7 +1017,8 @@ incrementally; this is a rolling changelog. | **DEF-P0-6** | e1000d MMIO register bounds check | `submodule/base 3a3af825` → parent `22bd63bbe2` | `local/sources/base/drivers/net/e1000d/src/device.rs` | | **CRITICAL F1.1** | **xHCI re-entrancy: clear event TRB before state.finish()** | `submodule/base 51ae1567` → parent `4fc85b9be4` | `local/sources/base/drivers/usb/xhcid/src/xhci/irq_reactor.rs` (4 call sites) | | **CRITICAL F3.1** | **libredox demux: replace .expect() with .unwrap_or(u16::MAX)** | `submodule/libredox bfb5f8b` → parent `7aba4f84ed` | `local/sources/libredox/src/lib.rs` | -| **F22 (btintel)** | **ECDSA firmware length check** | `(uncommitted)` | `local/recipes/drivers/redbear-btusb/source/src/btintel.rs` | +| **CRITICAL F22** | **btintel ECDSA firmware length check** | `94c8b51b44` | `local/recipes/drivers/redbear-btusb/source/src/btintel.rs` (ECDSA_FULL_LEN = 964) | +| **P001 (firewalling)** | **IPv6 ext header firewall bypass fix** | `submodule/base f6780296` → parent `17367212dc` | `local/sources/base/netstack/src/router/mod.rs` (ipv6_transport_offset walker) | | **F21 (dnsd wiring)** | **Wire redbear-dnsd into redbear-mini** | `6b105c7cee` | `config/redbear-mini.toml` ([packages] + [init] 11_dnsd.service) | | **ghost-recipe docs** | **netd/audiodevd/usbd WIP per AGENTS.md** | `6b105c7cee` | `local/recipes/system/{netd,audiodevd,usbd}/recipe.toml` | | **local ssh recipe** | **net/openssh Red Bear fork with IPv6 detect + host-key gen** | `5656f8ccbe` | `local/recipes/net/openssh/recipe.toml` + `local/scripts/apply-patches.sh` symlink entry |