updated to new lamdaemon
This commit is contained in:
parent
eb9de717b4
commit
83b8e52ef7
|
@ -3,7 +3,7 @@
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||||
Copyright (C) 2006 Roland Gruber
|
Copyright (C) 2006 - 2007 Roland Gruber
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -25,6 +25,7 @@ $Id$
|
||||||
* Tests the lamdaemon script.
|
* Tests the lamdaemon script.
|
||||||
*
|
*
|
||||||
* @author Roland Gruber
|
* @author Roland Gruber
|
||||||
|
* @author Thomas Manninger
|
||||||
* @package tools
|
* @package tools
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -50,103 +51,6 @@ echo "<body>\n";
|
||||||
|
|
||||||
echo "<h1 align=\"center\">" . _("Lamdaemon test") . "</h1>\n";
|
echo "<h1 align=\"center\">" . _("Lamdaemon test") . "</h1>\n";
|
||||||
|
|
||||||
echo "<table class=\"userlist\" rules=\"none\">\n";
|
|
||||||
|
|
||||||
flush();
|
|
||||||
$stopTest = false;
|
|
||||||
|
|
||||||
// check script server and path
|
|
||||||
echo "<tr class=\"userlist\">\n<td>" . _("Lamdaemon server and path") . " </td>\n";
|
|
||||||
if (!isset($_SESSION['config']->scriptServer) || (strlen($_SESSION['config']->scriptServer) < 3)) {
|
|
||||||
echo "<td>" . _("Error") . "</td>\n";
|
|
||||||
echo "<td bgcolor=\"red\">" . _("No lamdaemon server set, please update your LAM configuration settings.") . "</td>";
|
|
||||||
}
|
|
||||||
elseif (!isset($_SESSION['config']->scriptPath) || (strlen($_SESSION['config']->scriptPath) < 10)) {
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
|
||||||
echo "<td bgcolor=\"red\">" . _("No lamdaemon path set, please update your LAM configuration settings.") . "</td>";
|
|
||||||
$stopTest = true;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
echo "<td bgcolor=\"green\">" . _("Ok") . " </td>\n";
|
|
||||||
echo "<td bgcolor=\"green\">" . sprintf(_("Using %s as lamdaemon remote server."), $_SESSION['config']->scriptServer) . "</td>";
|
|
||||||
}
|
|
||||||
echo "</tr>\n";
|
|
||||||
|
|
||||||
flush();
|
|
||||||
|
|
||||||
// check Unix account of LAM admin
|
|
||||||
if (!$stopTest) {
|
|
||||||
echo "<tr class=\"userlist\">\n<td>" . _("Unix account") . " </td>\n";
|
|
||||||
$credentials = $_SESSION['ldap']->decrypt_login();
|
|
||||||
$unixOk = false;
|
|
||||||
$sr = @ldap_read($_SESSION['ldap']->server(), $credentials[0], "objectClass=posixAccount", array('uid'));
|
|
||||||
if ($sr) {
|
|
||||||
$entry = @ldap_get_entries($_SESSION['ldap']->server(), $sr);
|
|
||||||
$userName = $entry[0]['uid'][0];
|
|
||||||
if ($userName) {
|
|
||||||
$unixOk = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($unixOk) {
|
|
||||||
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>\n";
|
|
||||||
echo "<td bgcolor=\"green\">" . sprintf(_("Using %s to connect to remote server."), $userName) . "</td>";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
|
||||||
echo "<td bgcolor=\"red\">" . sprintf(_("Your LAM admin user (%s) must be a valid Unix account to work with lamdaemon!"), $credentials[0]) . "</td>";
|
|
||||||
$stopTest = true;
|
|
||||||
}
|
|
||||||
echo "</tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
flush();
|
|
||||||
|
|
||||||
// check SSH2 function
|
|
||||||
if (!$stopTest) {
|
|
||||||
echo "<tr class=\"userlist\">\n<td>" . _("SSH2 module") . " </td>\n";
|
|
||||||
if (function_exists("ssh2_connect")) {
|
|
||||||
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>";
|
|
||||||
echo "<td bgcolor=\"green\">" . _("SSH2 module is installed.") . "</td>";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Please install the SSH2 module for PHP and activate it in your php.ini!") . "</td>";
|
|
||||||
$stopTest = true;
|
|
||||||
}
|
|
||||||
echo "</tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
flush();
|
|
||||||
|
|
||||||
// check SSH login
|
|
||||||
if (!$stopTest) {
|
|
||||||
echo "<tr class=\"userlist\">\n<td>" . _("SSH connection") . " </td>\n";
|
|
||||||
flush();
|
|
||||||
$sshOk = false;
|
|
||||||
$handle = @ssh2_connect($_SESSION['config']->scriptServer);
|
|
||||||
if ($handle) {
|
|
||||||
if (@ssh2_auth_password($handle, $userName, $credentials[1])) {
|
|
||||||
$sshOk = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($sshOk) {
|
|
||||||
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>";
|
|
||||||
echo "<td bgcolor=\"green\">" . _("SSH connection could be established.") . "</td>";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
|
||||||
echo "<td bgcolor=\"red\">" . _("Unable to connect to remote server!") . "</td>";
|
|
||||||
$stopTest = true;
|
|
||||||
}
|
|
||||||
echo "</tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
flush();
|
|
||||||
|
|
||||||
$stopTest = lamTestLamdaemon("+ test basic\n", $stopTest, $handle, _("Execute lamdaemon"));
|
|
||||||
$stopTest = lamTestLamdaemon("+ test quota\n", $stopTest, $handle, _("Lamdaemon: Quota module installed"));
|
|
||||||
$stopTest = lamTestLamdaemon("+ quota get user\n", $stopTest, $handle, _("Lamdaemon: read quotas"));
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs a test case of lamdaemon.
|
* Runs a test case of lamdaemon.
|
||||||
*
|
*
|
||||||
|
@ -207,7 +111,120 @@ function lamTestLamdaemon($command, $stopTest, $handle, $testText) {
|
||||||
return $stopTest;
|
return $stopTest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$servers = explode(";", $_SESSION['config']->get_scriptServers());
|
||||||
|
for ($i = 0; $i < sizeof($servers); $i++) {
|
||||||
|
$servers[$i] = explode(":", $servers[$i]);
|
||||||
|
$serverName = $servers[$i][0];
|
||||||
|
$title = $serverName;
|
||||||
|
$serverDisplayName = $servers[$i][0];
|
||||||
|
if (isset($servers[$i][1])) {
|
||||||
|
$serverDisplayName = $servers[$i][1];
|
||||||
|
$title = $serverDisplayName . " (" . $serverName . ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<table class=\"userlist\" rules=\"none\" width=\"750\">\n";
|
||||||
|
|
||||||
|
flush();
|
||||||
|
$stopTest = false;
|
||||||
|
|
||||||
|
echo "<tr class=\"userlist\">\n<td colspan=\"3\" align=\"center\"><b>$title</b>\n</td>\n</tr>";
|
||||||
|
|
||||||
|
// check script server and path
|
||||||
|
echo "<tr class=\"userlist\">\n<td>" . _("Lamdaemon server and path") . " </td>\n";
|
||||||
|
if (!isset($serverName) || (strlen($serverName) < 3)) {
|
||||||
|
echo "<td>" . _("Error") . "</td>\n";
|
||||||
|
echo "<td bgcolor=\"red\">" . _("No lamdaemon server set, please update your LAM configuration settings.") . "</td>";
|
||||||
|
}
|
||||||
|
elseif (!isset($_SESSION['config']->scriptPath) || (strlen($_SESSION['config']->scriptPath) < 10)) {
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
||||||
|
echo "<td bgcolor=\"red\">" . _("No lamdaemon path set, please update your LAM configuration settings.") . "</td>";
|
||||||
|
$stopTest = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "<td bgcolor=\"green\">" . _("Ok") . " </td>\n";
|
||||||
|
echo "<td bgcolor=\"green\">" . sprintf(_("Using %s as lamdaemon remote server."), $serverName) . "</td>";
|
||||||
|
}
|
||||||
|
echo "</tr>\n";
|
||||||
|
|
||||||
|
flush();
|
||||||
|
|
||||||
|
// check Unix account of LAM admin
|
||||||
|
if (!$stopTest) {
|
||||||
|
echo "<tr class=\"userlist\">\n<td>" . _("Unix account") . " </td>\n";
|
||||||
|
$credentials = $_SESSION['ldap']->decrypt_login();
|
||||||
|
$unixOk = false;
|
||||||
|
$sr = @ldap_read($_SESSION['ldap']->server(), $credentials[0], "objectClass=posixAccount", array('uid'));
|
||||||
|
if ($sr) {
|
||||||
|
$entry = @ldap_get_entries($_SESSION['ldap']->server(), $sr);
|
||||||
|
$userName = $entry[0]['uid'][0];
|
||||||
|
if ($userName) {
|
||||||
|
$unixOk = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($unixOk) {
|
||||||
|
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>\n";
|
||||||
|
echo "<td bgcolor=\"green\">" . sprintf(_("Using %s to connect to remote server."), $userName) . "</td>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
||||||
|
echo "<td bgcolor=\"red\">" . sprintf(_("Your LAM admin user (%s) must be a valid Unix account to work with lamdaemon!"), $credentials[0]) . "</td>";
|
||||||
|
$stopTest = true;
|
||||||
|
}
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
flush();
|
||||||
|
|
||||||
|
// check SSH2 function
|
||||||
|
if (!$stopTest) {
|
||||||
|
echo "<tr class=\"userlist\">\n<td>" . _("SSH2 module") . " </td>\n";
|
||||||
|
if (function_exists("ssh2_connect")) {
|
||||||
|
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>";
|
||||||
|
echo "<td bgcolor=\"green\">" . _("SSH2 module is installed.") . "</td>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Please install the SSH2 module for PHP and activate it in your php.ini!") . "</td>";
|
||||||
|
$stopTest = true;
|
||||||
|
}
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
flush();
|
||||||
|
|
||||||
|
// check SSH login
|
||||||
|
if (!$stopTest) {
|
||||||
|
echo "<tr class=\"userlist\">\n<td>" . _("SSH connection") . " </td>\n";
|
||||||
|
flush();
|
||||||
|
$sshOk = false;
|
||||||
|
$handle = @ssh2_connect($serverName);
|
||||||
|
if ($handle) {
|
||||||
|
if (@ssh2_auth_password($handle, $userName, $credentials[1])) {
|
||||||
|
$sshOk = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($sshOk) {
|
||||||
|
echo "<td bgcolor=\"green\">" . _("Ok") . "</td>";
|
||||||
|
echo "<td bgcolor=\"green\">" . _("SSH connection could be established.") . "</td>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Error") . " </td>\n";
|
||||||
|
echo "<td bgcolor=\"red\">" . _("Unable to connect to remote server!") . "</td>";
|
||||||
|
$stopTest = true;
|
||||||
|
}
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
flush();
|
||||||
|
|
||||||
|
$stopTest = lamTestLamdaemon("+ test basic\n", $stopTest, $handle, _("Execute lamdaemon"));
|
||||||
|
$stopTest = lamTestLamdaemon("+ test quota\n", $stopTest, $handle, _("Lamdaemon: Quota module installed"));
|
||||||
|
$stopTest = lamTestLamdaemon("+ quota get user\n", $stopTest, $handle, _("Lamdaemon: read quotas"));
|
||||||
|
|
||||||
|
echo "<br />";
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "<h2>" . _("Lamdaemon test finished.") . "</h2>\n";
|
echo "<h2>" . _("Lamdaemon test finished.") . "</h2>\n";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue