diff src/libpam/pam_ffi.rs @ 97:efe2f5f8b5b2

Implement "stateless" application-side PAM calls. This introduces `authenticate`, `account_management`, and `change_authtok`. These are the three PAM operations that are stateless (i.e., they don't start a session or modify global credentials).
author Paul Fisher <paul@pfish.zone>
date Mon, 23 Jun 2025 19:10:34 -0400
parents 5ddbcada30f2
children b87100c5eed4
line wrap: on
line diff
--- a/src/libpam/pam_ffi.rs	Mon Jun 23 14:26:34 2025 -0400
+++ b/src/libpam/pam_ffi.rs	Mon Jun 23 19:10:34 2025 -0400
@@ -76,7 +76,7 @@
     num_msg: c_int,
     questions: *const *const Question,
     answers: *mut *mut Answer,
-    appdata: *mut AppData,
+    appdata: *const AppData,
 ) -> c_int;
 
 /// The type used by PAM to call back into a conversation.
@@ -86,7 +86,7 @@
     pub callback: ConversationCallback,
     /// The pointer that will be passed as the last parameter
     /// to the conversation callback.
-    pub appdata: *mut AppData,
+    pub appdata: *const AppData,
     pub life: PhantomData<&'a mut ()>,
     pub _marker: Immovable,
 }