                                Ruby/PAM Module                                
                                                                               
  Copyright (C) 2000,2001,2002,2003 Takaaki Tateishi (ttate@users.sourceforge.net)  

Ruby/PAM is an extension library which provides the interface to PAM APIs and
is distributed at http://ruby-pam.sourceforge.net/.

System Requirements
--------------------
I checked that this module can work on the following operating systems and
environments.

  * linux-2.4.0 + ruby-1.6.4 + glibc2.1.2
  * solaris8 + ruby-1.6.0
  * solaris7 + ruby-1.6.0


Installation
-------------

 1. ruby extconf.rb
 2. make
 3. make install [optional]

Methods
---------
service, user, item : String
conv : Proc or Symbol
msec, type, flag : Integer

  * PAM.start(service, user, conv, conv_data = nil){ ... }
  * PAM::Handle.new(service, user, conv, conv_data = nil){ ... }
  * PAM::Handle.start(service, user, conv, conv_data = nil){ ... }
  * PAM::Handle#end() -- called at the above block end.
  * PAM::Handle#status()
  * PAM::Handle#conv(msg)
  * PAM::Handle#authenticate(flag)
  * PAM::Handle#acct_mgmt(flag = 0)
  * PAM::Handle#set_fail_delay(msec)
  * PAM::Handle#setcred(flag = 0)
  * PAM::Handle#chauthtok(flag = 0)
  * PAM::Handle#open_session(flag = 0){ ... }
  * PAM::Handle#close_session(flag = 0)
  * PAM::Handle#set_item(type, item)
  * PAM::Handle#get_item(type, item)
  * PAM::Handle#strerror(errnum)
  * PAM::Handle#putenv("veriable=value")
  * PAM::Handle#getenv("veriable")

Structures
------------
  * Message (Struct) -- Message.new(msg_style, msg)
  * Response (Struct) -- Response.new(resp, resp_retcode)

Exceptions
------------
  * PAMError (Class)
  * PAM_SUCCESS
  * PAM_OPEN_ERR
  * ...
see 'pam_appl.h'


'PAM::' Constants
------------------
  * PAM_VERSION
  * PAM_MAJOR_VERSION
  * PAM_MINOR_VERSION
  * PAM_CONV
  * PAM_CHANGE_EXPIRED_AUTHTOK
  * PAM_DELETE_CRED
  * PAM_ERROR_MSG
  * PAM_ESTABLISH_CRED
  * PAM_OLDAUTHTOK
  * PAM_PROMPT_ECHO_OFF
  * PAM_PROMPT_ECHO_ON
  * PAM_REFRESH_CRED
  * PAM_REINITIALIZE_CRED
  * PAM_RHOST
  * PAM_RUSER
  * PAM_SERVICE
  * PAM_SILENT
  * PAM_TEXT_INFO
  * PAM_TTY
  * PAM_USER
  * PAM_USER_PROMPT
  * PAM_DISALLOW_NULL_AUTHTOK


Others
-------
  * http://www.kernel.org/pub/linux/libs/pam/
    Linux-PAM (PAM implementation for Linux)
  * http://pam.sourceforge.net/mod_auth_pam/
    mod_auth_pam (apache authentication module using PAM)

