diff 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
line wrap: on
line diff
--- a/src/lib.rs	Tue May 27 16:40:49 2025 -0400
+++ b/src/lib.rs	Sun Jun 01 01:15:04 2025 -0400
@@ -35,6 +35,6 @@
 #[doc(inline)]
 pub use crate::{
     constants::{ErrorCode, Flags, Result},
-    handle::{LibPamHandle, PamHandle, PamModuleHandle},
+    handle::{LibPamHandle, PamApplicationHandle, PamHandle, PamModuleHandle},
     module::PamModule,
 };