Mercurial > crates > nonstick
diff src/libpam/handle.rs @ 147:4d7333337569
Implement Transaction for LibPamTransaction.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 06 Jul 2025 19:23:02 -0400 |
parents | 1bc52025156b |
children | 4b3a5095f68c |
line wrap: on
line diff
--- a/src/libpam/handle.rs Sun Jul 06 19:10:26 2025 -0400 +++ b/src/libpam/handle.rs Sun Jul 06 19:23:02 2025 -0400 @@ -134,15 +134,10 @@ wrap!(fn change_authtok { pam_chauthtok }); } -// TODO: pam_authenticate - app -// pam_setcred - app -// pam_acct_mgmt - app -// pam_chauthtok - app +// TODO: pam_setcred - app // pam_open_session - app // pam_close_session - app -// pam_putenv - shared -// pam_getenv - shared -// pam_getenvlist - shared +// pam_set/get_data - module impl<C: Conversation> Drop for LibPamTransaction<C> { /// Closes the PAM session on an owned PAM handle. @@ -205,6 +200,12 @@ result.as_ref().map(drop).map_err(|&e| e) } +impl<C: Conversation> Transaction for LibPamTransaction<C> { + delegate!(fn authenticate(&mut self, flags: Flags) -> Result<()>); + delegate!(fn account_management(&mut self, flags: Flags) -> Result<()>); + delegate!(fn change_authtok(&mut self, flags: Flags) -> Result<()>); +} + impl<C: Conversation> PamShared for LibPamTransaction<C> { delegate!(fn log(&self, level: Level, location: Location<'_>, entry: &str) -> ()); delegate!(fn environ(&self) -> impl EnvironMap);