Mercurial > crates > nonstick
comparison src/lib.rs @ 64:bbe84835d6db v0.0.5
More organization; add lots of docs.
- moves `PamHandle` to its own module, since it will be used
by both modules and clients.
- adds a ton of documentation to the `PamModule` trait
and reorders methods to most-interesting-first.
- adds more flag values from pam_modules.h.
- other misc cleanup.
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Thu, 22 May 2025 01:52:32 -0400 |
| parents | a7aa5ca0d00d |
| children | a674799a5cd3 |
comparison
equal
deleted
inserted
replaced
| 63:a7aa5ca0d00d | 64:bbe84835d6db |
|---|---|
| 7 //! | 7 //! |
| 8 //! 1. Create a `dylib` crate. | 8 //! 1. Create a `dylib` crate. |
| 9 //! 2. Implement a subset of the functions in the [`PamModule`] trait | 9 //! 2. Implement a subset of the functions in the [`PamModule`] trait |
| 10 //! corresponding to what you want your module to do. | 10 //! corresponding to what you want your module to do. |
| 11 //! In the simplest case (for a new password-based authenticator), | 11 //! In the simplest case (for a new password-based authenticator), |
| 12 //! this will be the [`sm_authenticate`](PamModule::sm_authenticate) function. | 12 //! this will be the [`PamModule::authenticate`] function. |
| 13 //! 3. Export your PAM module using the [`pam_hooks!`] macro. | 13 //! 3. Export your PAM module using the [`pam_hooks!`] macro. |
| 14 //! 4. Build and install the dynamic library. | 14 //! 4. Build and install the dynamic library. |
| 15 //! This usually entails placing it at | 15 //! This usually entails placing it at |
| 16 //! <code>/usr/lib/security/pam_<var>your_module</var>.so</code>, | 16 //! <code>/usr/lib/security/pam_<var>your_module</var>.so</code>, |
| 17 //! or maybe | 17 //! or maybe |
| 24 | 24 |
| 25 pub mod constants; | 25 pub mod constants; |
| 26 #[cfg(feature = "experimental")] | 26 #[cfg(feature = "experimental")] |
| 27 pub mod conv; | 27 pub mod conv; |
| 28 pub mod items; | 28 pub mod items; |
| 29 pub mod module; | 29 mod module; |
| 30 | 30 |
| 31 mod handle; | |
| 31 mod memory; | 32 mod memory; |
| 32 mod pam_ffi; | 33 mod pam_ffi; |
| 33 | 34 |
| 34 #[doc(inline)] | 35 #[doc(inline)] |
| 35 pub use crate::{ | 36 pub use crate::{ |
| 36 constants::{ErrorCode, Flags, Result}, | 37 constants::{ErrorCode, Flags, Result}, |
| 37 module::{PamHandle, PamModule}, | 38 handle::PamHandle, |
| 39 module::PamModule, | |
| 38 }; | 40 }; |
