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.

ircd.rs / leveva-casemap / Cargo.toml
932 B 21 lines
1[package] 2name = "leveva-casemap" 3version = "0.0.0" 4edition = "2021" 5publish = false 6description = "RFC 1459 case folding — the IRC case-insensitivity rule (A-Z↔a-z plus the Scandinavian [↔{ \\↔| ]↔} ~↔^), with byte/slice fold, compare, hash, and an owned-key fold." 7 8# Extracted from `leveva` (the IRC daemon) as a self-contained leaf library: the 9# lowest leaf in the string cluster — it depends only on `core` (Ordering + Hasher) 10# and has zero IRC-specific coupling, while `string`/`ident`/`matching`/`channel`/ 11# `registry`/`whowas` all depend on *it*. `leveva` re-exports it as `leveva::casemap`. 12[lib] 13path = "src/lib.rs" 14 15[dependencies] 16 17[dev-dependencies] 18# Property/fuzz tests: the fold/compare/hash invariants are fed arbitrary byte 19# vectors and arbitrary (incl. non-ASCII) strings. Stable-toolchain fuzz tier — the 20# project has no nightly/cargo-fuzz, so proptest is the runnable fuzzer. 21proptest = "1"