The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PAM - Invoke perl code at PAM phases

VERSION

version 0.31

SYNOPSIS

  package Example::PAM;
  
  use PAM::Constants qw(PAM_SUCCESS);
  use PAM::Handle;
  
  sub open_session {
    my $class = shift;
    my ($pamh, $flags, @ARGS) = @_;
    my $user = $pamh->get_user($prompt);
    
    return PAM_SUCCESS;
  }

DESCRIPTION

This Perl and PAM module allow you to invoke a perl interpreter and call package methods during pam phases. It also includes bindings for most of the pam functions and constants.

STATUS

Most of the interface is working at this point. I expect to be compatible at this point with both Linux PAM and OSX (Darwin) PAM. The major functions in pam_* should all be working. Some of the pam_{get,set}_item items are not implemented yet.

I wouldn't call this module secure just yet. I will mark version 1.0 when I feel that is the case.

This all said, the module is safe enough to be used. It should be cleaning up all memory that it consumes and barring mistakes in the perl code it invokes there should be no chance of it causing unexpected failures.

COPYRIGHT

Copyright 2012 - Jonathan Steinert

AUTHOR

Jonathan Steinert

LICENSE

This module is licensed under the same terms as Perl itself.