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 | a75a66cb4181 |
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>() |
