comparison src/handle.rs @ 144:56b559b7ecea

Big rename: separate concepts of Transaction from Handle. - An application that uses PAM creates a Transaction. - The Transaction has a Handle. Currently, a module still get something called a "handle", but that's probably going to change soon.
author Paul Fisher <paul@pfish.zone>
date Sun, 06 Jul 2025 11:59:26 -0400
parents ebb71a412b58
children 1bc52025156b
comparison
equal deleted inserted replaced
143:ebb71a412b58 144:56b559b7ecea
57 /// Functionality for both PAM applications and PAM modules. 57 /// Functionality for both PAM applications and PAM modules.
58 /// 58 ///
59 /// This base trait includes features of a PAM handle that are available 59 /// This base trait includes features of a PAM handle that are available
60 /// to both applications and modules. 60 /// to both applications and modules.
61 /// 61 ///
62 /// You probably want [`LibPamHandle`](crate::libpam::OwnedLibPamHandle). 62 /// You probably want [`LibPamTransaction`](crate::libpam::LibPamTransaction).
63 /// This trait is intended to allow creating mock PAM handle types 63 /// This trait is intended to allow creating mock PAM handle types
64 /// to test PAM modules and applications. 64 /// to test PAM modules and applications.
65 pub trait PamShared { 65 pub trait PamShared {
66 /// Logs something via this PAM handle. 66 /// Logs something via this PAM handle.
67 /// 67 ///
266 /// If you are not writing a PAM client application (e.g., you are writing 266 /// If you are not writing a PAM client application (e.g., you are writing
267 /// a module), you should not use the functionality exposed by this trait. 267 /// a module), you should not use the functionality exposed by this trait.
268 /// 268 ///
269 /// Like [`PamShared`], this is intended to allow creating mock implementations 269 /// Like [`PamShared`], this is intended to allow creating mock implementations
270 /// of PAM for testing PAM applications. 270 /// of PAM for testing PAM applications.
271 pub trait PamHandleApplication: PamShared { 271 pub trait Transaction: PamShared {
272 /// Starts the authentication process for the user. 272 /// Starts the authentication process for the user.
273 /// 273 ///
274 /// The application calls this to find out who the user is, and verify that 274 /// The application calls this to find out who the user is, and verify that
275 /// they are really that person. If authentication is successful, 275 /// they are really that person. If authentication is successful,
276 /// this will return an `Ok(())` [`Result`]. 276 /// this will return an `Ok(())` [`Result`].