diff --git a/lam/lib/ldap.inc b/lam/lib/ldap.inc index 3f84e2b8..eef99fb0 100644 --- a/lam/lib/ldap.inc +++ b/lam/lib/ldap.inc @@ -213,10 +213,13 @@ class Ldap{ $this->updateClasses(); $this->updateCapabilities(); } - // return server handle - return $this->server; + // return success number + return ldap_errno($this->server); } + // return error number + else return ldap_errno($this->server); } + else return false; } // closes connection to server diff --git a/lam/templates/login.php b/lam/templates/login.php index 298f2aff..0cb6658b 100644 --- a/lam/templates/login.php +++ b/lam/templates/login.php @@ -288,7 +288,7 @@ if($_POST['action'] == "checklogin") { $result = $_SESSION['ldap']->connect($_POST['username'],$_POST['passwd']); // Connect to LDAP server for verifing username/password - if($result == True) // Username/password correct. Do some configuration and load main frame. + if($result == 0) // Username/password correct. Do some configuration and load main frame. { $_SESSION['loggedIn'] = true; $_SESSION['language'] = $_POST['language']; // Write selected language in session @@ -303,15 +303,25 @@ if($_POST['action'] == "checklogin") } else { - if($ldap->server) + if ($result === False) + { + $error_message = _("Cannot connect to specified LDAP-Server. Please try again."); + display_LoginPage($_SESSION['config'],""); // connection failed + } + elseif ($result == 81) + { + $error_message = _("Cannot connect to specified LDAP-Server. Please try again."); + display_LoginPage($_SESSION['config'],""); // connection failed + } + elseif ($result == 49) { $error_message = _("Wrong Password/Username combination. Try again."); display_LoginPage($_SESSION['config'],""); // Username/password invalid. Return to login page. } else { - $error_message = _("Cannot connect to specified LDAP-Server. Try again."); - display_LoginPage($_SESSION['config'],""); // Username/password invalid. Return to login page. + $error_message = _("LDAP error, server says:") . "\n
($result) " . ldap_err2str($result); + display_LoginPage($_SESSION['config'],""); // other errors } } }