Hello community,
here is the log from the commit of package yast2-ldap-server
checked in at Thu Sep 25 01:00:08 CEST 2008.
--------
--- yast2-ldap-server/yast2-ldap-server.changes 2008-09-12 15:07:09.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-ldap-server/yast2-ldap-server.changes 2008-09-24 14:11:49.000000000 +0200
@@ -1,0 +2,15 @@
+Wed Sep 24 12:58:24 CEST 2008 - rhafer@suse.de
+
+- Version 2.17.7
+ * Fixed crashes and consistency checks for ACLs ((bnc#425821)
+ * Fixed adding multiple Databases at once (bnc#429450)
+ * Smaller fixes to source documentation
+
+-------------------------------------------------------------------
+Thu Sep 18 12:19:16 CEST 2008 - rhafer@suse.de
+
+- Version 2.17.6:
+ * more Online Help updates
+ * Various fixes for the installation proposal.
+ (bnc#427260, bnc#426634, bnc#426593)
+-------------------------------------------------------------------
Old:
----
yast2-ldap-server-2.17.5.tar.bz2
New:
----
yast2-ldap-server-2.17.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ldap-server.spec ++++++
--- /var/tmp/diff_new_pack.kW7031/_old 2008-09-25 01:00:00.000000000 +0200
+++ /var/tmp/diff_new_pack.kW7031/_new 2008-09-25 01:00:00.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-ldap-server (Version 2.17.5)
+# spec file for package yast2-ldap-server (Version 2.17.7)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-ldap-server
-Version: 2.17.5
+Version: 2.17.7
Release: 1
License: GPL v2 or later; X11/MIT
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-ldap-server-2.17.5.tar.bz2
+Source0: yast2-ldap-server-2.17.7.tar.bz2
Prefix: /usr
BuildRequires: boost-devel gcc-c++ libldapcpp-devel perl-Digest-SHA1 perl-X500-DN perl-gettext pkg-config update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-ldap-client
Requires: acl net-tools perl perl-Digest-SHA1 perl-gettext perl-X500-DN yast2 yast2-ca-management yast2-ldap-client yast2-perl-bindings yast2-users
@@ -41,7 +41,7 @@
Andreas Bauer
%prep
-%setup -n yast2-ldap-server-2.17.5
+%setup -n yast2-ldap-server-2.17.7
%build
%{prefix}/bin/y2tool y2autoconf
@@ -86,6 +86,16 @@
/usr/share/YaST2/scrconf/*
%doc %{prefix}/share/doc/packages/yast2-ldap-server
%changelog
+* Wed Sep 24 2008 rhafer@suse.de
+- Version 2.17.7
+ * Fixed crashes and consistency checks for ACLs ((bnc#425821)
+ * Fixed adding multiple Databases at once (bnc#429450)
+ * Smaller fixes to source documentation
+* Thu Sep 18 2008 rhafer@suse.de
+- Version 2.17.6:
+ * more Online Help updates
+ * Various fixes for the installation proposal.
+ (bnc#427260, bnc#426634, bnc#426593)
* Fri Sep 12 2008 rhafer@suse.de
- Version 2.17.5:
* Updated Online Help
++++++ yast2-ldap-server-2.17.5.tar.bz2 -> yast2-ldap-server-2.17.7.tar.bz2 ++++++
++++ 1837 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/configure.in new/yast2-ldap-server-2.17.7/configure.in
--- old/yast2-ldap-server-2.17.5/configure.in 2008-09-12 13:04:33.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/configure.in 2008-09-24 13:02:13.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.6 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-ldap-server, 2.17.4, http://bugs.opensuse.org/, yast2-ldap-server)
+AC_INIT(yast2-ldap-server, 2.17.7, http://bugs.opensuse.org/, yast2-ldap-server)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.4"
+VERSION="2.17.7"
RPMNAME="yast2-ldap-server"
MAINTAINER="Ralf Haferkamp "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/agent/SlapdConfigAgent.cc new/yast2-ldap-server-2.17.7/src/agent/SlapdConfigAgent.cc
--- old/yast2-ldap-server-2.17.5/src/agent/SlapdConfigAgent.cc 2008-09-11 17:38:12.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/agent/SlapdConfigAgent.cc 2008-09-24 12:57:37.000000000 +0200
@@ -155,6 +155,7 @@
return YCPNull();
}
} catch ( std::runtime_error e ) {
+ y2error("Caught exception: %s", e.what());
lastError->add(YCPString("summary"), YCPString(std::string( e.what() ) ) );
lastError->add(YCPString("description"), YCPString("") );
return YCPBoolean(false);
@@ -1135,15 +1136,18 @@
std::vector<IndexType> idx;
std::string attr( arg->asMap()->value(YCPString("name"))->asString()->value_cstr() );
y2milestone("Edit Index for Attribute: '%s'", attr.c_str() );
- if ( arg->asMap()->value(YCPString("pres"))->asBoolean()->value() == true )
+ if ( ! arg->asMap()->value(YCPString("pres")).isNull() &&
+ arg->asMap()->value(YCPString("pres"))->asBoolean()->value() == true )
{
idx.push_back(Present);
}
- if ( arg->asMap()->value(YCPString("eq"))->asBoolean()->value() == true )
+ if ( ! arg->asMap()->value(YCPString("eq")).isNull() &&
+ arg->asMap()->value(YCPString("eq"))->asBoolean()->value() == true )
{
idx.push_back(Eq);
}
- if ( arg->asMap()->value(YCPString("sub"))->asBoolean()->value() == true )
+ if ( ! arg->asMap()->value(YCPString("sub")).isNull() &&
+ arg->asMap()->value(YCPString("sub"))->asBoolean()->value() == true )
{
idx.push_back(Sub);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/helps.ycp new/yast2-ldap-server-2.17.7/src/helps.ycp
--- old/yast2-ldap-server-2.17.5/src/helps.ycp 2008-09-12 14:57:53.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/helps.ycp 2008-09-18 12:19:00.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Help texts of all the dialogs
* Authors: Andreas Bauer
*
- * $Id: helps.ycp 51111 2008-09-12 12:57:51Z rhafer $
+ * $Id: helps.ycp 51153 2008-09-15 12:51:22Z rhafer $
*/
{
@@ -15,6 +15,28 @@
* All helps are here
*/
map HELPS = $[
+ /* The "Startup Configuration node for the main tree widget*/
+ "startup_config" :
+ _("<h3>Startup Configuration</h3>") +
+ _("<h4>Start LDAP Server</h4>") +
+ _("<p>Select <b>Yes</b> if the LDAP server should be started automatically as
+part of the boot process. Select <b>No</b> if the LDAP server should not be started. Note:
+After selecting <b>No</b> you will not be able to make any changes to the OpenLDAP
+configuration.</p>") +
+ _("<h4>Protocol Listeners</h4>") +
+ _("<p>Here you can enable and disable the various protocol listeneres of OpenLDAP</p>") +
+ _("<p><b>LDAP</b> is the standard LDAP interface on Port 389. TLS/SSL secured communication
+is possible with the StartTLS operation when you have a server certifcate configured.</p>") +
+ _("<p><b>LDAPS</b> enables the \"LDAP over SSL (ldaps)\" interface for SSL protected
+connections on port 636. You need to have a Server Certificate configured to make this working
+correctly. (See \"Global Setting\"/\"TLS Settings\" for that)") +
+ _("<p><b>LDAPI</b> enables the \"LDAP over IPC\" interface. By this you can access the
+LDAP Server through a Unix Domain Socket. You should not disable the LDAPI interface as this YaST
+Module uses it to communicate with the server.</p>") +
+ _("<h4>Firewall Settings</h4>") +
+ _("<p>Here you can selecte whether SuSEFirewall should allow access on the LDAP related
+network ports or not.</p>"),
+
/* First part of the Add Database Widget */
"database_basic" :
_("<h3>Basic Database Settings</h3>") +
@@ -112,24 +134,20 @@
(DN, filter and Attributes) matches the entry being access. You might need to order the rules according
to your needs. You can use the <b>Up</b> and <b>Down</b> buttons for that</p>"),
- /* Read dialog help 1/2 */
- "read" : _("<p><b><big>Initializing LDAP Server Configuration</big></b><br>Please wait...<br></p>") +
-
- /* Read dialog help 2/2 */
- _("<p><b><big>Aborting Initialization:</big></b><br>
+ /* Read dialog help */
+ "read" :
+ _("<p><b><big>Initializing LDAP Server Configuration</big></b><br>Please wait...<br></p>") +
+ _("<p><b><big>Aborting Initialization:</big></b><br>
Safely abort the configuration utility by pressing <b>Abort</b> now.</p>"),
- /* Write dialog help 1/2 */
- "write" : _("<p><b><big>Saving LDAP Server Configuration</big></b><br>
-Please wait...<br></p>
-") +
-
- /* Write dialog help 2/2 */
-_("<p><b><big>Aborting Saving:</big></b><br>
-Abort the save procedure by pressing <b>Abort</b>.
-An additional dialog informs whether it is safe to do so.
-</p>
-"),
+ /* Write dialog help */
+ "write" :
+ _("<p><b><big>Saving LDAP Server Configuration</big></b><br>
+Please wait...<br></p> ") +
+
+ _("<p><b><big>Aborting Saving:</big></b><br>
+Abort the save procedure by pressing <b>Abort</b>. An additional dialog informs whether it
+is safe to do so. </p> "),
/* Summary dialog help 1/3 */
"summary" :
@@ -138,45 +156,6 @@
created. Click <b>Finish</b> to write that configuration and leave the LDAP
Server module</p>"),
- /* Ovreview dialog help 1/3 */
- "overview" : _("<p><b><big>LDAP Server Configuration Overview</big></b><br>
-Obtain an overview of installed LDAP servers. Additionally
-edit their configuration.<br></p>
-") +
-
- /* Ovreview dialog help 2/3 */
-_("<p><b><big>Adding an LDAP Server:</big></b><br>
-Press <b>Add</b> to configure an LDAP server.</p>
-") +
-
- /* Ovreview dialog help 3/3 */
-_("<p><b><big>Editing or Deleting:</big></b><br>
-Choose an LDAP server to change or remove.
-Then press <b>Edit</b> or <b>Delete</b> as desired.</p>
-"),
-
- /* Configure1 dialog help 1/2 */
- "c1" : _("<p><b><big>Configuration Part One</big></b><br>
-Press <b>Next</b>.
-<br></p>
-") +
-
- /* Configure1 dialog help 2/2 */
-_("<p><b><big>Selecting something:</big></b><br>
-It is not possible, you must code it first :-)
-</p>"),
-
- /* Configure2 dialog help 1/2 */
- "c2" : _("<p><b><big>Configuration Part Two</big></b><br>
-Press <b>Next</b>.
-<br></p>
-") +
-
- /* Configure2 dialog help 2/2 */
-_("<p><b><big>Selecting something:</big></b><br>
-It is not possible, you must code it first :-)
-</p>"),
-
/* Configuration Startup Dialog 1/2 */
"service_dialog" :
_("<p>With <b>Start LDAP Server Yes or No</b>, start or stop the LDAP server.</p> ") +
@@ -208,37 +187,52 @@
"global" : _("<p>Below this item, configure some global parameters.</p>"),
/*Tree Item Dialog "schema" 1/ */
- "g_schema" : _("<p>Add or remove schema files in this dialog. Press <b>Add</b>
-to open a file dialog in which to choose a new schema.</p>
-") +
-
- /*Tree Item Dialog "schema" 2/ */
- _("<p>Select a schema file in the list and press <b>Delete</b> to remove it from the
-configuration file.</p>") +
-
- /*Tree Item Dialog "schema 3/ */
- _("<p>With the <b>Up</b> and <b>Down</b> buttons, change the position of the
-selected schema file. Keep in mind that some schema files depend on others. An incorrect
-order causes the LDAP server not to start.</p>
-"),
-
- /* Tree Item Dialog "loglevel" 1/1 */
- "g_loglevel" : _("<p>Specify the level at which debugging statements and operation statistics should be written to syslog.</p>"),
+ "schema" :
+ _("<p>Add schema files in this dialog. Press <b>Add</b> to open a file dialog in which to choose
+a new schema. Note: OpenLDAP (when used with back-config) does currently not support the removal of
+Schema Data</p>"),
+
+ /* Tree Item Dialog "loglevel" */
+ "g_loglevel" :
+ _("<p>Selected the subsystems that should log debugging statements and statistics to syslog.</p>"),
/* Tree Item Dialog "allow" 1/1 */
- "g_allow" : _("<p>Here, enable or disable a set of special features.</p>"),
-
- /* Tree Item Dialog "TLS" 1/2 */
- "g_tls" : _("<p>If TLS is active, view the current settings here.</p>")+
-
- /* Tree Item Dialog "TLS" 2/2 */
- _("<p>With <b>Select Certificate...</b>, configure new certificates for this service.</p>"),
-
- /* Tree Item Dialog "databases" 1/2 */
- "databases" : _("<p>You can see a list of configured databases.</p>")+
-
- /* Tree Item Dialog "databases" 2/2 */
- _("<p>To add a new database, press <b>Add Database...</b>.</p>")
+ "g_allow" :
+ _("<p>Select which special features the OpenLDAP Server should allow or disallow:</p>") +
+ _("<h3>Select Allow Flags</h3>") +
+ _("<p><b>LDAPv2 Bind Request</b>: To let the server accept LDAPv2 bind requests. Note
+that OpenLDAP does not truly implement LDAPv2</p>") +
+ _("<p><b>Anonymous Bind when credentials not empty</b>: To allow anonymous bind when
+credentials are not empty (i.e. password is present but bind DN is not present) </p>") +
+ _("<p><b>Unauthenticated Bind when DN not empty</b>: To allow unauthenticated
+(anonymous) binds when DN is not empty</p>") +
+ _("<p><b>Unauthenticated Update Options to process</b>: To allow unauthenticated
+(anonymous) update operations to be processed (they are still subject to access controls and
+other administrative limits)</p>") +
+
+ _("<h3>Select Disallow Flags</h3>") +
+ _("<p><b>Disable acceptance of anonymous Bind Requests</b>: By selected this the Server will
+no longer accept anonymous bind request. Note, that this does not generally prohibit anonymous
+directory access</p>") +
+ _("<p><b>Disable Simple Bind authentication</b>: Complete disable Simple Bind
+authentication</p>") +
+ _("<p><b>Disable forcing session to anonymous status upon StartTLS operation receipt</b>:
+After selecting this the server will no longer force an authenticated connection back to the
+anonymous state when receiving the StartTLS operation.</p>") +
+ _("<p><b>Disallow the StartTLS operation if authenticated</b>:
+By selected this, the server will disallow the StartTLS operation on already authenticated
+connections.</p>") ,
+
+ /* Tree Item Dialog "databases" */
+ "databases" :
+ _("<p>You can see a list of configured databases. The Databases with the type \"frontend\"
+and \"config\" represent special internal Databases. The \"Frontend\" database is use to configure
+global Access Control restrictions and Overlays that apply to all databases. The \"Config\"
+Database holds the configuration of the LDAP Server itself.</p>") +
+ /* Tree Item Dialog "databases" 2/2 */
+ _("<p>To add a new database, press <b>Add Database...</b>.</p>") +
+ _("<p>To delete a database, select a database from the List and press <b>Delete Database...</b>.
+You can not delete the \"config\" and \"frontend\" databases.</p>")
];
/* EOF */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/LdapDatabase.ycp new/yast2-ldap-server-2.17.7/src/LdapDatabase.ycp
--- old/yast2-ldap-server-2.17.5/src/LdapDatabase.ycp 2008-09-11 17:54:55.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/LdapDatabase.ycp 2008-09-24 12:57:38.000000000 +0200
@@ -301,7 +301,7 @@
Popup::Error( _("A directory must be specified.") );
continue;
}
- if ( SCR::Read(.target.dir, db["directory"]:"" ) == nil ) {
+ if ( db["directory"]:"" != "/var/lib/ldap" && SCR::Read(.target.dir, db["directory"]:"" ) == nil ) {
boolean res = Popup::AnyQuestion(Label::ErrorMsg(),
_("The directory does not exist. Create it?"),
Label::YesButton(), Label::NoButton(), `focus);
@@ -1003,6 +1003,12 @@
continue;
}
}
+ if ( size(accesslist) == 0 )
+ {
+ Popup::Error(_("You must add at least one item to the \"Access Level\" list") );
+ continue;
+ }
+
result["target"] = what;
result["access"] = accesslist;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/ldap-server_auto.ycp new/yast2-ldap-server-2.17.7/src/ldap-server_auto.ycp
--- old/yast2-ldap-server-2.17.5/src/ldap-server_auto.ycp 2008-09-11 17:38:12.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/ldap-server_auto.ycp 2008-09-18 15:50:25.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Client for autoinstallation
* Authors: Andreas Bauer
*
- * $Id: ldap-server_auto.ycp 51062 2008-09-11 15:12:21Z rhafer $
+ * $Id: ldap-server_auto.ycp 51284 2008-09-18 13:50:25Z rhafer $
*
* This is a client for autoinstallation. It takes its arguments,
* goes through the configuration and return the setting.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/LdapServer.pm new/yast2-ldap-server-2.17.7/src/LdapServer.pm
--- old/yast2-ldap-server-2.17.5/src/LdapServer.pm 2008-09-11 17:38:12.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/LdapServer.pm 2008-09-24 12:57:38.000000000 +0200
@@ -4,7 +4,7 @@
# Summary: LdapServer settings, input and output functions
# Authors: Ralf Haferkamp , Andreas Bauer
#
-# $Id: LdapServer.pm 51019 2008-09-11 11:01:14Z rhafer $
+# $Id: LdapServer.pm 51443 2008-09-24 10:38:25Z rhafer $
#
# Representation of the configuration of ldap-server.
# Input and output routines.
@@ -146,35 +146,28 @@
},
{ "name" => "member",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1)
},
{ "name" => "mail",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1)
},
{ "name" => "cn",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1),
"sub" => YaST::YCP::Boolean(1)
},
{ "name" => "displayName",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1),
"sub" => YaST::YCP::Boolean(1)
},
{ "name" => "uid",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1),
"sub" => YaST::YCP::Boolean(1)
},
{ "name" => "sn",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1),
"sub" => YaST::YCP::Boolean(1)
},
{ "name" => "givenName",
"eq" => YaST::YCP::Boolean(1),
- "pres" => YaST::YCP::Boolean(1),
"sub" => YaST::YCP::Boolean(1)
}
);
@@ -1084,9 +1077,9 @@
my $self = shift;
if ( ! keys(%dbDefaults ) ) {
$self->InitDbDefaults();
+ $usingDefaults = 1;
}
- y2milestone(Data::Dumper->Dump([\%dbDefaults]));
- $usingDefaults = 1;
+ y2debug(Data::Dumper->Dump([\%dbDefaults]));
$overwriteConfig = 1;
return \%dbDefaults;
}
@@ -1098,8 +1091,9 @@
my $defaults = shift;
$defaults->{'serviceEnabled'} = YaST::YCP::Boolean($defaults->{'serviceEnabled'});
$defaults->{'slpRegister'} = YaST::YCP::Boolean($defaults->{'slpRegister'});
- y2milestone("SetInitialDefaults: ". Data::Dumper->Dump([$defaults]));
+ y2debug("SetInitialDefaults: ". Data::Dumper->Dump([$defaults]));
%dbDefaults = %$defaults;
+ $usingDefaults = 0;
return 1;
}
@@ -1263,7 +1257,7 @@
my ($self, $index) = @_;
y2milestone("ReadDatabase ".$index);
my $rc = SCR->Read(".ldapserver.database.{".$index."}" );
- y2milestone( "Database: ".Data::Dumper->Dump([$rc]) );
+ y2debug( "Database: ".Data::Dumper->Dump([$rc]) );
return $rc;
}
@@ -1282,9 +1276,18 @@
{
my ($self, $dbIndex, $newIdx ) = @_;
y2milestone("ChangeDatabaseIndex: ".Data::Dumper->Dump([$newIdx]) );
- $newIdx->{'pres'} = YaST::YCP::Boolean($newIdx->{'pres'});
- $newIdx->{'eq'} = YaST::YCP::Boolean($newIdx->{'eq'});
- $newIdx->{'sub'} = YaST::YCP::Boolean($newIdx->{'sub'});
+ if( defined $newIdx->{'pres'} )
+ {
+ $newIdx->{'pres'} = YaST::YCP::Boolean($newIdx->{'pres'});
+ }
+ if( defined $newIdx->{'eq'} )
+ {
+ $newIdx->{'eq'} = YaST::YCP::Boolean($newIdx->{'eq'});
+ }
+ if( defined $newIdx->{'sub'} )
+ {
+ $newIdx->{'sub'} = YaST::YCP::Boolean($newIdx->{'sub'});
+ }
my $rc = SCR->Write(".ldapserver.database.{".$dbIndex."}.index", $newIdx );
return $rc;
}
@@ -1300,7 +1303,7 @@
# # a Map defining the target objects of this ACL
# # can contain any or multiple keys of the following
# # types
- # 'attrs' => [ <list of attributetypes> ],
+ # 'attrs' => <A comma-separated string of attributetypes>,
# 'filter' => <LDAP filter string>,
# 'dn' => {
# 'style' => <'base' or 'subtree'>
@@ -1325,6 +1328,11 @@
my ($self, $dbIndex, $acllist ) = @_;
y2milestone("ChangeDatabaseAcl: ".Data::Dumper->Dump([$acllist]) );
my $rc = SCR->Write(".ldapserver.database.{".$dbIndex."}.acl", $acllist );
+ if ( ! $rc )
+ {
+ my $err = SCR->Error(".ldapserver");
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ }
return $rc;
}
@@ -1501,7 +1509,7 @@
sub CheckDatabase
{
my ($self, $db) = @_;
- y2milestone("CheckDatabase: ".Data::Dumper->Dump([$db]) );
+ y2milestone("CheckDatabase");
my $suffix_object = X500::DN->ParseRFC2253($db->{'suffix'});
if(! defined $suffix_object) {
$self->SetError(_("Base DN \"". $db->{'suffix'} ."\" is not a valid LDAP DN."), "");
@@ -1661,6 +1669,7 @@
sub UpdateDatabase
{
my ($self, $index, $changes) = @_;
+ y2milestone( "UpdateDatabase");
if ( defined $changes->{'entrycache'} )
{
$changes->{'entrycache'} = YaST::YCP::Integer( $changes->{'entrycache'} );
@@ -1674,10 +1683,8 @@
$changes->{'checkpoint'}->[0] = YaST::YCP::Integer( $changes->{'checkpoint'}->[0] );
$changes->{'checkpoint'}->[1] = YaST::YCP::Integer( $changes->{'checkpoint'}->[1] );
}
- y2milestone( "UpdateDatabase: ".Data::Dumper->Dump([$changes]) );
my $rc = SCR->Write(".ldapserver.database.{".$index."}", $changes);
- y2milestone( "result: ".Data::Dumper->Dump([$rc]) );
return $rc;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/ldap-server_proposal.ycp new/yast2-ldap-server-2.17.7/src/ldap-server_proposal.ycp
--- old/yast2-ldap-server-2.17.5/src/ldap-server_proposal.ycp 2008-08-11 10:15:32.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/ldap-server_proposal.ycp 2008-09-18 12:19:00.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Proposal function dispatcher.
* Authors: Andreas Bauer
*
- * $Id: ldap-server_proposal.ycp 49883 2008-08-08 15:23:48Z rhafer $
+ * $Id: ldap-server_proposal.ycp 51267 2008-09-18 10:18:38Z rhafer $
*
* Proposal function dispatcher for ldap-server configuration.
* See source/installation/proposal/proposal-API.txt
@@ -75,6 +75,7 @@
if( LdapServer::ReadServiceEnabled() )
{
string rootPWString = "";
+ defaults = LdapServer::CreateInitialDefaults();
if( defaults["rootpw_clear"]:"" == Users::GetRootPassword() )
{
rootPWString = _("[root password]");
@@ -118,7 +119,7 @@
}
proposal = _("LDAP Server Configuration:") + HTML::Newline() +
- HTML::List( [ _("Base DN: ") + defaults["basedn"]:"",
+ HTML::List( [ _("Base DN: ") + defaults["suffix"]:"",
_("Root DN: ") + defaults["rootdn"]:"",
_("LDAP Password: ") + rootPWString
] ) +
@@ -150,6 +151,11 @@
{
// stored = LdapServer::Export();
seq = (symbol) WFM::CallFunction("ldap-server", [.propose]);
+ if(seq == `next) {
+ LdapServer::WriteServiceEnabled( true );
+ } else {
+ LdapServer::WriteServiceEnabled( false );
+ }
// if(seq != `next) LdapServer::Import(stored);
}
y2debug("stored=%1",stored);
@@ -190,11 +196,18 @@
return ret;
}
- Progress::off();
+
LdapServer::ReadFromDefaults();
- LdapServer::WriteServiceEnabled( true );
- LdapServer::WriteLogLevels( ["none"] );
- Progress::on();
+ map defaults = LdapServer::CreateInitialDefaults();
+ map ldapclient_defaults = Ldap::Export();
+ ldapclient_defaults["ldap_server"] = "localhost";
+ ldapclient_defaults["base_config_dn"] = "ou=ldapconfig,"+defaults["suffix"]:"";
+ ldapclient_defaults["bind_dn"] = defaults["rootdn"]:"";
+ ldapclient_defaults["ldap_domain"] = defaults["suffix"]:"";
+ ldapclient_defaults["ldap_tls"] = false;
+ ldapclient_defaults["file_server"] = true;
+ ldapclient_defaults["create_ldap"] = true;
+
if( !LdapServer::HaveCommonServerCertificate() )
{
Report::Error( _("OpenLDAP Server: Common server certificate not available.
@@ -202,9 +215,13 @@
}
else
{
+ ldapclient_defaults["ldap_tls"] = true;
LdapServer::WriteTlsConfigCommonCert();
}
- LdapServer::WriteSLPEnabled( true );
+
+ Ldap::SetDefaults( ldapclient_defaults );
+ Ldap::SetBindPassword( defaults["rootpw_clear"]:"" );
+ //LdapServer::WriteSLPEnabled( true );
LdapServer::Write();
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/ldap-server.ycp new/yast2-ldap-server-2.17.7/src/ldap-server.ycp
--- old/yast2-ldap-server-2.17.5/src/ldap-server.ycp 2008-09-11 17:38:12.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/ldap-server.ycp 2008-09-18 15:50:25.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Main file
* Authors: Andreas Bauer
*
- * $Id: ldap-server.ycp 50980 2008-09-10 15:11:53Z rhafer $
+ * $Id: ldap-server.ycp 51284 2008-09-18 13:50:25Z rhafer $
*
* Main file for ldap-server configuration. Uses all other files.
*/
@@ -285,7 +285,7 @@
/* main ui function */
any ret = nil;
-if(propose) ret = ProposalSequence();
+if(propose) ret = InstProposalSequence();
else ret = CommandLine::Run(cmdline_description);
y2debug("ret=%1", ret);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/lib/slapd-config.cpp new/yast2-ldap-server-2.17.7/src/lib/slapd-config.cpp
--- old/yast2-ldap-server-2.17.5/src/lib/slapd-config.cpp 2008-09-11 17:38:12.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/lib/slapd-config.cpp 2008-09-24 12:57:38.000000000 +0200
@@ -533,6 +533,10 @@
// we should have reached the "by"-clauses now
while ( true )
{
+ if ( spos == std::string::npos )
+ {
+ throw std::runtime_error( "Error while parsing ACL by clause" );
+ }
if ( aclString.substr(spos, tmppos-spos) != "by" )
{
if (tmppos != std::string::npos )
@@ -717,6 +721,12 @@
aclString << " attrs=" << m_attributes;
}
}
+
+ if ( m_byList.empty() )
+ {
+ throw(std::runtime_error("ACL byList is empty"));
+ }
+
OlcAclByList::const_iterator i;
for ( i = m_byList.begin(); i != m_byList.end(); i++ )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.17.5/src/tree_structure.ycp new/yast2-ldap-server-2.17.7/src/tree_structure.ycp
--- old/yast2-ldap-server-2.17.5/src/tree_structure.ycp 2008-09-12 14:57:53.000000000 +0200
+++ new/yast2-ldap-server-2.17.7/src/tree_structure.ycp 2008-09-24 12:57:38.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Widget Tree structure
* Authors: Andreas Bauer
*
- * $Id: tree_structure.ycp 51111 2008-09-12 12:57:51Z rhafer $
+ * $Id: tree_structure.ycp 51332 2008-09-19 13:49:48Z rhafer $
*/
{
textdomain "ldap-server";
@@ -805,7 +805,13 @@
{
return true;
}
- return LdapServer::ChangeDatabaseAcl( index, (list