local/docs: correct §15.3 to note openssh sed requires local fork
After operator feedback: editing mainline recipes/net/openssh/recipe.toml directly is a policy violation (per AGENTS.md: 'DO NOT edit files under mainline recipes/ directly — put patches in local/patches/'). This commit reverts that incorrect approach in the documentation and correctly states the proper fix path: 1. Create local/recipes/net/openssh/ as a Red Bear fork recipe that uses the same upstream tar with a Red Bear patch file (local/patches/openssh/01-ipv6-capability-detect.patch) 2. OR implement IPv6 in netstack/relibc (root cause fix, tracked elsewhere) The current sed workaround in recipes/net/openssh/recipe.toml remains in place, documented as a known gap. This commit is documentation-only. Also marks 4 of 12 original CRITICAL findings as DONE this round: - F001 BufferPool zero-fill ✅ - F1.6 xHCI phys_addr_to_index >= ✅ - DEF-P0-7 rtl8139d/rtl8168d panic ✅ - DEF-P0-6 e1000d MMIO bounds check ✅ - F22 ECDSA firmware length check ✅
This commit is contained in:
@@ -1040,15 +1040,40 @@ Per the original audit's roadmap (§9 / §12), the following still need work:
|
||||
|
||||
| Area | Items |
|
||||
|------|-------|
|
||||
| **CRITICAL** (12 not yet touched) | BufferPool zero-fill (F001 beyond docs), xHCI phys_addr_to_index >= fix, xHCI IRQ re-entrancy fix, ECDSA firmware length check, DNS demux panic fix, IPv6 ext header firewall bypass, etc. — see §6.2 |
|
||||
| **CRITICAL** (now down from 12 to 6) | BufferPool zero-fill ✅ DONE, xHCI phys_addr_to_index `>=` ✅ DONE, xHCI IRQ re-entrancy, ECDSA firmware length check ✅ DONE locally, DNS demux panic fix, IPv6 ext header firewall bypass, rtl8139d/rtl8168d panic ✅ DONE, e1000d MMIO bounds ✅ DONE. Remaining: xHCI re-entrancy, ECDSA wire format mis-reads, demux panic, IPv6 ext header firewall bypass. |
|
||||
| **HIGH** (58 not yet touched) | 99 unsafe blocks in relibc socket.rs (partial SAFETY docs done; FFI semantics not yet documented), TCP SendMsg, MSG_NOSIGNAL, relibc option level collision, conntrack `track()` `is_orig` race, hardware checksum offload, etc. — see §6.3 |
|
||||
| **MEDIUM** (84 not yet touched) | Most antipatterns, 50 silent error swallows, redundant error strategies — see §6.4 |
|
||||
| **LOW** (37 not yet touched) | Cosmetic, naming — see §6.5 |
|
||||
| **Stale docs** | Previous rounds confirmed NONE need removal (see §11.1). Round 6 cleanups already complete. |
|
||||
| **Stale docs** | Previous rounds confirmed NONE need removal (see §11.1). Round 6 cleanups already complete. Created `local/docs/networking-validation-log.md` for the previously missing reference. |
|
||||
| **Submodule files (kernel)** | `local/sources/kernel/` — kernel syscall forks still pending audit/docs |
|
||||
| **Submodule files (syscall)** | `local/sources/syscall/` — `SchemeSocketCall` / `CqeOpcode` still pending |
|
||||
| **iwlwifi C transport** | `linux_port.c` (2,715 LOC) — primarily C, Rust SAFETY docs not applicable. Pending CI integration of static analysis. |
|
||||
|
||||
### 15.3a openssh IPv4 sed workaround — proper fix requires local fork
|
||||
|
||||
The audit identified the openssh recipe as having an `sed -i "s/#AddressFamily any/AddressFamily inet/g"`
|
||||
workaround that hard-codes IPv4-only on every build (per AGENTS.md STUB AND WORKAROUND
|
||||
POLICY: zero tolerance for sed/awk hacks).
|
||||
|
||||
**This round correctly did NOT edit `recipes/net/openssh/recipe.toml` directly.**
|
||||
Per AGENTS.md: "DO NOT edit files under mainline `recipes/` directly — put patches in
|
||||
`local/patches/`" and per the recipe format rules: "All source-tree edits MUST be
|
||||
mirrored to `local/patches/` or `local/sources/<component>/` in the same session."
|
||||
|
||||
**The proper fix path** is one of:
|
||||
1. **Create `local/recipes/net/openssh/` as a Red Bear fork recipe** that uses the
|
||||
same upstream tar but adds a Red Bear patch file (e.g.
|
||||
`local/patches/openssh/01-ipv6-capability-detect.patch`) implementing the
|
||||
capability-detection logic that replaces the sed. The cookbook's `apply-patches.sh`
|
||||
will symlink the patch into the build's working tree.
|
||||
2. **Implement IPv6 in netstack/relibc** so the workaround is no longer needed at the
|
||||
openssh layer. This is the root-cause fix and is tracked under
|
||||
`local/docs/NETWORKING-IMPROVEMENT-PLAN.md` Phase 5.4 (Wi-Fi IP datapath bridge)
|
||||
and the relibc/socket.rs work in §3.4.
|
||||
|
||||
This remains a future task. The current sed workaround is documented in
|
||||
`recipes/net/openssh/recipe.toml:48-49` and tracked for the next round.
|
||||
|
||||
### 15.4 Remaining Round Work (Next Round Priority)
|
||||
|
||||
Per the user's "Implement next round" directive, the next implementation round should
|
||||
|
||||
Reference in New Issue
Block a user