4 crates, all compile. 16/17 tests pass.
warzone-protocol (core crypto):
- Seed-based identity (Ed25519 + X25519 from 32-byte seed via HKDF)
- BIP39 mnemonic encode/decode (24 words)
- Fingerprint type (SHA-256 truncated, displayed as xxxx:xxxx:xxxx:xxxx)
- ChaCha20-Poly1305 AEAD encrypt/decrypt with random nonce
- HKDF-SHA256 key derivation
- Pre-key bundle generation with Ed25519 signatures
- X3DH key exchange (simplified, needs X25519 identity key in bundle)
- Double Ratchet: full implementation with DH ratchet, chain ratchet,
out-of-order message handling via skipped keys cache
- Message format (WarzoneMessage envelope + RatchetHeader)
- Session type with ratchet state
- Storage trait definitions (PreKeyStore, SessionStore, MessageQueue)
warzone-server (axum):
- sled database (keys, messages, one-time pre-keys)
- Routes: /v1/health, /v1/keys/register, /v1/keys/{fp},
/v1/messages/send, /v1/messages/poll/{fp}, /v1/messages/{id}/ack
warzone-client (CLI):
- `warzone init` — generate seed, show mnemonic, save to ~/.warzone/
- `warzone recover <words>` — restore from mnemonic
- `warzone info` — show fingerprint and keys
- Seed storage at ~/.warzone/identity.seed (600 perms)
- Stubs for send, recv, chat commands
warzone-mule: Phase 4 placeholder
Known issue: X3DH test fails (initiate/respond use different DH ops
due to missing X25519 identity key in bundle). Fix in next step.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 line
2.7 KiB
JSON
1 line
2.7 KiB
JSON
{"rustc":13850170861107434965,"features":"[\"__tls\", \"charset\", \"default\", \"default-tls\", \"h2\", \"http2\", \"json\", \"system-proxy\"]","declared_features":"[\"__rustls\", \"__rustls-ring\", \"__tls\", \"blocking\", \"brotli\", \"charset\", \"cookies\", \"default\", \"default-tls\", \"deflate\", \"gzip\", \"h2\", \"hickory-dns\", \"http2\", \"http3\", \"json\", \"macos-system-configuration\", \"multipart\", \"native-tls\", \"native-tls-alpn\", \"native-tls-vendored\", \"rustls-tls\", \"rustls-tls-manual-roots\", \"rustls-tls-manual-roots-no-provider\", \"rustls-tls-native-roots\", \"rustls-tls-native-roots-no-provider\", \"rustls-tls-no-provider\", \"rustls-tls-webpki-roots\", \"rustls-tls-webpki-roots-no-provider\", \"socks\", \"stream\", \"system-proxy\", \"trust-dns\", \"zstd\"]","target":8885864859914201979,"profile":2383083043656166682,"path":6096322941590817201,"deps":[[302948626015856208,"futures_core",false,3852795721836291153],[784494742817713399,"tower_service",false,3019084973514748586],[1528297757488249563,"url",false,5696782817418226902],[2251399859588827949,"pin_project_lite",false,1710285764948532043],[2517136641825875337,"sync_wrapper",false,6973133344161643346],[2620434475832828286,"http",false,9557957895952211277],[3158163345960637315,"h2",false,17389109745113830899],[3632162862999675140,"tower",false,18200958034579102259],[3870702314125662939,"bytes",false,12232477752045689865],[4160778395972110362,"hyper",false,4082376565832946489],[6803352382179706244,"percent_encoding",false,3108438017369244926],[8434721349366383850,"tower_http",false,18346537684116713900],[9144560277883153344,"native_tls_crate",false,6726722443403597082],[10229185211513642314,"mime",false,12636533556335580705],[10630857666389190470,"log",false,15333394066931208553],[11976082518617474977,"hyper_util",false,7346073458984175421],[12186126227181294540,"tokio_native_tls",false,2360341059408910326],[13077212702700853852,"base64",false,6887838416156815759],[13298363700532491723,"tokio",false,9760947767639926685],[13548984313718623784,"serde",false,5498482491300739891],[13795362694956882968,"serde_json",false,9082640696221796380],[14084095096285906100,"http_body",false,7315952028458849404],[14564311161534545801,"encoding_rs",false,3133758613690148366],[16542808166767769916,"serde_urlencoded",false,340273352019405475],[16900715236047033623,"http_body_util",false,16042883243053146654],[17894305664988315121,"rustls_pki_types",false,901854173458892180],[18273243456331255970,"hyper_tls",false,15099109344662451780]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/reqwest-285439067277ae35/dep-lib-reqwest","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} |