comparison src/libpam/conversation.rs @ 100:3f11b8d30f63

Implement environment variable management. This actually wires up the environment variable handling to libpam, so that applications and modules can manage the environment through the authentication process.
author Paul Fisher <paul@pfish.zone>
date Tue, 24 Jun 2025 17:08:01 -0400
parents b87100c5eed4
children 94b51fa4f797
comparison
equal deleted inserted replaced
99:8840fa6534f6 100:3f11b8d30f63
53 let borrowed: Result<Vec<_>> = messages.iter().map(Message::try_from).collect(); 53 let borrowed: Result<Vec<_>> = messages.iter().map(Message::try_from).collect();
54 // TODO: Do we want to log something here? 54 // TODO: Do we want to log something here?
55 conv.communicate(&borrowed?); 55 conv.communicate(&borrowed?);
56 56
57 // Send our answers back. 57 // Send our answers back.
58 let owned = Answers::build(messages).map_err(|_| ErrorCode::ConversationError)?; 58 let owned = Answers::build(messages)?;
59 *answers_ptr = owned.into_ptr().as_ptr(); 59 *answers_ptr = owned.into_ptr().as_ptr();
60 Ok(()) 60 Ok(())
61 }; 61 };
62 ErrorCode::result_to_c(internal()) 62 ErrorCode::result_to_c(internal())
63 } 63 }