supplicant_rs/lib.rs
1//! # supplicant-rs — Pure Rust WPA Supplicant
2//!
3//! Memory-safe replacement for wpa_supplicant. WPA2/WPA3, EAP, 802.1X.
4//!
5//! ## Protocols
6//!
7//! - **WPA2** — 4-way handshake, PMKSA caching
8//! - **WPA3-SAE** — Simultaneous Authentication of Equals (dragonfly)
9//! - **EAP** — EAP-TLS, EAP-TTLS, EAP-PEAP
10//! - **802.1X** — EAPOL state machine
11//! - **PMF** — Protected Management Frames
12//!
13//! ## Architecture
14//!
15//! Uses Linux nl80211 netlink interface for kernel communication.
16//! Runs as unprivileged daemon with CAP_NET_ADMIN capability.
17
18#![deny(unsafe_code)]
19#![deny(clippy::unwrap_used)]
20#![warn(missing_docs)]
21
22pub mod error;
23
24#[cfg(feature = "wpa2")]
25pub mod wpa2;
26
27#[cfg(feature = "wpa3")]
28pub mod wpa3;
29
30pub mod eapol;
31pub mod nl80211;
32
33pub use error::SupplicantError;