Mercurial > crates > nonstick
comparison src/libpam/handle.rs @ 77:351bdc13005e
Update the libpam module to work with the new structure.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 08 Jun 2025 01:03:46 -0400 |
parents | c30811b4afae |
children | 002adfb98c5c |
comparison
equal
deleted
inserted
replaced
76:e58d24849e82 | 77:351bdc13005e |
---|---|
2 use crate::constants::{ErrorCode, InvalidEnum, Result}; | 2 use crate::constants::{ErrorCode, InvalidEnum, Result}; |
3 use crate::conv::Message; | 3 use crate::conv::Message; |
4 use crate::handle::{PamApplicationOnly, PamModuleOnly, PamShared}; | 4 use crate::handle::{PamApplicationOnly, PamModuleOnly, PamShared}; |
5 use crate::libpam::memory; | 5 use crate::libpam::memory; |
6 use crate::libpam::memory::Immovable; | 6 use crate::libpam::memory::Immovable; |
7 use crate::{Conversation, Response}; | 7 use crate::Conversation; |
8 use num_derive::FromPrimitive; | 8 use num_derive::FromPrimitive; |
9 use num_traits::FromPrimitive; | 9 use num_traits::FromPrimitive; |
10 use std::ffi::{c_char, c_int}; | 10 use std::ffi::{c_char, c_int}; |
11 use std::ops::{Deref, DerefMut}; | 11 use std::ops::{Deref, DerefMut}; |
12 use std::result::Result as StdResult; | 12 use std::result::Result as StdResult; |
142 cstr_item!(set = set_authtok_item, item = ItemType::AuthTok); | 142 cstr_item!(set = set_authtok_item, item = ItemType::AuthTok); |
143 cstr_item!(set = set_old_authtok_item, item = ItemType::OldAuthTok); | 143 cstr_item!(set = set_old_authtok_item, item = ItemType::OldAuthTok); |
144 } | 144 } |
145 | 145 |
146 impl Conversation for LibPamHandle { | 146 impl Conversation for LibPamHandle { |
147 fn communicate(&mut self, messages: &[Message]) -> Result<Vec<Response>> { | 147 fn communicate(&mut self, messages: &[Message]) { |
148 self.conversation_item()?.communicate(messages) | 148 match self.conversation_item() { |
149 Ok(conv) => conv.communicate(messages), | |
150 Err(e) => { | |
151 for msg in messages { | |
152 msg.set_error(e) | |
153 } | |
154 } | |
155 } | |
149 } | 156 } |
150 } | 157 } |
151 | 158 |
152 impl PamModuleOnly for LibPamHandle { | 159 impl PamModuleOnly for LibPamHandle { |
153 fn get_authtok(&mut self, prompt: Option<&str>) -> Result<&str> { | 160 fn get_authtok(&mut self, prompt: Option<&str>) -> Result<&str> { |