pamela
Software
skarnet.org

Building an application with pamela instead of Linux-PAM

Prerequisites

Compiling

Linking

Programming

Running

My application is not working with pam_foobar.so!

A pamela-type architecture can only work if modules do not try to do anything fancy outside of the official PAM communication channels. In particular, if it sets global state, it will not work. PAM modules that

will not, and cannot, be supported by pamela. The only solution is to rewrite these modules so they communicate the change they wish to make via the official PAM API, and have the application perform the change itself. PAM provides a way to do this: the conversation function, which exchanges data between PAM and the application. Currently, only four types of messages are officially specified by PAM, but the mechanism is easily extensible and was designed for this. pamela fully supports customized conversation functions with any message type.