comparison src/lib.rs @ 45:ce47901aab7a

Rename to “nonstick”, move to root, update docs and license. - Renames the crate to “nonstick”. - Moves the main library to the root of the repository. - Removes the example PAM modules. - Updates copyright information in LICENSE file. - Updates the README.
author Paul Fisher <paul@pfish.zone>
date Tue, 15 Apr 2025 00:50:23 -0400
parents pam/src/lib.rs@ec70822cbdef
children
comparison
equal deleted inserted replaced
44:50371046c61a 45:ce47901aab7a
1 //! Interface to the pluggable authentication module framework (PAM).
2 //!
3 //! The goal of this library is to provide a type-safe API that can be used to
4 //! interact with PAM. The library is incomplete - currently it supports
5 //! a subset of functions for use in a pam authentication module. A pam module
6 //! is a shared library that is invoked to authenticate a user, or to perform
7 //! other functions.
8 //!
9 //! For general information on writing pam modules, see
10 //! [The Linux-PAM Module Writers' Guide][module-guide]
11 //!
12 //! [module-guide]: https://www.chiark.greenend.org.uk/doc/libpam-doc/html/Linux-PAM_MWG.html
13 //!
14 //! A typical authentication module will define an external function called
15 //! `pam_sm_authenticate()`, which will use functions in this library to
16 //! interrogate the program that requested authentication for more information,
17 //! and to render a result. For a working example that uses this library, see
18 //! [toznyauth-pam][].
19 //!
20 //! [toznyauth-pam]: https://github.com/tozny/toznyauth-pam
21 //!
22 //! Note that constants that are normally read from pam header files are
23 //! hard-coded in the `constants` module. The values there are taken from
24 //! a Linux system. That means that it might take some work to get this library
25 //! to work on other platforms.
26
27 extern crate libc;
28
29 pub mod constants;
30 pub mod conv;
31 pub mod items;
32 #[doc(hidden)]
33 pub mod macros;
34 pub mod module;