Proof of concept mechanical port of ircnet/ircd to Rust as part of a bit about C being insecure for network services
0

Configure Feed

Select the types of activity you want to include in your feed.

docs(claude-memory): mark SASL chunking flake resolved (slice 181)

+24 -16
+1 -1
docs/claude-memory/README.md
··· 66 66 - [TS6 reop MUST wipe](leveva-ts6-reop-must-wipe.md) — HARD RULE: on a CHANTS merge loss the loser's +R reop list is wiped with +b/+e/+I; never defer/exclude reop lists (overrules slice-171's union divergence); fire reop at EOB after winner's +R adopted 67 67 - [leveva REHASH matrix](leveva-rehash-matrix.md) — what hot-reloads on REHASH (opers/classes/allows/MOTD/admin/connect/listeners/default-user+channel-modes) vs the boot-immutable backlog (auto-connect dial loop, other options fields); the live-or-ctx ConfStore idiom + how to add a new reloadable block (slice 175) 68 68 - [leveva S2S TLS links](leveva-s2s-tls-links.md) — S2S links run over TLS both directions (inbound server-only TLS listener + outbound `connect{} tls` flag → `tls::connect_outbound`); accept-any cert, auth by PASS not PKI; the `boot_two_configs` runtime-config test seam (P11 slice 176) 69 - - [leveva SASL chunking proptest flake](leveva-sasl-chunking-proptest-flake.md) — pre-existing latent bug: sasl_proptest chunking_round_trips drops a trailing `+` at a 400-byte base64 boundary; reproduces on clean HEAD, not a regression; ready-made bugfix slice 69 + - [leveva SASL chunking proptest flake](leveva-sasl-chunking-proptest-flake.md) — RESOLVED (slice 181): the bare-`+` data chunk colliding with the IRCv3 empty-payload sentinel; unrepresentable by design (don't try to "fix" the chunker) — closed via contract docs + base64-domain fuzz + a precise-boundary proptest 70 70 - [leveva slices 178-180 (WALLOPS/KILL/metrics S2S)](leveva-s2s-notify-propagation.md) — 2026-06-15 ultracode workflow closed three more single-server-local gaps: WALLOPS + KILL S2S propagation (first-class verbs, away.rs model) + S2S server-link traffic metrics; recorded in the s2s-notify-propagation memory's "Slices 178-180" section
+23 -15
docs/claude-memory/leveva-sasl-chunking-proptest-flake.md
··· 1 1 --- 2 2 name: leveva-sasl-chunking-proptest-flake 3 - description: "pre-existing latent bug — leveva/tests/sasl_proptest.rs::chunking_round_trips fails on a specific seed (a 400-byte base64 SASL chunk boundary drops a trailing '+'); reproduces on clean HEAD, NOT a regression; needs a dedicated fix slice" 3 + description: "RESOLVED (slice 181, 2026-06-15) — the sasl_proptest chunking_round_trips flake (a bare-+ data chunk colliding with the IRCv3 empty-payload sentinel) is closed; kept as the record of WHY the chunker can't round-trip a lone-+ payload" 4 4 metadata: 5 5 node_type: memory 6 6 type: project 7 7 originSessionId: 732facbd-591f-4e50-899c-9d8ddf8473fd 8 8 --- 9 9 10 - Discovered 2026-06-15 while implementing slice 178 (WALLOPS). A proptest in 11 - `leveva/tests/sasl_proptest.rs::chunking_round_trips` fails on a particular generated 12 - seed: a **400-byte base64 SASL chunking boundary drops a trailing `+`**. The SASL spec 13 - chunks an AUTHENTICATE payload into 400-char pieces, sending an empty `AUTHENTICATE +` 14 - when the payload is an exact multiple of 400; the bug is in that boundary handling. 10 + **RESOLVED in P11 slice 181 (2026-06-15).** Originally discovered 2026-06-15 during slice 178 11 + (WALLOPS): `leveva/tests/sasl_proptest.rs::chunking_round_trips` flaked on a payload of length 12 + ≡ 1 (mod 400) ending in `+` (minimal repro `"A".repeat(400)+"+"`, also the bare `"+"`) — the 13 + round-trip dropped the trailing `+`. 15 14 16 - **Why:** confirmed it is a **pre-existing latent bug**, not introduced by the S2S work — 17 - it reproduces on clean HEAD (git-stashed the WALLOPS source → still fails on the 18 - discovered seed). proptest only surfaces it stochastically, so a fresh-seed 19 - `cargo test -p leveva` run usually passes (which is why CI/the slice gates stayed green). 15 + **Root cause (the slice-178 memory's "exact-multiple" guess was wrong):** exact-multiple-of-400 16 + payloads round-trip fine. The break is narrower — `chunks_for_wire` emitting a *data* chunk equal to 17 + the bare string `"+"` (a length-1 final chunk that is `+`). That is a **genuine IRCv3 wire-format 18 + ambiguity, not a chunker logic bug**: `AUTHENTICATE +` is reserved as the empty-payload sentinel, so 19 + a non-terminator data chunk equal to `+` is unrepresentable, and it is unfixable in the chunker (a 20 + non-final chunk must be exactly 400 chars — that *is* the "more follows" signal). It is also 21 + **unreachable for valid input**: leveva relays only base64, whose length is always a multiple of 4 22 + (as is 400), so a final chunk is never length 1. The old proptest generator `[A-Za-z0-9+/=]{0,1200}` 23 + was over-broad — it drew wire-unrepresentable payloads and asserted an impossible property. 20 24 21 - **How to apply:** when picking the next leveva slice, this is a ready-made, well-scoped 22 - bugfix candidate — fix the 400-byte/exact-multiple chunk boundary in the SASL chunker and 23 - pin the discovered seed as a proptest regression. Do NOT commit a `*.proptest-regressions` 24 - artifact for it speculatively (one was generated and removed during slice 178 to avoid 25 - committing a pinned red). Related: [[leveva-s2s-notify-propagation]] (where it was flagged). 25 + **Fix (no chunker behavior change):** documented the representability contract on 26 + `chunks_for_wire`'s rustdoc; tightened `chunking_round_trips` to the real base64-multiple-of-4 27 + domain (now genuinely total); added a full-alphabet `round_trip_unless_lone_plus_chunk` proptest 28 + that pins the exact boundary (`len % 400 == 1 && ends_with('+')` → result is the payload minus the 29 + swallowed `+`); added a deterministic `lone_plus_data_chunk_is_wire_unrepresentable` unit test. 30 + 31 + **Takeaway:** do NOT try to "fix" the chunker to round-trip a bare-`+` payload — it is impossible 32 + within IRCv3 SASL framing; the right move was contract + fuzz-domain correctness. Related: 33 + [[leveva-s2s-notify-propagation]] (where it was flagged).