/ Cargo.toml
Cargo.toml
1 [package] 2 name = "kabashira-efi" 3 version = "0.1.0" 4 edition = "2021" 5 description = "UEFI Swarm client using native EFI_TCP4_PROTOCOL" 6 license = "MIT OR Apache-2.0" 7 8 [lib] 9 # Use rlib for binary builds; staticlib is for linking with C code 10 crate-type = ["rlib"] 11 12 [[bin]] 13 name = "kabashira" 14 path = "src/main.rs" 15 16 [dependencies] 17 # UEFI bindings 18 r-efi = "5.2" 19 20 # Crypto - using alloy-primitives for keccak256 21 alloy-primitives = { version = "1.0", default-features = false } 22 23 # Force generic implementation for const-hex to avoid LLVM UEFI bug 24 const-hex = { version = "1.17", default-features = false, features = ["force-generic"] } 25 26 # secp256k1 for Ethereum signatures 27 k256 = { version = "0.13", default-features = false, features = ["ecdsa", "arithmetic"] } 28 29 # Protobuf for Swarm protocol messages 30 prost = { version = "0.13", default-features = false, features = ["prost-derive"] } 31 32 # Noise protocol (we'll implement XX pattern) 33 # Using x25519-dalek for DH, chacha20poly1305 for AEAD 34 # Note: curve25519-dalek backend is forced via .cargo/config.toml for UEFI 35 x25519-dalek = { version = "2.0", default-features = false, features = ["static_secrets"] } 36 chacha20poly1305 = { version = "0.10", default-features = false, features = ["alloc"] } 37 38 # SHA256 for Noise (force-soft avoids LLVM UEFI bug) 39 sha2 = { version = "0.10", default-features = false, features = ["force-soft"] } 40 41 # HKDF for Noise key derivation 42 hkdf = { version = "0.12", default-features = false } 43 44 # Force soft implementations to avoid LLVM UEFI bugs with SIMD 45 poly1305 = { version = "0.8", default-features = false } 46 47 # Random number generation (for std tests) 48 rand_core = { version = "0.6", default-features = false } 49 50 # Heap allocator for UEFI 51 linked_list_allocator = { version = "0.10", default-features = false } 52 53 [dev-dependencies] 54 rand = "0.8" 55 56 [features] 57 default = [] 58 # Enable std for testing on host 59 std = ["alloy-primitives/std", "k256/std", "prost/std"] 60 61 [profile.release] 62 opt-level = "z" 63 lto = true 64 codegen-units = 1 65 panic = "abort" 66 67 [profile.dev] 68 panic = "abort"