diff src/libpam/handle.rs @ 96:f3e260f9ddcb

Make conversation trait use immutable references. Since sending a conversation a message doesn't really "mutate" it, it shouldn't really be considered "mutable" for that purpose.
author Paul Fisher <paul@pfish.zone>
date Mon, 23 Jun 2025 14:26:34 -0400
parents 51c9d7e8261a
children efe2f5f8b5b2
line wrap: on
line diff
--- a/src/libpam/handle.rs	Mon Jun 23 14:03:44 2025 -0400
+++ b/src/libpam/handle.rs	Mon Jun 23 14:26:34 2025 -0400
@@ -127,7 +127,7 @@
 }
 
 impl Conversation for LibPamHandle {
-    fn communicate(&mut self, messages: &[Message]) {
+    fn communicate(&self, messages: &[Message]) {
         match self.conversation_item() {
             Ok(conv) => conv.communicate(messages),
             Err(e) => {
@@ -204,7 +204,7 @@
     }
 
     /// Gets the `PAM_CONV` item from the handle.
-    fn conversation_item(&mut self) -> Result<&mut LibPamConversation<'_>> {
+    fn conversation_item(&self) -> Result<&mut LibPamConversation<'_>> {
         let output: *mut LibPamConversation = ptr::null_mut();
         let result = unsafe {
             pam_ffi::pam_get_item(