fynx_proto/
lib.rs

1//! Protocol implementations for the Fynx security ecosystem.
2//!
3//! This crate provides Rust implementations of various network security protocols:
4//!
5//! - **SSH** (Secure Shell) - RFC 4251-4254 compliant implementation
6//! - **DTLS** (Datagram Transport Layer Security) - Coming in Phase 2
7//! - **IPSec** (Internet Protocol Security) - Coming in Phase 2
8//!
9//! # Features
10//!
11//! - `ssh` (default) - SSH protocol support (client + server)
12//! - `dtls` - DTLS protocol support
13//! - `ipsec` - IPSec protocol support
14//!
15//! # Example
16//!
17//! ```rust
18//! use fynx_proto::ssh::Packet;
19//!
20//! // Create and serialize an SSH packet
21//! let packet = Packet::new(b"SSH message payload".to_vec());
22//! let wire_format = packet.to_bytes();
23//!
24//! // Parse from wire format
25//! let parsed = Packet::from_bytes(&wire_format).unwrap();
26//! assert_eq!(parsed.payload(), b"SSH message payload");
27//! ```
28//!
29//! Full client/server API coming in Stage 5 (see IMPLEMENTATION_PLAN.md)
30//!
31//! # Security
32//!
33//! This crate follows OpenSSF Best Practices (Gold Level):
34//! - All cryptographic operations use vetted libraries (`ring`, `dalek`)
35//! - Constant-time operations for authentication
36//! - Secure memory handling with `zeroize`
37//! - Comprehensive testing including fuzz testing
38//!
39//! # References
40//!
41//! - [RFC 4251](https://datatracker.ietf.org/doc/html/rfc4251) - SSH Protocol Architecture
42//! - [RFC 4252](https://datatracker.ietf.org/doc/html/rfc4252) - SSH Authentication Protocol
43//! - [RFC 4253](https://datatracker.ietf.org/doc/html/rfc4253) - SSH Transport Layer Protocol
44//! - [RFC 4254](https://datatracker.ietf.org/doc/html/rfc4254) - SSH Connection Protocol
45
46#![warn(missing_docs)]
47#![warn(rust_2018_idioms)]
48#![forbid(unsafe_code)]
49
50#[cfg(feature = "ssh")]
51pub mod ssh;
52
53#[cfg(feature = "ipsec")]
54pub mod ipsec;