diff src/libpam/module.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
line wrap: on
line diff
--- a/src/libpam/module.rs	Sat Jul 05 22:12:46 2025 -0400
+++ b/src/libpam/module.rs	Sun Jul 06 11:59:26 2025 -0400
@@ -11,7 +11,7 @@
 ///
 /// ```no_run
 /// use nonstick::{
-///     pam_hooks, ConversationAdapter, Flags, OwnedLibPamHandle, PamHandleModule, PamModule,
+///     pam_hooks, ConversationAdapter, Flags, LibPamTransaction, PamHandleModule, PamModule,
 ///     Result as PamResult,
 /// };
 /// use std::ffi::CStr;
@@ -42,7 +42,7 @@
     ($ident:ident) => {
         mod _pam_hooks_scope {
             use std::ffi::{c_char, c_int, c_void, CStr};
-            use $crate::{ErrorCode, Flags, PamModule, RawPamHandle};
+            use $crate::{ErrorCode, Flags, LibPamHandle, PamModule};
 
             #[no_mangle]
             extern "C" fn pam_sm_acct_mgmt(
@@ -51,7 +51,7 @@
                 argc: c_int,
                 argv: *const *const c_char,
             ) -> c_int {
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     let args = extract_argv(argc, argv);
                     ErrorCode::result_to_c(super::$ident::account_management(handle, args, flags))
                 } else {
@@ -66,7 +66,7 @@
                 argc: c_int,
                 argv: *const *const c_char,
             ) -> c_int {
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     let args = extract_argv(argc, argv);
                     ErrorCode::result_to_c(super::$ident::authenticate(handle, args, flags))
                 } else {
@@ -81,7 +81,7 @@
                 argc: c_int,
                 argv: *const *const c_char,
             ) -> c_int {
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     let args = extract_argv(argc, argv);
                     ErrorCode::result_to_c(super::$ident::change_authtok(handle, args, flags))
                 } else {
@@ -96,7 +96,7 @@
                 argc: c_int,
                 argv: *const *const c_char,
             ) -> c_int {
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     let args = extract_argv(argc, argv);
                     ErrorCode::result_to_c(super::$ident::close_session(handle, args, flags))
                 } else {
@@ -112,7 +112,7 @@
                 argv: *const *const c_char,
             ) -> c_int {
                 let args = extract_argv(argc, argv);
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     ErrorCode::result_to_c(super::$ident::open_session(handle, args, flags))
                 } else {
                     ErrorCode::Ignore as c_int
@@ -127,7 +127,7 @@
                 argv: *const *const c_char,
             ) -> c_int {
                 let args = extract_argv(argc, argv);
-                if let Some(handle) = unsafe { pamh.cast::<RawPamHandle>().as_mut() } {
+                if let Some(handle) = unsafe { pamh.cast::<LibPamHandle>().as_mut() } {
                     ErrorCode::result_to_c(super::$ident::set_credentials(handle, args, flags))
                 } else {
                     ErrorCode::Ignore as c_int