comparison src/libpam/conversation.rs @ 148:4b3a5095f68c

Move libpam-sys helpers into their own library. - Renames libpam-sys-helpers to libpam-sys-consts. - Moves libpam-sys-helpers::helpers into libpam-sys-helpers, which moves them completely out of libpam-sys's dependency chain. - Moves the aliases from libpam-sys into libpam-sys::aliases.
author Paul Fisher <paul@pfish.zone>
date Mon, 07 Jul 2025 12:11:43 -0400
parents a508a69c068a
children
comparison
equal deleted inserted replaced
147:4d7333337569 148:4b3a5095f68c
3 use crate::libpam::answer::BinaryAnswer; 3 use crate::libpam::answer::BinaryAnswer;
4 use crate::libpam::answer::{Answer, Answers, TextAnswer}; 4 use crate::libpam::answer::{Answer, Answers, TextAnswer};
5 use crate::libpam::question::Question; 5 use crate::libpam::question::Question;
6 use crate::ErrorCode; 6 use crate::ErrorCode;
7 use crate::Result; 7 use crate::Result;
8 use libpam_sys::{AppData, ConversationCallback}; 8 use libpam_sys::aliases::ConversationCallback;
9 use libpam_sys_helpers::memory::PtrPtrVec; 9 use libpam_sys_helpers::PtrPtrVec;
10 use std::ffi::c_int; 10 use std::ffi::{c_int, c_void};
11 use std::iter; 11 use std::iter;
12 use std::ptr::NonNull; 12 use std::ptr::NonNull;
13 use std::result::Result as StdResult; 13 use std::result::Result as StdResult;
14 14
15 /// The type used by PAM to call back into a conversation. 15 /// The type used by PAM to call back into a conversation.
35 /// PAM calls this, we compute answers, then send them back. 35 /// PAM calls this, we compute answers, then send them back.
36 unsafe extern "C" fn wrapper_callback( 36 unsafe extern "C" fn wrapper_callback(
37 count: c_int, 37 count: c_int,
38 questions: *const *const libpam_sys::pam_message, 38 questions: *const *const libpam_sys::pam_message,
39 answers: *mut *mut libpam_sys::pam_response, 39 answers: *mut *mut libpam_sys::pam_response,
40 me: *mut AppData, 40 me: *mut c_void,
41 ) -> c_int { 41 ) -> c_int {
42 let internal = || { 42 let internal = || {
43 // Collect all our pointers 43 // Collect all our pointers
44 let conv = me 44 let conv = me
45 .cast::<C>() 45 .cast::<C>()