view src/libpam/mod.rs @ 93:efc2b56c8928

Remove undefined behavior per MIRI. This replaces a bunch of raw pointers with NonNull and removes all the undefined behavior that we can find with MIRI. We also remove the `SecureString` dependency (since it doesn't work with MIRI, and because it's not really necessary).
author Paul Fisher <paul@pfish.zone>
date Mon, 23 Jun 2025 13:02:58 -0400
parents 5ddbcada30f2
children b87100c5eed4
line wrap: on
line source

//! The implementation of the PAM interface that wraps `libpam`.
//!
//! While you're going to want to write PAM modules and applications against
//! the interfaces in [the `handle` module](crate::handle) for testability,
//! this is (probably) what will be used behind the scenes.

#![allow(dead_code)]

mod answer;
mod conversation;
mod handle;
mod memory;
mod module;
pub(crate) mod pam_ffi;
mod question;

#[doc(inline)]
pub use handle::{LibPamHandle, OwnedLibPamHandle};