Proof of concept mechanical port of ircnet/ircd to Rust as part of a bit about C being insecure for network services
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"