Merged PAM from stable
[moodle.git] / auth / pam / lib.php
1 <?PHP  // $Id$
2        //
3        // PAM (Pluggable Authentication Modules) for Moodle 
4        // 
5        // Description:
6        // Authentication by using the PHP4 PAM module:
7        // http://www.math.ohio-state.edu/~ccunning/pam_auth/
8        // 
9        // Version 0.2: 2004/09/01 by Martin Vögeli (stable version)
10        // Version 0.1: 2004/08/30 by Martin Vögeli (first draft)
11        // 
12        // Contact: martinvoegeli@gmx.ch
13        // Website 1: http://elearning.zhwin.ch/
14        // Website 2: http://birdy1976.com/
15        //
16        // License:  GPL License v2
17        // // // // // // // // // // // // // // // // // // //
19 function auth_user_login ($username, $password) {
20     global $CFG;
21     // returns true if the username and password work
22     // and false if they are wrong or don't exist
23     // variable to store possible errors during authentication
24     $strErrorPAM = " ";
25     // the maximal length of returned messages is 512
26     // let's double the number to give it enough space ;)
27     // (the errror variable is passed by reference)
28     for ($i = 1; $i <= 1024; $i++) {
29         $strErrorPAM += "{$strErrorPAM} ";
30     }
31     // just for testing and debugging
32     // error_reporting(E_ALL);
33     // finally the actual authentication part...
34     if (pam_auth($username, $password, &$strErrorPAM)) {
35         // authentication success
36         return true;
37     } else {
38         // authentication failure
39         return false;
40     }
41 }
42 ?>