Elektrine lite

← Feed

@JdeBP@tty0.social

2026-09-29 12:34 UTC

@ska@social.treehouse.systems I'm lucky in that login-envuidgid does not do more complex UI things than present a continually ticking clock, so an event loop inside the pam_conv callback is not a problem. But a more complex application might want to have more than just a modal dialogue on screen, but instead have lots of UI events going to different UI elements; and something like a login server over SSH is doing the whole SSH conversation in parallel, too, likewise a complex event-driven system. #PAM #OpenPAM

Replies (1)

  • @JdeBP@tty0.social 2026-09-29 12:47

    @ska@social.treehouse.systems In GUI programming terms: The pam_conv function is expected to bring up a dialogue box, populate it with labels and entryfields from the passed-in messages array, do the ShowDialog() thing for a modal dialogue, populate the results array from the entryfields, and return. Whereas the modeless dialogue approach involves #PAM requesting a CreateDialog() and the primary event loop calling PAM with the results when OK/Cancel are triggered. From what you describe, you're on the right track.

    Open ##5079932