Mercurial > crates > nonstick
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>() |