freebsd-dev/contrib/libpam/modules
2001-05-03 09:36:08 +00:00
..
pam_access Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_cracklib Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_deny Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_env Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_filter Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_ftp Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_group Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_issue Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_lastlog Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_limits Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_listfile Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_mail Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_mkhomedir Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_motd Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_nologin Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_permit Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_pwdb Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_radius Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_rhosts Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_rootok Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_securetty Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_shells Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_stress Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_tally Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_time Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_unix Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_userdb Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_warn Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
pam_wheel Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
dont_makefile Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
download-all Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
install_conf Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
Makefile Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
README Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00
register_static Initial import of virgin Linux-PAM 0.65, slightly stripped down. 1998-11-18 01:16:21 +00:00
Simple.Rules Vendor import Linux PAM 0.75 2001-05-03 09:36:08 +00:00

This directory contains the modules.

If you want to reserve a module name please email <pam-list@redhat.com>
and announce its name. Andrew Morgan, <morgan@linux.kernel.org>, will
add it to the Makefile in the next release of Linux-PAM.

As of Linux-PAM-0.40 modules can optionally conform to the static
modules conventions.

This file was updated for Linux-PAM-0.53.

The conventions are as follows:

There are only 6 functions that a module may declare as "public" they
fall into 4 managment groups as follows:

	functions					Management group
	------------------------------------------	----------------
	pam_sm_authenticate, pam_sm_setcred,		PAM_SM_AUTH
	pam_sm_acct_mgmt,				PAM_SM_ACCOUNT
	pam_sm_open_session, pam_sm_close_session,	PAM_SM_SESSION
	pam_sm_chauthtok				PAM_SM_PASSWORD

If a module contains definitions for any of the above functions, it
must supply definitions for all of the functions in the corresponding
management group.

The header file that defines the ANSI prototypes for these functions
is <security/pam_modules.h> . In the case that the module wishes to
offer the functions of a given managment group, it must #define
PAM_SM_XXX, where XXX is one of the above four tokens. These
definitions must occur *prior* to the 
#include <security/pam_modules.h> line.

The pam_sm_... functions should be defined to be of type 'PAM_EXTERN int'.

In the case that a module is being compiled with PAM_STATIC #define'd
it should also define a globally accessible structure
_"NAME"_modstruct containing references to each of the functions
defined by the module. (this structure is defined in
<security/pam_modules.h>.  "NAME" is the title of the module
(eg. "pam_deny")

If a module wants to be included in the static libpam.a its Makefile
should execute "register_static" with appropriate arguments (in this
directory).

[
For SIMPLE working examples, see

	./modules/pam_deny/* and ./modules/pam_rootok/* 
.]

Andrew Morgan
96/11/10