rustici/
lib.rs

1//! rustici — a minimal Rust client for the strongSwan VICI protocol.
2//!
3//! This crate implements the **wire format** and a **synchronous client** for VICI
4//! over a UNIX domain socket (default: `/var/run/charon.vici`).
5//!
6//! ### Status
7//! This is an early, intentionally small implementation. It focuses on correctness
8//! of the wire codec and a straightforward blocking client. It does **not** depend
9//! on libstrongswan or davici. No external crates are used.
10//!
11//! See the `examples/` folder for usage.
12//!
13//! ### Licensing note
14//! This crate implements an open protocol (VICI). It does not copy code from
15//! strongSwan. You may use it under MIT or Apache-2.0.
16//!
17//! ### References
18//! - strongSwan VICI plugin docs (protocol overview).
19//! - The VICI README describes packet/message formats.
20//!
21//! **Not an official project of the strongSwan team.**
22#![forbid(unsafe_code)]
23#![deny(missing_docs)]
24
25pub mod client;
26pub mod error;
27pub mod packet;
28pub mod wire;
29
30// Re-export primary types
31pub use crate::client::Client;
32pub use crate::packet::{Packet, PacketType};
33pub use crate::wire::Message;