Mercurial > crates > nonstick
comparison src/lib.rs @ 69:8f3ae0c7ab92
Rework conversation data types and make safe wrappers.
This removes the old `Conversation` type and reworks the FFI types
used for PAM conversations.
This creates safe `TestResponse` and `BinaryResponse` structures in `conv`,
providing a safe way to pass response messages to PAM Conversations.
The internals of these types are allocated on the C heap, as required by PAM.
We also remove the Conversation struct, which was specific to the real PAM
implementation so that we can introduce a better abstraction.
Also splits a new `PamApplicationHandle` trait from `PamHandle`,
for the parts of a PAM handle that are specific to the application side
of a PAM transaction.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Sun, 01 Jun 2025 01:15:04 -0400 |
parents | a674799a5cd3 |
children | 9f8381a1c09c |
comparison
equal
deleted
inserted
replaced
68:e4e7d68234d0 | 69:8f3ae0c7ab92 |
---|---|
33 mod pam_ffi; | 33 mod pam_ffi; |
34 | 34 |
35 #[doc(inline)] | 35 #[doc(inline)] |
36 pub use crate::{ | 36 pub use crate::{ |
37 constants::{ErrorCode, Flags, Result}, | 37 constants::{ErrorCode, Flags, Result}, |
38 handle::{LibPamHandle, PamHandle, PamModuleHandle}, | 38 handle::{LibPamHandle, PamApplicationHandle, PamHandle, PamModuleHandle}, |
39 module::PamModule, | 39 module::PamModule, |
40 }; | 40 }; |