Mercurial > crates > nonstick
view pam/src/lib.rs @ 35:3b2ff50db010
Merge pull request #8 from bossmc/master
Various enhancements/fixes
author | Anthony Nowell <anowell@gmail.com> |
---|---|
date | Wed, 08 Jun 2022 09:28:13 -0700 |
parents | ec70822cbdef |
children |
line wrap: on
line source
//! Interface to the pluggable authentication module framework (PAM). //! //! The goal of this library is to provide a type-safe API that can be used to //! interact with PAM. The library is incomplete - currently it supports //! a subset of functions for use in a pam authentication module. A pam module //! is a shared library that is invoked to authenticate a user, or to perform //! other functions. //! //! For general information on writing pam modules, see //! [The Linux-PAM Module Writers' Guide][module-guide] //! //! [module-guide]: http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_MWG.html //! //! A typical authentication module will define an external function called //! `pam_sm_authenticate()`, which will use functions in this library to //! interrogate the program that requested authentication for more information, //! and to render a result. For a working example that uses this library, see //! [toznyauth-pam][]. //! //! [toznyauth-pam]: https://github.com/tozny/toznyauth-pam //! //! Note that constants that are normally read from pam header files are //! hard-coded in the `constants` module. The values there are taken from //! a Linux system. That means that it might take some work to get this library //! to work on other platforms. extern crate libc; pub mod constants; pub mod conv; pub mod items; #[doc(hidden)] pub mod macros; pub mod module;