Author: rhafer
Date: Wed Aug 6 18:22:47 2008
New Revision: 49793
URL: http://svn.opensuse.org/viewcvs/yast?rev=49793&view=rev
Log:
- Added TLS Settings Dialog to ProposalWizard()
- fixed some initialization problems during ProposalSequence
Modified:
trunk/ldap-server/src/LdapServer.pm
trunk/ldap-server/src/agent/SlapdConfigAgent.cc
trunk/ldap-server/src/dialogs.ycp
trunk/ldap-server/src/tree_structure.ycp
trunk/ldap-server/src/wizards.ycp
Modified: trunk/ldap-server/src/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapServer.pm?rev=49793&r1=49792&r2=49793&view=diff
==============================================================================
--- trunk/ldap-server/src/LdapServer.pm (original)
+++ trunk/ldap-server/src/LdapServer.pm Wed Aug 6 18:22:47 2008
@@ -43,6 +43,7 @@
my $useLdapiForConfig = 0;
my %dbDefaults = ();
+my $globals_initialized = 0;
my $use_ldapi_listener = 0;
my $use_ldaps_listener = 0;
my $use_ldap_listener = 0;
@@ -761,7 +762,7 @@
{
my $self = shift;
my $tls = shift;
- if ( YaST::YCP::Boolean($tls->{'tls_active'}) )
+ if ( $tls->{'tls_active'} )
{
if ( SCR->Read(".target.size", $tls->{"caCertFile"}) <= 0)
{
@@ -950,6 +951,27 @@
return 1;
}
+BEGIN { $TYPEINFO {InitGlobals} = ["function", "boolean"]; }
+sub InitGlobals
+{
+ my $self = shift;
+ if ( ! $globals_initialized )
+ {
+ SCR->Execute('.ldapserver.initGlobals' );
+ if(! $self->HaveCommonServerCertificate() )
+ {
+ y2milestone( _("Common server certificate not available. StartTLS is disabled.") );
+ }
+ else
+ {
+ $self->SetTlsConfigCommonCert();
+ $self->SetProtocolListenerEnabled("ldaps", 1);
+ }
+ $globals_initialized = 1;
+ }
+ return 1;
+}
+
BEGIN { $TYPEINFO {ReadFromDefaults} = ["function", "boolean"]; }
sub ReadFromDefaults
{
@@ -976,7 +998,7 @@
]
};
- SCR->Execute('.ldapserver.initGlobals' );
+ $self->InitGlobals();
SCR->Execute('.ldapserver.initSchema' );
my $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/core.ldif" );
if ( ! $rc ) {
Modified: trunk/ldap-server/src/agent/SlapdConfigAgent.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/agent/SlapdConfigAgent.cc?rev=49793&r1=49792&r2=49793&view=diff
==============================================================================
--- trunk/ldap-server/src/agent/SlapdConfigAgent.cc (original)
+++ trunk/ldap-server/src/agent/SlapdConfigAgent.cc Wed Aug 6 18:22:47 2008
@@ -746,16 +746,22 @@
{
if ( ! i.value().isNull() )
tls.setCaCertFile(i.value()->asString()->value_cstr() );
+ else
+ tls.setCaCertFile("");
}
else if ( key == "certFile" )
{
if ( ! i.value().isNull() )
tls.setCertFile(i.value()->asString()->value_cstr() );
+ else
+ tls.setCertFile("");
}
else if ( key == "certKeyFile" )
{
if ( ! i.value().isNull() )
tls.setCertKeyFile(i.value()->asString()->value_cstr() );
+ else
+ tls.setCertKeyFile("");
}
else if ( key == "crlCheck" )
{
@@ -764,6 +770,9 @@
{
if ( ! i.value().isNull() )
tls.setCrlFile (i.value()->asString()->value_cstr() );
+ else
+ tls.setCertKeyFile("");
+
}
else if ( key == "verifyClient" )
{
Modified: trunk/ldap-server/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/dialogs.ycp?rev=49793&r1=49792&r2=49793&view=diff
==============================================================================
--- trunk/ldap-server/src/dialogs.ycp (original)
+++ trunk/ldap-server/src/dialogs.ycp Wed Aug 6 18:22:47 2008
@@ -256,6 +256,41 @@
return ret;
}
+any TlsConfigDialog()
+{
+ Wizard::SetContentsButtons( caption, tlsWidget, HELPS["tls_dialog"]:"help not found", Label::BackButton(), Label::NextButton() );
+ LdapServer::InitGlobals();
+ cb_read_tls();
+ any ret = nil;
+ while( true )
+ {
+ ret = UI::UserInput();
+ y2milestone( "TlsConfigDialog: seeing return value '%1'", ret );
+
+ if( ret == `back || ret == `abort || ret == `cancel)
+ {
+ break;
+ }
+ else if( ret == `next || ret == `finish )
+ {
+ if (! cb_write_tls() )
+ {
+ Report::Error( callback_error );
+ continue;
+ }
+ break;
+ }
+ else if( is( ret, symbol ) )
+ {
+ handler_cmd = (symbol)ret;
+ cb_input_tls();
+ }
+ }
+
+ return ret;
+
+}
+
any ProposalDialog()
{
map