packages: ldap-account-manager/ldap-account-manager.spec, ldap-account-mana...
baggins
baggins at pld-linux.org
Mon Feb 15 15:23:04 CET 2010
Author: baggins Date: Mon Feb 15 14:23:04 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- add option for servers that don't allow anonymous bind
---- Files affected:
packages/ldap-account-manager:
ldap-account-manager.spec (1.33 -> 1.34) , ldap-account-manager-noanon.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/ldap-account-manager/ldap-account-manager.spec
diff -u packages/ldap-account-manager/ldap-account-manager.spec:1.33 packages/ldap-account-manager/ldap-account-manager.spec:1.34
--- packages/ldap-account-manager/ldap-account-manager.spec:1.33 Sun Feb 14 17:28:48 2010
+++ packages/ldap-account-manager/ldap-account-manager.spec Mon Feb 15 15:22:58 2010
@@ -7,7 +7,7 @@
Summary(pl.UTF-8): LDAP Account Manager (LAM) - interfejs WWW do zarządzania kontami na serwerze LDAP
Name: ldap-account-manager
Version: 2.9.0
-Release: 0.2
+Release: 0.3
License: GPL v2+
Group: Applications/WWW
Source0: http://dl.sourceforge.net/lam/%{name}-%{version}.tar.gz
@@ -19,6 +19,7 @@
Patch1: loginbysearch.patch
Patch2: %{name}-shadowAccount.patch
Patch3: %{name}-sizelimit.patch
+Patch4: %{name}-noanon.patch
BuildRequires: perl-base
BuildRequires: rpm-perlprov
BuildRequires: rpmbuild(macros) >= 1.268
@@ -135,6 +136,7 @@
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
cp -a config/config.cfg{_sample,}
cp -a config/lam.conf{_sample,}
@@ -262,6 +264,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.34 2010/02/15 14:22:58 baggins
+- add option for servers that don't allow anonymous bind
+
Revision 1.33 2010/02/14 16:28:48 baggins
- VERSION file is used by the php app
================================================================
Index: packages/ldap-account-manager/ldap-account-manager-noanon.patch
diff -u /dev/null packages/ldap-account-manager/ldap-account-manager-noanon.patch:1.1
--- /dev/null Mon Feb 15 15:23:04 2010
+++ packages/ldap-account-manager/ldap-account-manager-noanon.patch Mon Feb 15 15:22:58 2010
@@ -0,0 +1,136 @@
+diff -ur ldap-account-manager-2.9.0/help/help.inc ldap-account-manager-2.9.0-noanon/help/help.inc
+--- ldap-account-manager-2.9.0/help/help.inc 2010-02-15 15:17:10.819334352 +0100
++++ ldap-account-manager-2.9.0-noanon/help/help.inc 2010-02-15 15:20:27.559393571 +0100
+@@ -118,6 +118,10 @@
+ "Text" => _("The number of users who may login to LAM is restricted. This can be either a fixed list of DNs or LAM can search LDAP to find a DN which matches the given user name.")),
+ "221" => array ("Headline" => _("LDAP search"),
+ "Text" => _("Please enter the LDAP suffix where LAM should start to search for users. The LDAP filter needs to match the given user name to exactly one DN. The value \"%USER%\" will be replaced by the user name from the login page.")),
++ "222" => array ("Headline" => _("DN for LDAP searches"),
++ "Text" => _("Please enter the DN used for LDAP searches. Leave empty for anonymous bind (default).")),
++ "223" => array ("Headline" => _("Password of DN for LDAP searches"),
++ "Text" => _("Please enter the password of DN used for LDAP searches. Leave empty for anonymous bind (default).")),
+ "230" => array ("Headline" => _("Profile management") . " - " . _("Add profile"),
+ "Text" => _("Please enter the name of the new profile and the password to change its settings. Profile names may contain letters, numbers and -/_.")),
+ "231" => array ("Headline" => _("Profile management") . " - " . _("Rename profile"),
+diff -ur ldap-account-manager-2.9.0/lib/config.inc ldap-account-manager-2.9.0-noanon/lib/config.inc
+--- ldap-account-manager-2.9.0/lib/config.inc 2010-02-15 15:17:10.700465385 +0100
++++ ldap-account-manager-2.9.0-noanon/lib/config.inc 2010-02-15 15:08:06.034277381 +0100
+@@ -245,11 +245,15 @@
+ /** search filter for login */
+ private $loginSearchFilter = 'uid=%USER%';
+
++ /** DN to bind as when doing search for login, leave empty for anonymous bind */
++ private $loginSearchDN = '';
++ private $loginSearchDNpassword = '';
++
+ /** List of all settings in config file */
+ private $settings = array("ServerURL", "useTLS", "Passwd", "Admins", "treesuffix",
+ "defaultLanguage", "scriptPath", "scriptServer", "scriptRights", "cachetimeout", "sizelimit",
+ "modules", "activeTypes", "types", "accessLevel", 'loginMethod', 'loginSearchSuffix',
+- 'loginSearchFilter');
++ 'loginSearchFilter', 'loginSearchDN', 'loginSearchDNPassword');
+
+
+ /**
+@@ -398,6 +402,8 @@
+ if (!in_array("loginMethod", $saved)) array_push($file_array, "\n\n# Login method.\n" . "loginMethod: " . $this->loginMethod . "\n");
+ if (!in_array("loginSearchSuffix", $saved)) array_push($file_array, "\n\n# Search suffix for LAM login.\n" . "loginSearchSuffix: " . $this->loginSearchSuffix . "\n");
+ if (!in_array("loginSearchFilter", $saved)) array_push($file_array, "\n\n# Search filter for LAM login.\n" . "loginSearchFilter: " . $this->loginSearchFilter . "\n");
++ if (!in_array("loginSearchDN", $saved)) array_push($file_array, "\n\n# DN to bind as when doing search for LAM login.\n" . "loginSearchDN: " . $this->loginSearchDN . "\n");
++ if (!in_array("loginSearchDNPassword", $saved)) array_push($file_array, "\n\n# Pasword for DN to bind as when doing search for LAM login.\n" . "loginSearchDNPassword: " . $this->loginSearchDNPassword . "\n");
+ // check if all module settings were added
+ $m_settings = array_keys($this->moduleSettings);
+ for ($i = 0; $i < sizeof($m_settings); $i++) {
+@@ -1005,6 +1011,43 @@
+ $this->loginSearchSuffix = $loginSearchSuffix;
+ }
+
++ /**
++ * Returns the DN to bind as when doing search for login.
++ *
++ * @return String DN
++ */
++ public function getLoginSearchDN() {
++ return $this->loginSearchDN;
++ }
++
++ /**
++ * Sets the DN to bind as when doing search for login.
++ *
++ * @return String $loginSearchDN DN
++ */
++ public function setLoginSearchDN() {
++ $this->loginSearchDN = $loginSearchDN;
++ }
++
++ /**
++ * Returns the password of DN to bind as when doing search for login.
++ *
++ * @return String password
++ */
++ public function getLoginSearchDNPassword() {
++ return $this->loginSearchDNPassword;
++ }
++
++ /**
++ * Sets the password of DN to bind as when doing search for login.
++ *
++ * @return String $loginSearchDNPassword password
++ */
++ public function setLoginSearchDNPassword() {
++ $this->loginSearchDNPassword = $loginSearchDNPassword;
++ }
++
++
+ }
+
+
+diff -ur ldap-account-manager-2.9.0/templates/config/confmain.php ldap-account-manager-2.9.0-noanon/templates/config/confmain.php
+--- ldap-account-manager-2.9.0/templates/config/confmain.php 2010-02-15 15:17:10.773272050 +0100
++++ ldap-account-manager-2.9.0-noanon/templates/config/confmain.php 2010-02-15 15:16:41.912272764 +0100
+@@ -494,6 +494,24 @@
+ printHelpLink(getHelp('', '221'), '221');
+ echo "</td></tr>\n";
+ $tabindex++;
++// login search DN
++echo "<tr id=\"trLoginSearchDN\"><td align=\"right\">\n";
++echo "<b>".
++ _("DN for LDAP searches") . " *: </b></td>".
++ "<td><input type=\"text\" tabindex=\"$tabindex\" name=\"loginSearchDN\" value=\"" . $conf->getLoginSearchDN() . "\" size=50></td>\n";
++echo "<td>";
++printHelpLink(getHelp('', '222'), '222');
++echo "</td></tr>\n";
++$tabindex++;
++// login search DN password
++echo "<tr id=\"trLoginSearchDNPassword\"><td align=\"right\">\n";
++echo "<b>".
++ _("Password of DN for LDAP searches") . " *: </b></td>".
++ "<td><input type=\"text\" tabindex=\"$tabindex\" name=\"loginSearchDNPassword\" value=\"" . $conf->getLoginSearchDNPassword() . "\" size=50></td>\n";
++echo "<td>";
++printHelpLink(getHelp('', '223'), '223');
++echo "</td></tr>\n";
++$tabindex++;
+
+ echo ("<tr><td colspan=3> </td></tr>\n");
+
+@@ -563,6 +581,8 @@
+ $conf->setLoginMethod($_POST['loginMethod']);
+ $conf->setLoginSearchFilter($_POST['loginSearchFilter']);
+ $conf->setLoginSearchSuffix($_POST['loginSearchSuffix']);
++ $conf->setLoginSearchDN($_POST['loginSearchDN']);
++ $conf->setLoginSearchDNPassword($_POST['loginSearchDNPassword']);
+ if (!$conf->set_Adminstring(implode(";", $adminTextNew))) {
+ $errors[] = array("ERROR", _("List of admin users is empty or invalid!"));
+ }
+diff -ur ldap-account-manager-2.9.0/templates/login.php ldap-account-manager-2.9.0-noanon/templates/login.php
+--- ldap-account-manager-2.9.0/templates/login.php 2010-02-15 15:17:10.786334238 +0100
++++ ldap-account-manager-2.9.0-noanon/templates/login.php 2010-02-15 15:12:23.418271975 +0100
+@@ -436,7 +436,7 @@
+ $searchSuccess = true;
+ $searchError = '';
+ $searchLDAP = new Ldap($_SESSION['config']);
+- $searchLDAPResult = $searchLDAP->connect('', '', true);
++ $searchLDAPResult = $searchLDAP->connect($_SESSION['config']->getLoginSearchDN(), $_SESSION['config']->getLoginSearchDNPassword(), true);
+ if (! ($searchLDAPResult == 0)) {
+ $searchSuccess = false;
+ $searchError = _('Cannot connect to specified LDAP server. Please try again.') . ' ' . @ldap_error($searchLDAP->server());
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ldap-account-manager/ldap-account-manager.spec?r1=1.33&r2=1.34&f=u
More information about the pld-cvs-commit
mailing list