view src/libpam/mod.rs @ 143:ebb71a412b58

Turn everything into OsString and Just Walk Out! for strings with nul. To reduce the hazard surface of the API, this replaces most uses of &str with &OsStr (and likewise with String/OsString). Also, I've decided that instead of dealing with callers putting `\0` in their parameters, I'm going to follow the example of std::env and Just Walk Out! (i.e., panic!()). This makes things a lot less annoying for both me and (hopefully) users.
author Paul Fisher <paul@pfish.zone>
date Sat, 05 Jul 2025 22:12:46 -0400
parents a508a69c068a
children 56b559b7ecea
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 environ;
mod handle;
mod memory;
mod module;
mod question;

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