YaST Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2011
- 21 participants
- 322 discussions
[yast-commit] r66883 - in /branches/SuSE-Code-11-SP2-Branch/pos-installation: ./ package/ src/clients/ src/modules/
by jsuchome@svn2.opensuse.org 21 Nov '11
by jsuchome@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: jsuchome
Date: Mon Nov 21 14:58:42 2011
New Revision: 66883
URL: http://svn.opensuse.org/viewcvs/yast?rev=66883&view=rev
Log:
- replace mentioning of Installation with Initialization
(bnc#730186)
- 2.17.14
Modified:
branches/SuSE-Code-11-SP2-Branch/pos-installation/VERSION
branches/SuSE-Code-11-SP2-Branch/pos-installation/package/yast2-pos-installation.changes
branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_initialization.ycp
branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_installation.ycp
branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_synchronization.ycp
branches/SuSE-Code-11-SP2-Branch/pos-installation/src/modules/POSInstallation.ycp
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/VERSION (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/VERSION Mon Nov 21 14:58:42 2011
@@ -1 +1 @@
-2.17.13
+2.17.14
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/package/yast2-pos-installation.changes
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/package/yast2-pos-installation.changes (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/package/yast2-pos-installation.changes Mon Nov 21 14:58:42 2011
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Mon Nov 21 14:49:30 CET 2011 - jsuchome(a)suse.cz
+
+- replace mentioning of Installation with Initialization
+ (bnc#730186)
+- 2.17.14
+
+-------------------------------------------------------------------
Tue Nov 15 16:26:33 CET 2011 - jsuchome(a)suse.cz
- merge stdout and stderr windows
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_initialization.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_initialization.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_initialization.ycp Mon Nov 21 14:58:42 2011
@@ -1,5 +1,5 @@
/**
- * This client checks which kind of SLEPOS Branch server installation is running
+ * This client checks which kind of SLEPOS Branch server initialization is running
* and gathers the data for appropriate Branch Server initialization script
*/
@@ -28,10 +28,10 @@
map args = GetInstArgs::argmap ();
- // files for offline installation
+ // files for offline initialization
// http://svn.suse.de/viewvc/slepos/trunk/slepos/images/branchserver/root/usr/…
string oif_directory = "/usr/share/SLEPOS/OIF";
- boolean offline_installation= POSInstallation::offline_installation;
+ boolean offline_initialization= POSInstallation::offline_initialization;
string offline_file = POSInstallation::offline_file;
map<string,string> labels = $[
@@ -42,42 +42,42 @@
// text entry label
"POS_ADMIN_PASSWORD" : _("Branch Password"),
];
- map<string,string> settings = POSInstallation::online_installation_settings;
+ map<string,string> settings = POSInstallation::online_initialization_settings;
/*
- If *.tgz in /usr/share/SLEPOS/OIF/ exists, off-line installation is possible
+ If *.tgz in /usr/share/SLEPOS/OIF/ exists, off-line initialization is possible
*/
map out = (map) SCR::Execute (.target.bash_output,
sformat ("ls -A1 %1/*.tgz 2>/dev/null", oif_directory));
list<string> offline_files = splitstring (out["stdout"]:"", "\n");
if (offline_file == "" && offline_files != nil && size (offline_files) > 0)
{
- offline_installation = true;
+ offline_initialization = true;
offline_file = offline_files[0]:"";
}
void enable_disable_widgets () {
- UI::ChangeWidget (`id (`offline_file), `Enabled, offline_installation);
- UI::ChangeWidget (`id (`browse), `Enabled, offline_installation);
+ UI::ChangeWidget (`id (`offline_file), `Enabled, offline_initialization);
+ UI::ChangeWidget (`id (`browse), `Enabled, offline_initialization);
foreach (string w_id, string val, settings, {
- UI::ChangeWidget (`id (w_id), `Enabled, !offline_installation);
+ UI::ChangeWidget (`id (w_id), `Enabled, !offline_initialization);
});
}
term contents = `HBox (`HSpacing (3), `RadioButtonGroup (`id (`rb), `VBox (
- `Left (`RadioButton (`id (`offline_installation), `opt (`notify),
+ `Left (`RadioButton (`id (`offline_initialization), `opt (`notify),
// radio button label
- _("Offline Installation"), offline_installation)),
+ _("Offline Initialization"), offline_initialization)),
`VSpacing (),
`HBox (
`HSpacing (3),
`VBox (
// label (file name is on next line)
- `Left (`Label (_("Offline installation file:"))),
+ `Left (`Label (_("Offline Initialization File:"))),
`ReplacePoint (`id (`rp_file), `HBox (
`Left (`Label (`id (`offline_file), offline_file)),
// button label
@@ -87,9 +87,9 @@
`HSpacing (3)
),
`VSpacing (),
- `Left (`RadioButton (`id (`online_installation), `opt (`notify),
+ `Left (`RadioButton (`id (`online_initialization), `opt (`notify),
// radio button label
- _("Online Installation"), !offline_installation)
+ _("Online Initialization"), !offline_initialization)
),
`HBox (`HSpacing (3), `VBox (
`VSpacing (0.5),
@@ -107,23 +107,23 @@
// help text
- string help_text = _("<p><b>Offline Installation</b><br>
-Initialize Branch Server from an Offline Installation File (OIF). If the file was not found automatically, use <b>Change</b> to enter its correct location.</p>
+ string help_text = _("<p><b>Offline Initialization</b><br>
+Initialize Branch Server from an <b>Offline Initialization File</b> (OIF). If the file was not found automatically, use <b>Change</b> to enter its correct location.</p>
-<p><b>Online Installation</b><br>
+<p><b>Online Initialization</b><br>
Initialize Branch Server using an internet connection to the Admin Server.
Enter <b>LDAP URI of Admin Server</b> (like <tt>ldaps://admin.mycomp.us</tt>), <b>Branch/Location LDAP Base DN</b> (for example <tt>cn=store1,ou=myunit,o=mycomp,c=us</tt>) and the <b>Password</b> associated with the given Branch/Location.</p>");
// dialog caption
- Wizard::SetContents (_("POS Branch Server Installation"),
+ Wizard::SetContents (_("POS Branch Server Initialization"),
contents, help_text, args["enable_back"]:true, args["enable_next"]:true
);
enable_disable_widgets ();
if (offline_files == nil || offline_files == [])
{
- UI::ChangeWidget (`id (`offline_installation), `Enabled, false);
+ UI::ChangeWidget (`id (`offline_initialization), `Enabled, false);
}
while (true)
@@ -141,7 +141,7 @@
{
string file = UI::AskForExistingFile (oif_directory, "*.tgz",
// label for file selection dialog
- _("Choose the Offline Installation File")
+ _("Choose the Offline Initialization File")
);
if (file != nil)
{
@@ -152,14 +152,14 @@
));
}
}
- if (ret == `offline_installation || ret == `online_installation)
+ if (ret == `offline_initialization || ret == `online_initialization)
{
- offline_installation = ret == `offline_installation;
+ offline_initialization = ret == `offline_initialization;
enable_disable_widgets ();
}
if (ret == `next)
{
- POSInstallation::offline_installation = offline_installation;
+ POSInstallation::offline_initialization = offline_initialization;
POSInstallation::offline_file = offline_file;
boolean missing = false;
string write = "";
@@ -167,7 +167,7 @@
foreach (string key, [ "ALL_LDAPHOST", "BRANCH_LDAPBASE", "POS_ADMIN_PASSWORD"], {
string value = (string) UI::QueryWidget (`id (key), `Value);
- if (!offline_installation && value == "")
+ if (!offline_initialization && value == "")
{
string label = labels[key]:key;
// error popup
@@ -186,8 +186,8 @@
{
continue;
}
- POSInstallation::online_installation_settings= settings;
- if (!offline_installation)
+ POSInstallation::online_initialization_settings= settings;
+ if (!offline_initialization)
{
y2milestone ("writing new /etc/SLEPOS/branchserver.conf");
SCR::Write (.target.string, POSInstallation::bs_config_file, write);
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_installation.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_installation.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_installation.ycp Mon Nov 21 14:58:42 2011
@@ -70,7 +70,7 @@
), `HSpacing (1));
// help text
- string help_text = _("<p>Here you can see the progress of <b>Branch Server initialization</b>.</p>
+ string help_text = _("<p>Here you can see the progress of <b>Branch Server Initialization</b>.</p>
<p>
The initialization could fail from different reasons. For name or DN related errors, check the value of BranchServer DN entered in previous step.</p>
@@ -83,7 +83,7 @@
</p>");
// dialog caption
- Wizard::SetContents (_("POS Branch Server Installation"),
+ Wizard::SetContents (_("POS Branch Server Initialization"),
contents, help_text, args["enable_back"]:true, args["enable_next"]:true
);
@@ -101,11 +101,11 @@
Wizard::DisableNextButton ();
Wizard::DisableBackButton ();
- string cmd = sformat ("%1 -r -n 2>&1", POSInstallation::bs_install_cmd);
- if (POSInstallation::offline_installation)
+ string cmd = sformat ("%1 -r -n 2>&1", POSInstallation::bs_init_cmd);
+ if (POSInstallation::offline_initialization)
{
cmd = sformat ("%1 -r -n -f %2 2>&1",
- POSInstallation::bs_install_cmd, POSInstallation::offline_file);
+ POSInstallation::bs_init_cmd, POSInstallation::offline_file);
}
y2milestone ("Executing '%1'", cmd);
UI::ChangeWidget (`id(`stdout), `LastLine, cmd + "\n\n");
@@ -126,7 +126,7 @@
y2milestone ("exit status of the script: %1", exit_status);
UI::ReplaceWidget (`id (`rp_label),
// text label
- `Label (`id (`label), `opt (`boldFont), _("Installation is completed."))
+ `Label (`id (`label), `opt (`boldFont), _("Initialization is completed."))
);
break;
}
@@ -139,7 +139,7 @@
SCR::Execute (.process.kill, pid, 15);
UI::ReplaceWidget (`id (`rp_label),
// text label
- `Label (`id (`label), `opt (`boldFont), _("Installation has been aborted."))
+ `Label (`id (`label), `opt (`boldFont), _("Initialization has been aborted."))
);
break;
}
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_synchronization.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_synchronization.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/src/clients/firstboot_slepos_synchronization.ycp Mon Nov 21 14:58:42 2011
@@ -70,13 +70,13 @@
`Left (`RadioButton (`id (`sync),
// radio button label
_("Synchronize Image from Admin Server"),
- !POSInstallation::offline_installation)
+ !POSInstallation::offline_initialization)
),
`VSpacing (),
`Left (`RadioButton (`id (`sync_local),
// radio button label
_("Synchronize Image Locally"),
- POSInstallation::offline_installation)
+ POSInstallation::offline_initialization)
),
`VSpacing (),
`Left (`RadioButton (`id (`no_sync),
Modified: branches/SuSE-Code-11-SP2-Branch/pos-installation/src/modules/POSInstallation.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/pos-i…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/pos-installation/src/modules/POSInstallation.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/pos-installation/src/modules/POSInstallation.ycp Mon Nov 21 14:58:42 2011
@@ -27,7 +27,7 @@
/**
* BS initialization script
*/
-global string bs_install_cmd = "/usr/sbin/posInitBranchserver";
+global string bs_init_cmd = "/usr/sbin/posInitBranchserver";
/**
* Path to synchronization script
@@ -35,13 +35,13 @@
global string sync_cmd = "/usr/sbin/possyncimages";
/**
- * Detection if offline installation of BS is running
+ * Detection if offline initialization of BS is running
* (used during firstboot only)
*/
-global boolean offline_installation = false;
+global boolean offline_initialization = false;
/**
- * Offline installation file
+ * Offline initialization file
*/
global string offline_file = "";
@@ -76,10 +76,10 @@
];
/**
- * Values that should be filled during BS online installation
+ * Values that should be filled during BS online initialization
* (usable during firstboot stage)
*/
-global map<string,string> online_installation_settings = $[
+global map<string,string> online_initialization_settings = $[
"ALL_LDAPHOST" : "",
"BRANCH_LDAPBASE" : "",
"POS_ADMIN_PASSWORD" : ""
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66882 - in /trunk/ldap-server: VERSION package/yast2-ldap-server.changes
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 14:53:47 2011
New Revision: 66882
URL: http://svn.opensuse.org/viewcvs/yast?rev=66882&view=rev
Log:
2.22.0
Modified:
trunk/ldap-server/VERSION
trunk/ldap-server/package/yast2-ldap-server.changes
Modified: trunk/ldap-server/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/VERSION?rev=66882&r1…
==============================================================================
--- trunk/ldap-server/VERSION (original)
+++ trunk/ldap-server/VERSION Mon Nov 21 14:53:47 2011
@@ -1 +1 @@
-2.21.2
+2.22.0
Modified: trunk/ldap-server/package/yast2-ldap-server.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/package/yast2-ldap-s…
==============================================================================
--- trunk/ldap-server/package/yast2-ldap-server.changes (original)
+++ trunk/ldap-server/package/yast2-ldap-server.changes Mon Nov 21 14:53:47 2011
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Mon Nov 21 13:46:09 UTC 2011 - rhafer(a)suse.de
+
+- Version 2.22.0
+- merged SLE-11-SP2 changes (mirrormode support)
+- merged results from proofreading
+
+-------------------------------------------------------------------
Sun Nov 20 06:30:02 UTC 2011 - coolo(a)suse.com
- add libtool as buildrequire to avoid implicit dependency
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66881 - /trunk/ldap-server/yast2-ldap-server.spec.in
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 14:45:59 2011
New Revision: 66881
URL: http://svn.opensuse.org/viewcvs/yast?rev=66881&view=rev
Log:
include mirrormode UI in main package
Modified:
trunk/ldap-server/yast2-ldap-server.spec.in
Modified: trunk/ldap-server/yast2-ldap-server.spec.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/yast2-ldap-server.sp…
==============================================================================
--- trunk/ldap-server/yast2-ldap-server.spec.in (original)
+++ trunk/ldap-server/yast2-ldap-server.spec.in Mon Nov 21 14:45:59 2011
@@ -34,6 +34,7 @@
%dir @moduledir@/YaPI
@yncludedir@/ldap-server/*
@clientdir@/ldap-server.ycp
+@clientdir@/openldap-mirrormode.ycp
@clientdir@/ldap-server_*.ycp
@moduledir@/LdapServer.*
@moduledir@/LdapDatabase.*
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66880 - in /trunk/ldap-server/src: LdapServer.pm complex.ycp
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 14:18:40 2011
New Revision: 66880
URL: http://svn.opensuse.org/viewcvs/yast?rev=66880&view=rev
Log:
cleanup: removed some chunks of disabled and no longer needed code
Modified:
trunk/ldap-server/src/LdapServer.pm
trunk/ldap-server/src/complex.ycp
Modified: trunk/ldap-server/src/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapServer.pm?re…
==============================================================================
--- trunk/ldap-server/src/LdapServer.pm (original)
+++ trunk/ldap-server/src/LdapServer.pm Mon Nov 21 14:18:40 2011
@@ -279,15 +279,6 @@
# server started
$slapdConfChanged = 1;
}
-# y2milestone("Using slapcat to import configuration");
-# my $rc = SCR->Execute('.target.bash_output',
-# "/usr/sbin/slapcat -F /etc/openldap/slapd.d -b cn=config" );
-# y2milestone("slapcat result: ". Data::Dumper->Dump([$rc]));
-# SCR->Execute('.ldapserver.initFromLdif', $rc->{'stdout'});
-# $rc = SCR->Read('.ldapserver.databases' );
-# y2milestone("Databases: ". Data::Dumper->Dump([$rc]));
-# #$rc = SCR->Read('.ldapserver.global.tlsSettings' );
-# #y2milestone("tlsSettings: ". Data::Dumper->Dump([$rc]));
}
}
else
Modified: trunk/ldap-server/src/complex.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/complex.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/complex.ycp (original)
+++ trunk/ldap-server/src/complex.ycp Mon Nov 21 14:18:40 2011
@@ -196,151 +196,8 @@
return ret;
-/*
- switchToBackConfig = Popup::ContinueCancelHeadline( _("Convert to \"Back-Config\"?"),
-_("Your system is currently configured to use the
-configuration file /etc/openldap/slapd.conf. This YaST
-module will switch OpenLDAP to use the dynamic configuration
-database of OpenLDAP (back-config)."));
- if (switchToBackConfig)
- {
- convert = Popup::YesNoHeadline( _("Convert existing configuration?"),
-_("Do you want to convert your existing configuration
-files, to the dynamic configuration backend?
-Note: This will remove any preexisting configuration data
-from \"/etc/openldap/slapd.d/\".
-If you click \"No\" here, an empty configuration will
-be created"));
- if (convert)
- {
- // Convert the existing configuration and after that
- // re-read it.
- if (! LdapServer::MigrateSlapdConf())
- {
- y2milestone("LdapServer::MigrateSlapdConf failed");
- DisplayError( LdapServer::ReadError() );
- return `abort;
- }
- LdapServer::Read();
- }
- }
- else
- {
- return `abort;
- }
-*/
}
-//
-// The ldapserver Agent does currently only support SASL External Authentication,
-// no need to ask for a cn=config password here.
-//
-//symbol MigrationDialog()
-//{
-// string caption = "Migrate existing Configuration";
-// string summary = _("In order to access the server configration after the migration you need
-//to configure how YaST should authenticate against the configuration database.");
-// list enc_types = [
-// `item( `id( "CRYPT" ), "CRYPT" ),
-// `item( `id( "SMD5" ), "SMD5" ),
-// `item( `id( "SHA" ), "SHA" ),
-// `item( `id( "SSHA" ), "SSHA", true ),
-// `item( `id( "PLAIN" ), "PLAIN" )
-// ];
-// term contents =
-// `VBox(
-// `HSquash(
-// `RadioButtonGroup( `id( `rb ),
-// `VBox(
-// `Label( summary ),
-// `Left(
-// `RadioButton( `id( `rb_ldapi ), `opt(`notify),
-// _("Access the Server via LDAP over Unix Domain Sockets (ldapi)
-//and give \"root\" full access to the configuration."), true )
-// ),
-// `Left(
-// `RadioButton( `id( `rb_passwd ), `opt(`notify),
-// _("Use a \"normal\" encrypted LDAP connection with LDAP
-//simple authentication.") )
-// ),
-// `Left(
-// `Label( `id( `lab_pw ), _("Please enter a password for the configuration user (cn=config)") )
-// ),
-// `Password( `id( `te_rootpw ), _("New &Password") ),
-// `HSpacing( 0.5 ),
-// `Password( `id( `te_valid_rootpw ), _("&Validate Password") ),
-// `HSpacing( 0.5 ),
-// `ComboBox( `id( `cb_cryptmethod ), _("Password &Encryption"), enc_types )
-// )
-// )
-// )
-// );
-//
-// Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"",
-// Label::BackButton(), Label::NextButton());
-//
-// UI::ChangeWidget( `lab_pw , `Enabled, false );
-// UI::ChangeWidget( `te_rootpw , `Enabled, false );
-// UI::ChangeWidget( `te_valid_rootpw , `Enabled, false );
-// UI::ChangeWidget( `cb_cryptmethod , `Enabled, false );
-// symbol ret = `next;
-// while(true) {
-// ret = (symbol)UI::UserInput();
-//
-// /* abort? */
-// if (ret == `abort || ret == `cancel )
-// {
-// if( Popup::ReallyAbort(true))
-// {
-// break;
-// }
-// else
-// {
-// continue;
-// }
-// }
-// else if ( ret == `next )
-// {
-// symbol current = (symbol) UI::QueryWidget(`id(`rb), `CurrentButton);
-// if ( current == `rb_ldapi )
-// {
-// LdapServer::UseLdapiForConfig( true );
-// ret = `next;
-// }
-// else
-// {
-// ret = `initial;
-// }
-// break;
-// }
-// else if ( ret == `back )
-// {
-// break;
-// }
-// else if ( ret == `rb_ldapi )
-// {
-// UI::ChangeWidget( `lab_pw , `Enabled, false );
-// UI::ChangeWidget( `te_rootpw , `Enabled, false );
-// UI::ChangeWidget( `te_valid_rootpw , `Enabled, false );
-// UI::ChangeWidget( `cb_cryptmethod , `Enabled, false );
-// }
-// else if ( ret == `rb_passwd )
-// {
-// UI::ChangeWidget( `lab_pw , `Enabled, true );
-// UI::ChangeWidget( `te_rootpw , `Enabled, true );
-// UI::ChangeWidget( `te_valid_rootpw , `Enabled, true );
-// UI::ChangeWidget( `cb_cryptmethod , `Enabled, true );
-// }
-// else
-// {
-// y2error("unexpected retcode: %1", ret);
-// continue;
-// }
-// }
-//
-// return ret;
-//}
-
symbol DoMigration()
{
LdapServer::UseLdapiForConfig( true );
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66879 - in /trunk/ldap-server/src: LdapDatabase.ycp LdapServer.pm YaPI/LdapServer.pm complex.ycp dialogs.ycp helps.ycp ldap-server_proposal.ycp mirrormode-wizard.ycp tree_structure.ycp widgets.ycp
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 14:13:34 2011
New Revision: 66879
URL: http://svn.opensuse.org/viewcvs/yast?rev=66879&view=rev
Log:
merged texts from proofreading
- Dese und die folgenden Zeilen werden ignoriert --
M src/LdapServer.pm
M src/ldap-server_proposal.ycp
M src/LdapDatabase.ycp
M src/widgets.ycp
M src/complex.ycp
M src/YaPI/LdapServer.pm
M src/helps.ycp
M src/mirrormode-wizard.ycp
M src/tree_structure.ycp
M src/dialogs.ycp
Modified:
trunk/ldap-server/src/LdapDatabase.ycp
trunk/ldap-server/src/LdapServer.pm
trunk/ldap-server/src/YaPI/LdapServer.pm
trunk/ldap-server/src/complex.ycp
trunk/ldap-server/src/dialogs.ycp
trunk/ldap-server/src/helps.ycp
trunk/ldap-server/src/ldap-server_proposal.ycp
trunk/ldap-server/src/mirrormode-wizard.ycp
trunk/ldap-server/src/tree_structure.ycp
trunk/ldap-server/src/widgets.ycp
Modified: trunk/ldap-server/src/LdapDatabase.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapDatabase.ycp…
==============================================================================
--- trunk/ldap-server/src/LdapDatabase.ycp (original)
+++ trunk/ldap-server/src/LdapDatabase.ycp Mon Nov 21 14:13:34 2011
@@ -251,7 +251,7 @@
foreach(map<string, string> db, dblist, {
if ( suffix == db["suffix"]:"" )
{
- Popup::Error( _("A database with that Base DN already exists.") );
+ Popup::Error( _("A database with this Base DN already exists.") );
exists = true;
break;
}
@@ -638,7 +638,7 @@
map<string, string> whatString2Label = $[
"*" : _("All Entries"),
- "subtree" : _("All Entries in the subtree"),
+ "subtree" : _("All Entries in the Subtree"),
"base" : _("The Entry with the DN")
];
@@ -724,8 +724,8 @@
),
`RadioButtonGroup(`id(`rbg_aclcontrol),
`VBox(
- `Left(`RadioButton(`id( "stop" ), _("Stop Access Control evaluation here (default)"), true )),
- `Left(`RadioButton(`id( "break" ), _("Continue with next Access Control rule (\"break\")") )),
+ `Left(`RadioButton(`id( "stop" ), _("Stop access control evaluation here (default)"), true )),
+ `Left(`RadioButton(`id( "break" ), _("Continue with next access control rule (\"break\")") )),
`Left(`RadioButton(`id( "continue" ), _("Continue evaluation of this rule (\"continue\")") ))
)
),
@@ -771,7 +771,7 @@
res["value"] = UI::QueryWidget( `id( `te_who_dn), `Value );
if ( res["value"]:"" == "" )
{
- Popup::Error(_("Please enter a DN into the Textfield") );
+ Popup::Error(_("Please enter a DN in the textfield") );
continue;
}
else
@@ -868,7 +868,7 @@
),
`VSpacing(0.5),
`Left(
- `CheckBox( `id( `cb_attrs ), `opt( `notify ), _("Apply this rule only to the listed Attribute") )
+ `CheckBox( `id( `cb_attrs ), `opt( `notify ), _("Apply this rule only to the listed attribute") )
),
`HBox(
`Left(
@@ -1019,7 +1019,7 @@
}
else
{
- Popup::Error(_("Please enter a List of valid Attributes into the \"Attributes\" textfield") );
+ Popup::Error(_("Enter a list of valid attributes in the <b>Attributes</b> textfield") );
continue;
}
}
@@ -1032,13 +1032,13 @@
}
else
{
- Popup::Error(_("Please enter valid LDAP Filter into textfield") );
+ Popup::Error(_("Enter valid a LDAP filter in the textfield") );
continue;
}
}
if ( size(accesslist) == 0 )
{
- Popup::Error(_("You must add at least one item to the \"Access Level\" list") );
+ Popup::Error(_("You must add at least one item to the \"Access Level\" list.") );
continue;
}
@@ -1210,8 +1210,9 @@
UI::ChangeWidget( `id(`pb_add), `Enabled, false) ;
UI::ChangeWidget( `id(`pb_del), `Enabled, false) ;
UI::ChangeWidget( `id(`pb_edit), `Enabled, false) ;
- Popup::Error(_("The selected Database contains Access Control Rules that are currently
-not supported by this YaST Module. The Access Control Dialog will be disabled.") );
+ Popup::Error(_("The selected database contains access control rules that are currently
+not supported by YaST. The Access Control Dialog will be disabled.
+") );
}
else
{
@@ -1433,7 +1434,7 @@
`VBox(
`VSpacing(0.5),
`Left(
- `CheckBox( `id( `cb_syncrepl ), `opt(`notify), _("This database is a Replication Consumer"), false )
+ `CheckBox( `id( `cb_syncrepl ), `opt(`notify), _("This database is a Replication Consumer."), false )
),
`VSpacing(0.3),
`VBox( `id( `f_synccons ),
@@ -1719,7 +1720,7 @@
integer secs = (integer)UI::QueryWidget( `if_sync_int_s, `Value );
if(days == 0 && hours == 0 && mins == 0 && secs == 0 )
{
- Popup::Error( _("Invalid Replication Interval specified") );
+ Popup::Error( _("Invalid replication interval specified") );
return false;
}
}
@@ -1748,7 +1749,7 @@
if(!(boolean)SCR::Execute( .ldapserver.remoteBindCheck, testparm ) )
{
map<string,any> err = SCR::Error(.ldapserver);
- return Popup::ContinueCancelHeadline( _("Checking LDAP connectivity to the provider failed"),
+ return Popup::ContinueCancelHeadline( _("Checking LDAP connectivity to the provider failed."),
_("The test returned the following error messages:")
+ "\n\n\"" +
(string)err["summary"]:"" + "\"\n\"" + (string)err["description"]:""
@@ -1758,7 +1759,7 @@
if(!(boolean)SCR::Execute( .ldapserver.remoteLdapSyncCheck, testparm ) )
{
map<string,any> err = SCR::Error(.ldapserver);
- return Popup::ContinueCancelHeadline( _("Checking the LDAPsync capabilities of the provider failed"),
+ return Popup::ContinueCancelHeadline( _("Checking the LDAPsync capabilities of the provider failed."),
_("Please verify that the target server is enabled to be a LDAPsync provider")
+ "\n\n" +
_("The test returned the following error messages:")
@@ -1845,7 +1846,7 @@
`HSpacing( `opt(`hstretch))
),
`VSpacing(0.5),
- `Frame( `id( `f_sync_settings ), _("Checkpoint settings"),
+ `Frame( `id( `f_sync_settings ), _("Checkpoint Settings"),
`VBox(
`HBox(
`HSquash(
@@ -1864,11 +1865,11 @@
)
),
`VSpacing(0.5),
- `Frame( `id( `f_sync_slog ), _("Session log"),
+ `Frame( `id( `f_sync_slog ), _("Session Log"),
`VBox(
`Left(
`CheckBox( `id( `cb_sync_slog ), `opt(`notify),
- _("Enable Session log") )
+ _("Enable Session Log") )
),
`Left(
`HSquash(
@@ -1967,7 +1968,7 @@
define symbol DbPpolicy()
{
- string caption = _("Password Policy settings");
+ string caption = _("Password Policy Settings");
term contents = editPolicy;
Wizard::SetContentsButtons(caption, contents, HELPS["ppolicy_edit"]:"",
Label::BackButton(), Label::FinishButton());
@@ -2005,7 +2006,7 @@
define symbol DbSyncRepl()
{
- string caption = _("Replication settings");
+ string caption = _("Replication Settings");
term contents = GetSyncConsWidget();
Wizard::SetContentsButtons(caption, contents, HELPS["synccons_edit"]:"",
Label::BackButton(), Label::NextButton());
Modified: trunk/ldap-server/src/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapServer.pm?re…
==============================================================================
--- trunk/ldap-server/src/LdapServer.pm (original)
+++ trunk/ldap-server/src/LdapServer.pm Mon Nov 21 14:13:34 2011
@@ -257,7 +257,9 @@
if ( ! SCR->Execute('.ldapserver.init' ) )
{
my $err = SCR->Error(".ldapserver");
- $self->SetError( _("Error while initializing the configuration.\nIs the LDAPI listener enabled?"), $err->{'description'} );
+ $self->SetError( _("Error while initializing configuration.
+Is the LDAPI listener enabled?
+"), $err->{'description'} );
return 0;
}
my $rc = SCR->Read('.ldapserver.databases');
@@ -1010,8 +1012,8 @@
y2milestone("slapd might be running a background task, waiting for completion");
if (! SCR->Execute('.ldapserver.waitForBackgroundTasks') ) {
y2error("Error while waiting for background task.");
- $self->SetError( _("An error happend while waiting for waiting for the OpenLDAP database indexer to finish.\n").
- _("Please restart OpenLDAP manually.") );
+ $self->SetError( _("An error occurred while waiting for the OpenLDAP database indexer to finish.\n").
+ _("Restart OpenLDAP manually.") );
Progress->Finish();
return 0;
}
@@ -1254,7 +1256,7 @@
if ( $dbDefaults{'serviceEnabled'}->value )
{
- $string .= '<h2>'._("Create initial Database with the following Parameters").'</h2>'
+ $string .= '<h2>'._("Create initial database with the following parameters:").'</h2>'
.'<p>'._("Database Suffix: ").'<code>'.$dbDefaults{'suffix'}.'</code></p>'
.'<p>'._("Administrator DN: ").'<code>'.$dbDefaults{'rootdn'}.'</code></p>';
}
@@ -1507,7 +1509,7 @@
{
if ( SCR->Read(".target.size", $tls->{"caCertFile"}) <= 0)
{
- $self->SetError( _("CA Certificate File does not exist"), "");
+ $self->SetError( _("CA Certificate file does not exist."), "");
return 0;
}
if ( SCR->Read(".target.size", $tls->{"certFile"}) <= 0)
@@ -1517,14 +1519,14 @@
}
if ( SCR->Read(".target.size", $tls->{"certKeyFile"}) <= 0)
{
- $self->SetError( _("Certificate Key File does not exist"), "");
+ $self->SetError( _("Certificate key file does not exist."), "");
return 0;
}
if ( SCR->Execute(".target.bash",
"/usr/bin/setfacl -m u:ldap:r ".$tls->{'certKeyFile'}) )
{
- $self->SetError(_("Can not set a filesystem acl on the private key"),
+ $self->SetError(_("Can not set a filesystem ACL on the private key."),
"setfacl -m u:ldap:r ".$tls->{'certKeyFile'}." failed.\n".
"Do you have filesystem acl support disabled?" );
return 0;
@@ -1556,7 +1558,7 @@
my $ret = SCR->Execute(".target.bash",
"/usr/bin/setfacl -m u:ldap:r /etc/ssl/servercerts/serverkey.pem");
if($ret != 0) {
- $self->SetError(_("Can not set a filesystem acl on the private key"),
+ $self->SetError(_("Can not set a filesystem ACL on the private key."),
"setfacl -m u:ldap:r /etc/ssl/servercerts/serverkey.pem failed.\n".
"Do you have filesystem acl support disabled?" );
return 0;
@@ -1832,7 +1834,7 @@
my $group = SCR->Read('.sysconfig.openldap.OPENLDAP_GROUP');
$ret = SCR->Execute(".target.bash", "chown ".$owner.":".$group." ".$database->{directory});
if ( $ret ) {
- $self->SetError(_("Could adjust ownership of database directory."), "");
+ $self->SetError(_("Could not adjust ownership of database directory."), "");
return $ret;
}
}
@@ -1877,8 +1879,8 @@
my $hostname = $self->ReadHostnameFQ();
if ( $hostname eq "" )
{
- $self->SetError( _("Could not determine own full qualified hostname"),
- _("A master server for replication cannot work correctly without knowing the own full qualified hostname") );
+ $self->SetError( _("Could not determine own fully qualified hostname."),
+ _("A master server for replication cannot work correctly without knowing its own fully qualified hostname.") );
return 0;
}
my $syncrepl = {
@@ -2562,7 +2564,7 @@
if(!defined $attr[0] || !defined $val)
{
y2error("Error while extracting RDN values");
- $self->SetError( _("Invalid LDAP DN: \""). $suffix. _("\", can't extract RDN values"));
+ $self->SetError( _("Invalid LDAP DN: \""). $suffix. _("\", cannot extract RDN values"));
return -1;
}
if( (lc($attr[0]) eq "ou") || ( lc($attr[0]) eq "o") || ( lc($attr[0]) eq "l") ||
@@ -2570,7 +2572,7 @@
return 0;
} elsif( lc($attr[0]) eq "c") {
if($val !~ /^\w{2}$/) {
- $self->SetError( _("The value of the \"c\" Attribute must contain a valid ISO-3166 country 2-letter code."), "");
+ $self->SetError( _("The value of the \"c\" attribute must contain a valid ISO-3166 country 2-letter code."), "");
y2error("The countryName must be an ISO-3166 country 2-letter code.");
return -1;
}
@@ -2594,7 +2596,7 @@
}
elsif ( $suffix_object->hasMultivaluedRDNs() )
{
- $self->SetError( _("Base DN") ." \"". $db->{'suffix'} ."\" ". _("has multivalued RDNs. This is not supported in this YaST Module."), "");
+ $self->SetError( _("Base DN") ." \"". $db->{'suffix'} ."\" ". _("has multivalued RDNs (not supported by YaST)."), "");
return 0;
}
@@ -2609,7 +2611,7 @@
elsif ( $object->hasMultivaluedRDNs() )
{
$self->SetError(_("Root DN"). " \"". $db->{'rootdn'} ."\" ".
- _("has multivalued RDNs. This is not supported in this YaST Module."), "");
+ _("has multivalued RDNs (not supported by YaST)."), "");
return 0;
}
@@ -2643,7 +2645,7 @@
my $group = SCR->Read('.sysconfig.openldap.OPENLDAP_GROUP');
$ret = SCR->Execute(".target.bash", "chown ".$owner.":".$group." ".$db->{directory});
if ( $ret ) {
- $self->SetError(_("Could adjust ownership of database directory."), "");
+ $self->SetError(_("Could not adjust ownership of database directory."), "");
return 0;
}
}
@@ -3420,7 +3422,7 @@
my $rc = SCR->Execute( '.target.bash_output', $ssl_check_command." \"".$remoteuri."\" ".$tls->{"caCertFile"} );
if ( $rc->{'exit'} != 0 )
{
- $self->SetError( _("Error while trying to verify the Server Certificate of the Provider server.\n").
+ $self->SetError( _("Error while trying to verify the server certificate of the provider server.\n").
_("Please make sure that \"".$tls->{"caCertFile"}."\" contains the correct\nCA file to verify the remote Server Certificate."),
$rc->{'stderr'} );
return 0;
Modified: trunk/ldap-server/src/YaPI/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/YaPI/LdapServer.…
==============================================================================
--- trunk/ldap-server/src/YaPI/LdapServer.pm (original)
+++ trunk/ldap-server/src/YaPI/LdapServer.pm Mon Nov 21 14:13:34 2011
@@ -495,7 +495,7 @@
my $group = SCR->Read('.sysconfig.openldap.OPENLDAP_GROUP');
if ( SCR->Execute(".target.bash", "chown ".$owner.":".$group." ".$data->{directory}) )
{
- return $self->SetError( summary => _("Could adjust ownership of database directory."),
+ return $self->SetError( summary => _("Could not adjust ownership of database directory."),
description => "",
code => "DIR_CHOWN_FAILED" );
}
Modified: trunk/ldap-server/src/complex.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/complex.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/complex.ycp (original)
+++ trunk/ldap-server/src/complex.ycp Mon Nov 21 14:13:34 2011
@@ -130,10 +130,10 @@
symbol MigrationMainDialog()
{
string caption = "Migrate existing Configuration";
- string summary = _("Your system is currently configured to use the configuration
-file /etc/openldap/slapd.conf. This YaST module only supports the dynamic
-configuration database of OpenLDAP (back-config). Do you want to migrate your
-existing configuration to the configuration database?
+ string summary = _("Your system is currently configured to use the configuration file
+/etc/openldap/slapd.conf. YaST only supports the dynamic configuration
+database of OpenLDAP (back-config). Do you want to migrate your existing
+configuration to the configuration database?
");
term contents =
`VBox(
Modified: trunk/ldap-server/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/dialogs.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/dialogs.ycp (original)
+++ trunk/ldap-server/src/dialogs.ycp Mon Nov 21 14:13:34 2011
@@ -275,7 +275,7 @@
term serverTypeWidget =
`HSquash(
`VBox(
- `Heading( _("Server type") ),
+ `Heading( _("Server Type") ),
`Frame("",
`VBox(
`VSpacing(),
@@ -334,8 +334,10 @@
{
if ( size( LdapServer::ReadHostnameFQ() ) == 0 )
{
- Popup::Notify(_("YaST was not able to determine the full qualified hostname of this\ncomputer. ") +
- _("Setting up a replication master it not possible currently.") );
+ Popup::Notify(_("YaST was not able to determine the fully qualified hostname of this
+computer.
+") +
+ _("Setting up a replication master is currently not possible.") );
UI::ChangeWidget( `rb_master, `Enabled, false );
UI::ChangeWidget( `rbg_servertype, `CurrentButton, `rb_standalone );
continue;
@@ -627,14 +629,14 @@
)
),
`Left(
- `CheckBox( `id( `cb_random_pw ), _("Generate a random password"), true)
+ `CheckBox( `id( `cb_random_pw ), _("Generate a Random Password"), true)
)
)
)
),
`VSpacing(0.3),
`Left(
- `RadioButton( `id( `rb_useconfig ), `opt(`notify), _("Use the \"cn=config\" account for replication") )
+ `RadioButton( `id( `rb_useconfig ), `opt(`notify), _("Use the \"cn=config\" Account for Replication") )
)
)
)
@@ -728,7 +730,7 @@
string verifypw = (string)UI::QueryWidget( `te_valid_pw, `Value );
if ( size(pw) == 0 )
{
- Popup::Error( _("Please enter a password") );
+ Popup::Error( _("Enter a password") );
UI::ChangeWidget( `te_pw, `Value, "" );
UI::ChangeWidget( `te_valid_pw, `Value, "" );
}
@@ -739,7 +741,7 @@
}
else
{
- Popup::Error( _("The passwords you have enter do not match. Please try again") );
+ Popup::Error( _("The passwords you have entered do not match. Try again.") );
UI::ChangeWidget( `te_pw, `Value, "" );
UI::ChangeWidget( `te_valid_pw, `Value, "" );
}
@@ -771,7 +773,7 @@
term widget =
`HSquash(
`VBox(
- `Heading( _("Provider details") ),
+ `Heading( _("Provider Details") ),
`VSpacing(0.3),
`VSpacing(),
`VSquash(
@@ -849,7 +851,7 @@
{
if ( cacert == "" || cacert == nil )
{
- Popup::Error( _("Please select a valid CA Certificate File") );
+ Popup::Error( _("Select a Valid CA Certificate File") );
continue;
}
@@ -884,8 +886,10 @@
if (!(boolean) LdapServer::InitRemoteConnection( testparm ) )
{
map<string,any> err = LdapServer::ReadError();
- Popup::ErrorDetails( _("Failed to open connection to the \"cn=config\" Database on the Provider Server.\n") +
- _("Please verify that the Provider Server allows remote connections to the \"cn=config\" Database\nand that you entered the correct password"),
+ Popup::ErrorDetails( _("Failed to open connection to the \"cn=config\" database on the provider server.\n") +
+ _("Verify that the provider server allows remote connections to the
+\"cn=config\" database and that you entered the correct password.
+"),
_("The following error messages were returned:") + "\n\n\"" +
(string)err["msg"]:"" + "\"\n\"" +
(string)err["details"]:"" + "\"" );
@@ -894,7 +898,7 @@
if (!(boolean) LdapServer::VerifyTlsSetup( testparm["target"]:$[] ) )
{
map<string,any> err = LdapServer::ReadError();
- Popup::ErrorDetails( _("Error while verifying the TLS/SSL configuration"),
+ Popup::ErrorDetails( _("An error occurred while verifying the TLS/SSL configuration."),
(string)err["msg"]:"" + "\n" + (string)err["details"]:"" + "\n" );
if (Popup::YesNo( _("Do you want to import a different CA/Server Certificate?") ) )
{
@@ -907,7 +911,7 @@
map <string,any> syncrepl = srl[0]:$[];
if ( size(syncrepl) == 0 )
{
- if (Popup::ContinueCancel( _("The Replication Configuration on the Provider Server is missing.\n") +
+ if (Popup::ContinueCancel( _("The replication configuration on the provider server is missing.\n") +
_("Click Continue to create it now.") ) )
{
syncrepl = $[
@@ -953,8 +957,10 @@
}
if ( ! setupok )
{
- Popup::Error( _("The Replication Configuration on the master server indicates that\nit is already acting as a Replication Consumer.\n") +
- _("Setting up cascaded replication of the cn=config is not supported currently.") );
+ Popup::Error( _("The replication configuration on the master server indicates that
+it is already acting as a replication consumer.
+") +
+ _("Setting up cascaded replication of the cn=config is currently not supported.") );
ret = `cancel;
break;
}
@@ -971,12 +977,12 @@
if(!(boolean)SCR::Execute( .ldapserver.remoteBindCheck, bindtestparm ) )
{
map<string,any> err = SCR::Error(.ldapserver);
- if ( Popup::ContinueCancel( _("Checking the Authentication credentials defined in the Replication Configuration on the Provider Server failed.\n") +
+ if ( Popup::ContinueCancel( _("Checking the authentication credentials defined in the replication configuration on the provider server failed.\n") +
_("The test returned the following error messages:")
+ "\n\n\"" +
(string)err["summary"]:"" + "\"\n\"" + (string)err["description"]:""
+ "\"\n\n" +
- _("Click Continue to correct that now.") ) )
+ _("Click \"Continue\" to correct this now.") ) )
{
syncrepl = SyncreplAccountConfig( syncrepl );
if ( syncrepl["binddn"]:"" == "cn=config" )
@@ -1078,8 +1084,13 @@
`VBox(
`Heading( _("Replication Master setup") ),
`VSpacing( 0.5 ),
- `Label( _("In order to act as a Master Server for Replication, the Configuration database needs\nto be remotely accessible. Please set a password for the Configuration database." ) +
- _("\n(Remote access to the Configuration database will be restricted to encrypted\nLDAP Connections)")
+ `Label( _("To act as a master server for replication, the configuration database needs
+to be remotely accessible. Set a password for the configuration database.
+") +
+ _("
+(Remote access to the Configuration database will be restricted to encrypted
+LDAP Connections.)
+")
),
`VSpacing( 0.5 ),
`Password( `id( `te_rootpw ), `opt( `hstretch ), _("Enter new &Password") ),
@@ -1107,13 +1118,13 @@
string verifypw = (string)UI::QueryWidget( `te_valid_rootpw, `Value );
if ( size(pw) == 0 )
{
- Popup::Error( _("Please enter a password") );
+ Popup::Error( _("Enter a password") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
}
else if ( pw != verifypw )
{
- Popup::Error( _("The passwords you have enter do not match. Please try again") );
+ Popup::Error( _("The passwords you have entered do not match. Try again.") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
pw = "";
Modified: trunk/ldap-server/src/helps.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/helps.ycp?rev=66…
==============================================================================
--- trunk/ldap-server/src/helps.ycp (original)
+++ trunk/ldap-server/src/helps.ycp Mon Nov 21 14:13:34 2011
@@ -21,30 +21,33 @@
_("<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>") +
+After selecting <b>No</b>, you cannot change the OpenLDAP configuration.</p>
+") +
_("<h4>Protocol Listeners</h4>") +
- _("<p>Here you can enable and disable the various protocol listeners of OpenLDAP</p>") +
+ _("<p>Enable and disable the various protocol listeners 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 certificate 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 Settings\"/\"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>") +
+connections on port 636. This only works if you have a server certificate configured (see \"Global Settings\"/\"TLS Settings\").
+") +
+ _("<p><b>LDAPI</b> enables the \"LDAP over IPC\" interface for accessing the
+LDAP server via a Unix Domain Socket. Do not disable the LDAPI interface
+as YaST uses it to communicate with the server.</p>
+") +
_("<h4>Firewall Settings</h4>") +
- _("<p>Here you can select whether SuSEFirewall should allow access on the LDAP related
-network ports or not.</p>"),
+ _("<p>Select 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>") +
- _("<p>Choose the <b>Database</b> from <b>hdb</b> and <b>bdb</b>. <b>Hdb</b> is a
-variant of the <b>bdb</b> backend that uses a hierarchical database layout and
-supports subtree renames. It is otherwise identical to <b>bdb</b>. A <b>hdb</b>-Database
-needs a larger <b>idlcachesize</b> for good search performance than a <b>bdb</b>-Database.
-</p>")+
+ _("<p>Choose the <b>Database</b> from <b>hdb</b> and <b>bdb</b>. <b>Hdb</b> is a
+variant of the <b>bdb</b> backend that uses a hierarchical database layout and
+supports subtree renames. Otherwise it is identical to <b>bdb</b>. A
+<b>hdb</b>-Database needs a larger <b>idlcachesize</b> than a
+<b>bdb</b>-Database for a good search performance.</p>
+")+
_("<p>The <b>Base DN</b> option specifies the name of the root entry
of the database being created.</p>") +
_("<p>The <b>Administrator DN</b> along with a <b>LDAP Administrator Password</b>
@@ -56,40 +59,49 @@
_("<p>If this wizard was started during installation, the
<b>LDAP Administrator Password</b> is initially set to the system's root password
entered earlier in the installation process.</p> ") +
- _("<p>To use this database as the default database for the OpenLDAP client tools
-(e.g. ldapsearch) check <b>Use this database as the default for OpenLDAP clients</b>. This
-will result in the hostname \"localhost\" and the above entered <b>Base DN</b> being written
-to the OpenLDAP client configuration file <tt>/etc/openldap/ldap.conf</tt>. This checkbox
-is selected by default when creating the first database on a Server.</p>"),
+ _("<p>To use this database as default for the OpenLDAP client tools
+(e.g. ldapsearch), check <b>Use this database as the default for OpenLDAP
+clients</b>. This will result in the hostname \"localhost\" and the above
+entered <b>Base DN</b> being written to the OpenLDAP client configuration
+file <tt>/etc/openldap/ldap.conf</tt>. This checkbox is selected by default
+when creating the first database on a server.</p>
+"),
"database_detail_unsupported" :
- _("This database is currently not supported by the YaST Module, you can not
-change any configuration settings here.") ,
+ _("YaST currently does not support this database. You can not
+change any configuration settings here.
+") ,
"database_detail_config" :
_("<p>To enable or disable plaintext authentication (LDAP Simple Bind)
-for the configuration database click the associated checkbox. Plaintext authentication
-to the configuration database will only be allowed when using sufficiently protected
-(e.g. SSL/TLS encrypted) connections.</p>")+
- _("<p>To change the Administration password for the configuration database, click <b>Change Password</b>.
-A Popup will open where you can enter the new password and select the <b>Password Encryption</b>.
-The password fields are initially empty, even if a password is already set in the configuration.</p>"),
+for the configuration database, click the associated checkbox. Plaintext
+authentication to the configuration database will only be allowed when
+using sufficiently protected (e.g. SSL/TLS encrypted) connections.</p>
+")+
+ _("<p>To change the administration password for the configuration database,
+click <b>Change Password</b>.
+A Popup will prompt you to enter the new password and select the
+<b>Password Encryption</b>.
+The password fields are initially empty even if a password has already been
+set in the configuration.</p>
+"),
"database_detail" :
_("<h3>Edit BDB Database</h3>") +
- _("<p>Here you can change some basic settings of BDB and HDB Databases.</p>") +
+ _("<p>Change basic settings of BDB and HDB Databases.</p>") +
_("<p>Enter the complete DN or only the first part and append the base DN automatically
with <b>Append Base DN</b>.</p>")+
- _("<p>To change the password for the Administrator account, click <b>Change Password</b>.
-A Popup will open where you can enter the new password and select the <b>Password Encryption</b>.
-The password fields are initially empty, even if a password is already set in the configuration.</p>") +
+ _("<p>To change the password for the administrator account, click <b>Change Password</b>.
+A Popup will prompt you to enter the new password and select the <b>Password Encryption</b>.
+The password fields are initially empty even if a password has already been set in the configuration.</p>
+") +
_("<p>With the <b>Entry Cache</b> and <b>Index Cache (IDL cache)</b> you can adjust
the sizes of OpenLDAP's internal caches. The <b>Entry Cache</b> defines the number of entries
that are kept in OpenLDAP's in-memory entry cache. If it is possible (enough RAM) this number
should be large enough to keep the whole database in memory. The <b>Index Cache (IDL cache)</b>
is used to speed up searches on indexed attributes. In general especially HDB-Databases require a
large IDL cache for good search performance (three times the size of the entry cache as a rule of
-thumbs).</p>" ),
+thumbs).</p>"),
"ppolicy_edit" :
_("<h3>Password Policy Settings</h3>") +
@@ -100,61 +112,80 @@
in the database. Note that this violates the X.500/LDAP information model, but may be
needed to compensate for LDAP clients that do not use the password modify extended operation
to manage passwords.</p> ") +
- _("<p>If <b>Disclose \"Account Locked\" Status</b> is enabled, users trying to authenticate
-to a locked account get a notification that their account is locked. This notification
-might provide useful information to an attacker. Sites that are sensitive to security issues
-should not enable this option.</p> ") +
+ _("<p>If <b>Disclose \"Account Locked\" Status</b> is enabled, users trying to
+authenticate to a locked account are notified that their account is
+locked. This notification might provide useful information to an
+attacker. Sites sensitive to security issues should not enable this
+option.</p>
+") +
_("<p>Enter the name of the default policy object in <b>Default Policy Object DN</b>.</p>") +
- _("<p>You create or change the default policy by clicking <b>Edit Policy</b>. You might be
-ask to enter the LDAP Administrator password after that, to allow the Policy Object being read
-from the server.</p>"),
+ _("<p>Create or change the default policy by clicking <b>Edit Policy</b>. You may
+be asked to enter the LDAP administrator password afterwards to allow the
+Policy Object being read from the server.</p>
+"),
"index_edit" :
_("<h3>Index Configuration</h3>") +
- _("<p>This dialog allows you to change the indexing options of a hdb of bdb-Database.</p>") +
- _("<p>The table displays a list of attribute which have an index defined currently.</p>") +
- _("<p>Indexes are used by OpenLDAP to improve search performance on specific type of
-searches. Indexes should be configured corresponding to the most common searches that are used
-on a database. This YaST module allows to setup three different types indexes.</p>") +
- _("<p><b>Presence</b>: This index is used for searches using presence filters
-(i.e. <tt>(attributeType=*)</tt> ). Presence indexes should only be configured for attributes
-that occur very rarely in the database</p>")+
- _("<p><b>Equality</b>: This index is used for searches using equality filters (i.e.
-(<tt>(attributeType=<exact values>)</tt>). An <b>Equality</b> index should always be configured of the
-<tt>objectclass</tt> attribute.</p>")+
- _("<p><b>Substring</b>: This index is used for searches using substring filter
-(i.e. <tt>(attributeType=<substring>*)</tt> )</p>")+
- _("<p>Use <b>Add</b> to define indexing options for a new attribute, <b>Delete</b> to
-delete an existing index and <b>Edit</b> to change the indexing options of an already indexed
-Attribute.</p>") +
+ _("<p>Change the indexing options of a hdb of bdb-Database.</p>") +
+ _("<p>The table displays a list of attributes which currently have an index defined.</p>") +
+ _("<p>Indexes are used by OpenLDAP to improve search performance on specific
+types of searches. Indexes should be configured corresponding to the most
+common searches on a database. YaST allows you to setup three different types
+of indexes.</p>
+") +
+ _("<p><b>Presence</b>: This index is used for searches with presence filters
+(i.e. <tt>(attributeType=*)</tt>). Presence indexes should only be configured
+for attributes that occur rarely in the database.</p>
+")+
+ _("<p><b>Equality</b>: This index is used for searches with equality filters
+(i.e.(<tt>(attributeType=<exact values>)</tt>). An <b>Equality</b> index
+should always be configured with the <tt>objectclass</tt> attribute.</p>
+")+
+ _("<p><b>Substring</b>: This index is used for searches with substring filters
+(i.e. <tt>(attributeType=<substring>*)</tt>)</p>
+")+
+ _("<p>Use <b>Add</b> to define indexing options for a new attribute,
+<b>Delete</b> to delete an existing index and <b>Edit</b> to change the
+indexing options of an already indexed attribute.</p>
+") +
_("<p>Note: Depending on the database size it can take a while until newly added
-indexes, will get active on a database. After the configuration has been written to the server.
-a background task will start to generate the indexing information for the database.</p>"),
+indexes will get active on a database. After the configuration has been
+written to the server, a background task will start to generate the indexing
+information for the database.</p>
+"),
"acl_edit" :
_("<h3>Access Control Configuration</h3>") +
- _("<p>The table gives you the overview of all Access Control Rules, that are currently
-configured for the selected database</p>") +
- _("<p>For each rule you can see which target objects that rule matches. To see a more detailed
-view of a rule or to change a rule, select a rule in the table and click <b>Edit</b></p>") +
- _("<p>Use <b>Add</b> to create new Access Control Rules and <b>Delete</b> to delete an
-Access Control Rule</p>") +
- _("<p>As OpenLDAP's access control evaluation stop at the first rule whose target definition
-(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>"),
+ _("<p>This table gives you an overview of all Access Control rules that are
+currently configured for the selected database</p>
+") +
+ _("<p>For each rule, you can see which target objects it matches. To see a more
+detailed view of a rule or to change one, select the rule in the table and
+click <b>Edit</b>.</p>
+") +
+ _("<p>Use <b>Add</b> to create new access control rules and <b>Delete</b> to
+delete an access control rule.</p>
+") +
+ _("<p>OpenLDAP's access control evaluation stops at the first rule whose target
+definition (DN, filter and attributes) matches the entry being
+accessed. Therefore you should order the rules according to your needs, using
+the <b>Up</b> and <b>Down</b> buttons.</p>
+"),
"syncprov_edit" :
_("<h3>Replication Provider Settings</h3>") +
_("<p>Select the \"<b>Enable ldapsync provider for this database</b>\" checkbox, if you want to
be able to replicate the currently selected database to another server.</p>") +
_("<h4>Checkpoint Settings</h4>") +
- _("<p>Here you can specify how often the synchronization state indicator (stored in the
-\"<i>contextCSN</i>\"-Attribute) is written to the database. It is synced out to the database if
-\"<i>Operations</i>\" write operations or more than \"<i>Minutes</i>\" have passed since the
-last time the indicator was written. By default (both values are '0') the state indicator is only
-written after a clean shutdown. Writing it more often can result in faster startup times after an
-unclean shutdown but might result in a small performance hit in environments with many LDAP Write
-Operations.</p>")+
+ _("<p>Here you can specify how often the synchronization state indicator (stored
+in the \"<i>contextCSN</i>\"-Attribute) is written to the database. It is synced
+to the database after the number of write \"<i>Operations</i>\" you specify or
+after more than the specified \"<i>Minutes</i>\" have passed since the indicator
+has last been written. By default (both values are '0') the state indicator is
+only written after a clean shutdown. Writing it more often can result in
+a faster startup time after an unclean shutdown but might result in a small
+performance hit in environments with many LDAP write operations.</p>
+")+
_("<h4>Session log</h4>") +
_("<p>Configures an in-memory session log for recording information about write operations
made on the database. Specify how many write operation should be recorded in the session log.
@@ -163,65 +194,81 @@
"synccons_edit" :
_("<h3>Replication Consumer Settings</h3>") +
- _("<p>Select the \"<b>This database is a Replication Consumer</b>\" if you want the database to be a replica
-of a database on another server.</p>") +
+ _("<p>Select \"<b>This database is a Replication Consumer</b>\" if you want the
+database to be a replica of a database on another server.</p>
+") +
_("<h4>Provider</h4>") +
- _("Enter the connection details for the replication connection to the master server here. For that, select the
-protocol to use (<b>ldap</b> or <b>ldaps</b>) and enter the fully qualified hostname of the master server here. It is
-important to use the fully qualified hostname here to be able to verify the master server's TLS/SSL certificate. Adjust
-the port number if the master server is using non-standard ldap ports.") +
+ _("Enter the connection details for the replication connection to the master
+server here. Select the protocol to use (<b>ldap</b> or <b>ldaps</b>) and
+enter the fully qualified hostname of the master server. It is important to
+use the fully qualified hostname to verify the master server's TLS/SSL
+certificate. Adjust the port number if the master server is using non-standard
+ldap ports.
+") +
_("<h4>Replication Type</h4>") +
_("<p>OpenLDAP supports different modes of replication:</p>") +
- _("<p><b>refreshOnly</b>: The slave server will periodically open a new connection, trigger a
-synchronization and close the connection again. The interval how often this synchronization happens can be configured
-through the <b>Replication Interval</b> settings.</p>") +
- _("<p><b>refreshAndPersist</b>: The slave server will open a persistent connection to the master server for
-synchronization. Updated entries on the master server are immediately sent to the slave through that connection.</p>") +
+ _("<p><b>refreshOnly</b>: The slave server will periodically open a new
+connection, trigger a synchronization and close the connection again. The
+interval how often this synchronization happens can be configured via the
+<b>Replication Interval</b> setting.</p>
+") +
+ _("<p><b>refreshAndPersist</b>: The slave server will open a persistent
+connection to the master server for synchronization. Updated entries on the
+master server are immediately sent to the slave via this connection.</p>
+") +
_("<h4>Authentication</h4>") +
- _("<p>Specify a DN and password here that the slave server should use to authenticate against the master.
-The specified DN needs to have read access to all entries in the replicated database on the master.</p>") +
+ _("<p>Specify a DN and password which the slave server should use to authenticate against the master.
+The specified DN needs to have read access to all entries in the replicated database on the master.</p>
+") +
_("<h4>Update Referral</h4>") +
- _("<p>As the slave database is readonly. The slave server will answer write operations with an LDAP referral.
-This referral by default points the client to the master server. You can configure a different update referral here.
-This is e.g. useful in a cascaded replication setup i.e. when the provider for the slave server is as slave server
-itself. </p>"),
+ _("<p>As the slave database is readonly, the slave server will answer write
+operations with an LDAP referral.
+By default, this referral points the client to the master server. You can configure a different update referral here.
+This is e.g. useful in a cascaded replication setup where the provider for the
+slave server is as slave server too. </p>
+"),
/* Read dialog help */
"read" :
- _("<p><b><big>Initializing LDAP Server Configuration</big></b><br>Please wait...<br></p>") +
+ _("<p><b><big>Initializing LDAP Server Configuration</big></b></p>") +
_("<p><b><big>Aborting Initialization:</big></b><br>
Safely abort the configuration utility by pressing <b>Abort</b> now.</p>"),
/* Write dialog help */
"write" :
- _("<p><b><big>Saving LDAP Server Configuration</big></b><br>
-Please wait...<br></p> ") +
+ _("<p><b><big>Saving LDAP Server Configuration</big></b></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> "),
+Abort the save procedure by pressing <b>Abort</b>. An additional dialog
+informs you whether it is safe to do so.</p>
+"),
/* Summary dialog help 1/3 */
"summary" :
_("<h3>LDAP Server Configuration Summary</h3>") +
- _("<p>This dialog just gives a short summary about the configuration you just
-created. Click <b>Finish</b> to write that configuration and leave the LDAP
-Server module</p>"),
+ _("<p>This dialog provides a short summary about the configuration you have
+created. Click <b>Finish</b> to write the configuration and leave the LDAP
+Server module.</p>
+"),
/* Configuration Wizard Step 1 */
"service_dialog" :
_("<p>With <b>Start LDAP Server Yes or No</b>, start or stop the LDAP server.</p> ") +
- _("<p>If <b>Yes</b> is selected, you can click <b>Next</b> to start the configuration wizard</p>")+
- _("<p>If the Firewall is enabled you can open the required network ports
-for OpenLDAP by checking the corresponding Checkbox.</p>"),
+ _("<p>If you select <b>Yes</b>, click <b>Next</b> to start the configuration wizard.</p>")+
+ _("<p>If the Firewall is enabled, open the required network ports
+for OpenLDAP by checking the corresponding checkbox.</p>
+"),
/* Configuration Wizard Step 2 */
"server_type" :
- _("<p>Select the type of LDAP Server you want to setup. The following scenarios are available:</p>") +
- _("<p><b>Stand-alone server</b>: Setup a single standalone OpenLDAP Server with no preparations for
-replication</p>") +
- _("<p><b>Master server in a replication setup</b>: Create an OpenLDAP setup that is prepared to act as a master server
-(provider) in a replication setup.</p>") +
+ _("<p>Select the type of LDAP server you want to setup. The following scenarios are available:</p>") +
+ _("<p><b>Stand-alone server</b>: Setup a single stand-alone OpenLDAP server with
+no preparations for replication.</p>
+") +
+ _("<p><b>Master server in a replication setup</b>: Create an OpenLDAP setup
+prepared to act as a master server (provider) in a replication setup.</p>
+") +
_("<p><b>Replica slave server</b>: Setup an OpenLDAP slave server that replicates all its data,
including configuration, from a master server.</p>"),
@@ -230,20 +277,28 @@
_("<h3>TLS Settings</h3>") +
_("<h4>Basic Settings</h4>") +
- _("<p>To enable encryption via TLS/SSL check the <b>Enabled TLS</b> checkbox. Additionally you
-need to configure a Certificate the Server should use.</p>") +
- _("<p>By checking <b>Enable LDAP over SSL (ldaps) interface</b> you enable the server to
-accept LDAPS connections on port 636. If not checked OpenLDAP will only support TLS encrypted connections
-through the StartTLS extended operation</p>") +
- _("<p>If you already have a Common Server Certificate installed using the corresponding YaST Module,
-you can check <b>Use common Server Certificate</b> to have the OpenLDAP server use that certificate</p>") +
+ _("<p>To enable encryption via TLS/SSL, check the <b>Enabled TLS</b>
+checkbox. Additionally you need to configure a certificate for the Server
+to use.</p>
+") +
+ _("<p>Check <b>Enable LDAP over SSL (ldaps) interface</b>, to enable the server
+to accept LDAPS connections on port 636. If not checked, OpenLDAP will only
+support TLS encrypted connections through the StartTLS extended operation.</p>
+") +
+ _("<p>If you already have a common server certificate installed using the
+corresponding YaST Module, check <b>Use common Server Certificate</b> so that
+the OpenLDAP server uses this certificate.</p>
+") +
_("<h4>Import Certificate</h4>") +
- _("<p>If you have no Common Server Certificate or you want OpenLDAP to use a different certificate
-you can enter the file names of the <b>CA Certificate File</b>, <b>Certificate File</b> and
-<b>Certificate Key File</b> into the corresponding textfields</p>") +
- _("<p>To create a new CA or certificate you can launch the CA-Management Module by clicking
-<b>Launch CA Management Module</b></p>"),
+ _("<p>If you have no common server certificate or you want OpenLDAP to use a
+different certificate, enter the file names of the <b>CA Certificate File</b>,
+<b>Certificate File</b> and <b>Certificate Key File</b> into the corresponding
+textfields.</p>
+") +
+ _("<p>To create a new CA or certificate, launch the CA management module by
+clicking <b>Launch CA Management Module</b>.</p>
+"),
/* Tree Item Dialog "global" 1/1 */
"global" : _("<p>Below this item, configure some global parameters.</p>"),
@@ -256,51 +311,61 @@
/* Tree Item Dialog "loglevel" */
"g_loglevel" :
- _("<p>Please select the subsystems that should log debugging statements and statistics to syslog.</p>"),
+ _("<p>Select the subsystems that should log debugging statements and statistics\nto syslog.</p>"),
/* Tree Item Dialog "allow" 1/1 */
"g_allow" :
_("<p>Select which special features the OpenLDAP Server should allow or disallow:</p>") +
_("<h3>Select Allow Flags</h3>") +
- _("<p><b>LDAPv2 Bind Requests</b>: To let the server accept LDAPv2 bind requests. Note
-that OpenLDAP does not truly implement LDAPv2</p>") +
+ _("<p><b>LDAPv2 Bind Requests</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 Operations to process</b>: To allow unauthenticated
-(anonymous) update operations to be processed (they are still subject to access controls and
-other administrative limits)</p>") +
+(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 selecting 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>Disable acceptance of anonymous Bind Requests</b>: The Server will
+not accept anonymous bind requests. Note that this does not generally
+prohibit anonymous directory access.</p>
+") +
+ _("<p><b>Disable Simple Bind authentication</b>: Completely disable Simple Bind
+authentication</p>
+") +
+ _("<p><b>Disable forcing session to anonymous status upon StartTLS operation
+receipt</b>: 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>") ,
+The server will not allow 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>") +
+ _("<p>This lists shows all 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>"),
+ _("<p>To delete a database, select a database from the list and press <b>Delete Database...</b>.
+You cannot delete the \"config\" and \"frontend\" databases.</p>
+"),
"master_setup_dialog" :
_("<p>Enter a password for the configuration database (\"<i>cn=config</i>\") here. This is required to make
the configuration database accessible remotely.</p>") +
_("<p>If the server is supposed to participate in a MirrorMode setup, select the \"<b>Prepare for MirrorMode replication</b>\"
-checkbox. This will ensure that the serverId Attribute is generated as needed for MirrorMode replication.</p>"),
+checkbox. This will ensure that the serverId attribute is generated as needed for MirrorMode replication.</p>
+"),
"slave_dialog" :
_("<p>To setup a slave server some details need to be queried from the master server. Please enter the master
Modified: trunk/ldap-server/src/ldap-server_proposal.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/ldap-server_prop…
==============================================================================
--- trunk/ldap-server/src/ldap-server_proposal.ycp (original)
+++ trunk/ldap-server/src/ldap-server_proposal.ycp Mon Nov 21 14:13:34 2011
@@ -245,7 +245,7 @@
}
else
{
- Report::Error( _("OpenLDAP Replication Setup failed. Please reconfigure after the installation finished.") );
+ Report::Error( _("OpenLDAP Replication Setup failed. Reconfigure after the installation has finished.") );
return ret;
}
}
Modified: trunk/ldap-server/src/mirrormode-wizard.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/mirrormode-wizar…
==============================================================================
--- trunk/ldap-server/src/mirrormode-wizard.ycp (original)
+++ trunk/ldap-server/src/mirrormode-wizard.ycp Mon Nov 21 14:13:34 2011
@@ -111,14 +111,14 @@
map url = URL::Parse( serverids[selected,"uri"]:"" );
if ( (string)url["host"]:"" == LdapServer::ReadHostnameFQ() )
{
- Popup::Error( _("Deleting the Host on which you started this YaST Module is not possible.\n") +
- _("Please start yast2 openldap-mirrormode on a different MirrorMode server.") );
+ Popup::Error( _("Deleting the host on which you started this YaST Module is not possible.\n") +
+ _("Start yast2 openldap-mirrormode on a different MirrorMode server.") );
continue;
}
if( Popup::YesNo( _("Do you really want to remove ") +
"\"" + serverids[ selected, "uri" ]:"" + "\"" +
- _("From the MirrorMode setup?\n" ) +
+ _("from the MirrorMode setup?\n") +
_("Changes will take effect immediately after clicking \"Yes\"") ) )
{
LdapServer::RemoveMMSyncrepl( serverids[ selected, "uri" ]:"" );
Modified: trunk/ldap-server/src/tree_structure.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/tree_structure.y…
==============================================================================
--- trunk/ldap-server/src/tree_structure.ycp (original)
+++ trunk/ldap-server/src/tree_structure.ycp Mon Nov 21 14:13:34 2011
@@ -371,17 +371,17 @@
];
if ( (string)tlsSettings["caCertFile"]:"" == "" )
{
- callback_error = _("Please select a valid CA Certificate File");
+ callback_error = _("Select a Valid CA Certificate File");
return false;
}
if ( (string)tlsSettings["certFile"]:"" == "" )
{
- callback_error = _("Please select a valid Certificate File");
+ callback_error = _("Select a valid Certificate File");
return false;
}
if ( (string)tlsSettings["certKeyFile"]:"" == "" )
{
- callback_error = _("Please select a valid Certificate Key File");
+ callback_error = _("Select a valid Certificate Key File");
return false;
}
if ( ! LdapServer::WriteTlsConfig( tlsSettings ) )
@@ -454,7 +454,7 @@
UI::ChangeWidget( `te_key_file, `Value, "/etc/ssl/servercerts/serverkey.pem");
UI::ChangeWidget( `fr_import_cert, `Enabled, false );
} else {
- Popup::Error( _("A common server certificate is not available") );
+ Popup::Error( _("A common server certificate is not available.") );
UI::ChangeWidget( `cb_use_common_cert, `Value, false );
UI::ChangeWidget( `cb_use_common_cert, `Enabled, false );
}
@@ -597,11 +597,11 @@
y2milestone("Trying to delete datbase %1 %2", db["suffix"]:"", db["type"]:"" );
if (db["type"]:"" == "frontend" )
{
- Popup::Error(_("Can not delete Frontend database") );
+ Popup::Error(_("Cannot delete Frontend database") );
}
else if (db["type"]:"" == "config" )
{
- Popup::Error( _("Can not delete Config database") );
+ Popup::Error( _("Cannot delete Config database") );
}
else
{
@@ -746,14 +746,14 @@
string hashAlgo = (string)UI::QueryWidget( `cb_cryptmethod, `Value );
if ( size(pw) == 0 )
{
- Popup::Error( _("Please enter a password") );
+ Popup::Error( _("Enter a password") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
return false;
}
else if ( pw != verifypw )
{
- Popup::Error( _("The passwords you have enter do not match. Please try again") );
+ Popup::Error( _("The passwords you have entered do not match. Try again.") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
pw = "";
@@ -1187,7 +1187,7 @@
"name" : _("Databases"),
"widget" : `VBox(
`MinSize( 60, 7,
- `Table( `id( `tab_db ),`opt(`keepSorting), `header(_("Suffix DN"), _("Database type") ) )
+ `Table( `id( `tab_db ),`opt(`keepSorting), `header(_("Suffix DN"), _("Database Type") ) )
),
`Left(
`HBox(
Modified: trunk/ldap-server/src/widgets.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/widgets.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/widgets.ycp (original)
+++ trunk/ldap-server/src/widgets.ycp Mon Nov 21 14:13:34 2011
@@ -250,7 +250,7 @@
`VSpacing( 0.5 ),
`VBox(
`Left(
- `Label( _("Checkpoint settings") )
+ `Label( _("Checkpoint Settings") )
),
`HBox(
`HSquash(
@@ -276,7 +276,7 @@
`Heading( _("Change Configuration Database Settings") ),
`VSpacing( 1 ),
`CheckBox( `id( `cb_conf_ldapsimplebind), `opt(`notify),
- _("Allow Plaintext Authentication (Simple Bind) for this Database. " ) +
+ _("Allow Plaintext Authentication (Simple Bind) for this Database. ") +
_("(Remote Connection needs to be encrypted)"), false ),
`VSpacing( 0.3 ),
`ReplacePoint( `id( `rp_confpw ),
@@ -339,7 +339,7 @@
string hashAlgo = (string)UI::QueryWidget( `cb_cryptmethod, `Value );
if ( size(pw) == 0 )
{
- Popup::Error( _("Please enter a password") );
+ Popup::Error( _("Enter a password") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
}
@@ -352,7 +352,7 @@
}
else
{
- Popup::Error( _("The passwords you have enter do not match. Please try again") );
+ Popup::Error( _("The passwords you have entered do not match. Try again.") );
UI::ChangeWidget( `te_rootpw, `Value, "" );
UI::ChangeWidget( `te_valid_rootpw, `Value, "" );
}
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66878 - in /trunk/ldap-server: package/yast2-ldap-server.changes yast2-ldap-server.spec.in
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 11:26:50 2011
New Revision: 66878
URL: http://svn.opensuse.org/viewcvs/yast?rev=66878&view=rev
Log:
Merged obs request #92644:
add libtool as buildrequire to avoid implicit dependency
Modified:
trunk/ldap-server/package/yast2-ldap-server.changes
trunk/ldap-server/yast2-ldap-server.spec.in
Modified: trunk/ldap-server/package/yast2-ldap-server.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/package/yast2-ldap-s…
==============================================================================
--- trunk/ldap-server/package/yast2-ldap-server.changes (original)
+++ trunk/ldap-server/package/yast2-ldap-server.changes Mon Nov 21 11:26:50 2011
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Sun Nov 20 06:30:02 UTC 2011 - coolo(a)suse.com
+
+- add libtool as buildrequire to avoid implicit dependency
+
+-------------------------------------------------------------------
Mon Sep 26 12:19:24 CEST 2011 - visnov(a)suse.cz
- set dialog title
Modified: trunk/ldap-server/yast2-ldap-server.spec.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/yast2-ldap-server.sp…
==============================================================================
--- trunk/ldap-server/yast2-ldap-server.spec.in (original)
+++ trunk/ldap-server/yast2-ldap-server.spec.in Mon Nov 21 11:26:50 2011
@@ -3,7 +3,7 @@
@HEADER@
Group: System/YaST
License: GPL-2.0+ X11/MIT
-BuildRequires: boost-devel gcc-c++ libldapcpp-devel perl-Digest-SHA1 perl-gettext perl-X500-DN pkg-config update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-ldap-client
+BuildRequires: boost-devel gcc-c++ libldapcpp-devel libtool perl-Digest-SHA1 perl-gettext perl-X500-DN 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
# Wizard::SetDesktopTitleAndIcon
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66877 - in /trunk/ldap-server: ./ src/ src/agent/ src/lib/
by rhafer@svn2.opensuse.org 21 Nov '11
by rhafer@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: rhafer
Date: Mon Nov 21 11:09:24 2011
New Revision: 66877
URL: http://svn.opensuse.org/viewcvs/yast?rev=66877&view=rev
Log:
merged SLE-11-SP2 changes to trunk
Added:
trunk/ldap-server/src/mirrormode-wizard.ycp
- copied, changed from r64416, branches/SuSE-Code-11-SP2-Branch/ldap-server/src/mirrormode-wizard.ycp
trunk/ldap-server/src/openldap-mirrormode.desktop
- copied unchanged from r65056, branches/SuSE-Code-11-SP2-Branch/ldap-server/src/openldap-mirrormode.desktop
trunk/ldap-server/src/openldap-mirrormode.ycp
- copied unchanged from r64417, branches/SuSE-Code-11-SP2-Branch/ldap-server/src/openldap-mirrormode.ycp
Modified:
trunk/ldap-server/ (props changed)
trunk/ldap-server/src/LdapDatabase.ycp
trunk/ldap-server/src/LdapServer.pm
trunk/ldap-server/src/Makefile.am
trunk/ldap-server/src/agent/SlapdConfigAgent.cc
trunk/ldap-server/src/agent/SlapdConfigAgent.h
trunk/ldap-server/src/complex.ycp
trunk/ldap-server/src/dialogs.ycp
trunk/ldap-server/src/helps.ycp
trunk/ldap-server/src/lib/slapd-config.cpp
trunk/ldap-server/src/lib/slapd-config.h
trunk/ldap-server/src/tree_structure.ycp
trunk/ldap-server/yast2-ldap-server.spec.in
Modified: trunk/ldap-server/src/LdapDatabase.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapDatabase.ycp…
==============================================================================
--- trunk/ldap-server/src/LdapDatabase.ycp (original)
+++ trunk/ldap-server/src/LdapDatabase.ycp Mon Nov 21 11:09:24 2011
@@ -1428,93 +1428,95 @@
{
term widget =
`Top(
- `HSquash(
- `VBox(
- `VSpacing(0.5),
- `Left(
- `CheckBox( `id( `cb_syncrepl ), `opt(`notify), _("This database is a Replication Consumer"), false )
- ),
- `VSpacing(0.3),
- `VBox( `id( `f_synccons ),
+ `ReplacePoint( `id( `syncConsWidget ),
+ `HSquash(
+ `VBox(
+ `VSpacing(0.5),
`Left(
- `VSquash(
- `HBox(
- `ComboBox( `id( `cb_sync_prot ), `opt(`notify), _("Protocol"), [ "ldap", "ldaps" ] ),
- `HSpacing(),
- `InputField( `id( `te_sync_target ), `opt(`hstretch), _("Provider Name"), "" ),
- `HSpacing(),
- `HSquash(
- `IntField( `id(`if_sync_port), _("Port"), 0, 65536, 389)
- ),
- `HSpacing(),
- `VBox(
- `Bottom(
- `CheckBox( `id( `cb_start_tls ), _("Use StartTLS"), true )
- ),
- `VSpacing(0.3)
- )
- )
- )
+ `CheckBox( `id( `cb_syncrepl ), `opt(`notify), _("This database is a Replication Consumer"), false )
),
`VSpacing(0.3),
- `Left(
- `HBox(
- `ComboBox( `id( `cb_sync_type ), `opt(`notify),
- _("Replication Type"), [ "refreshAndPersist", "refreshOnly" ] ),
- `HSpacing(),
+ `VBox( `id( `f_synccons ),
+ `Left(
`VSquash(
- `HBox( `id( `hb_rep_interval ),
- `VBox(
- `Bottom(
- `Label( _("Replication Interval") )
- )
- ),
+ `HBox(
+ `ComboBox( `id( `cb_sync_prot ), `opt(`notify), _("Protocol"), [ "ldap", "ldaps" ] ),
`HSpacing(),
- `HSquash(
- `IntField( `id(`if_sync_int_d), _("Days"), 0, 99, 0)
- ),
- `HSpacing(),
- `HSquash(
- `IntField( `id(`if_sync_int_h), _("Hours"), 0, 23, 0)
- ),
+ `InputField( `id( `te_sync_target ), `opt(`hstretch), _("Provider Name"), "" ),
`HSpacing(),
`HSquash(
- `IntField( `id(`if_sync_int_m), _("Minutes"), 0, 59, 0)
+ `IntField( `id(`if_sync_port), _("Port"), 0, 65536, 389)
),
`HSpacing(),
- `HSquash(
- `IntField( `id(`if_sync_int_s), _("Seconds"), 0, 59, 0)
- ),
- `HStretch()
+ `VBox(
+ `Bottom(
+ `CheckBox( `id( `cb_start_tls ), _("Use StartTLS"), true )
+ ),
+ `VSpacing(0.3)
+ )
)
)
- )
- ),
- `VSpacing(0.3),
- `Left(
- `HBox(
- `InputField( `id( `te_sync_binddn ), `opt(`hstretch), _("Authentication DN"), "" ),
- `HSpacing(),
- `Password( `id( `te_sync_cred ), `opt(`hstretch), _("Password"), "" )
- )
- ),
- `VSpacing(0.3),
- `Left(
- `VSquash(
+ ),
+ `VSpacing(0.3),
+ `Left(
`HBox(
- `VBox(
- `Bottom(
- `CheckBox( `id( `cb_update_ref ), `opt(`notify), _("Custom update referral") )
- ),
- `VSpacing(0.3)
- ),
- `HSpacing(),
- `ComboBox( `id( `cb_updateref_prot ), `opt(`notify), _("Protocol"), [ "ldap", "ldaps" ] ),
+ `ComboBox( `id( `cb_sync_type ), `opt(`notify),
+ _("Replication Type"), [ "refreshAndPersist", "refreshOnly" ] ),
`HSpacing(),
- `InputField( `id( `te_updateref_target ), `opt(`hstretch), _("Target Host"), "" ),
+ `VSquash(
+ `HBox( `id( `hb_rep_interval ),
+ `VBox(
+ `Bottom(
+ `Label( _("Replication Interval") )
+ )
+ ),
+ `HSpacing(),
+ `HSquash(
+ `IntField( `id(`if_sync_int_d), _("Days"), 0, 99, 0)
+ ),
+ `HSpacing(),
+ `HSquash(
+ `IntField( `id(`if_sync_int_h), _("Hours"), 0, 23, 0)
+ ),
+ `HSpacing(),
+ `HSquash(
+ `IntField( `id(`if_sync_int_m), _("Minutes"), 0, 59, 0)
+ ),
+ `HSpacing(),
+ `HSquash(
+ `IntField( `id(`if_sync_int_s), _("Seconds"), 0, 59, 0)
+ ),
+ `HStretch()
+ )
+ )
+ )
+ ),
+ `VSpacing(0.3),
+ `Left(
+ `HBox(
+ `InputField( `id( `te_sync_binddn ), `opt(`hstretch), _("Authentication DN"), "" ),
`HSpacing(),
- `HSquash(
- `IntField( `id(`if_updateref_port), _("Port"), 0, 65536, 389)
+ `Password( `id( `te_sync_cred ), `opt(`hstretch), _("Password"), "" )
+ )
+ ),
+ `VSpacing(0.3),
+ `Left(
+ `VSquash(
+ `HBox(
+ `VBox(
+ `Bottom(
+ `CheckBox( `id( `cb_update_ref ), `opt(`notify), _("Custom update referral") )
+ ),
+ `VSpacing(0.3)
+ ),
+ `HSpacing(),
+ `ComboBox( `id( `cb_updateref_prot ), `opt(`notify), _("Protocol"), [ "ldap", "ldaps" ] ),
+ `HSpacing(),
+ `InputField( `id( `te_updateref_target ), `opt(`hstretch), _("Target Host"), "" ),
+ `HSpacing(),
+ `HSquash(
+ `IntField( `id(`if_updateref_port), _("Port"), 0, 65536, 389)
+ )
)
)
)
@@ -1526,7 +1528,24 @@
return widget;
}
- global boolean DbSyncConsRead( integer index, map synccons )
+ boolean urlComponentsMatch( map url1, map url2 )
+ {
+ if ( (string)url1["protocol"]:"" != (string)url2["protocol"]:"" )
+ {
+ return false;
+ }
+ if ( (string)url1["target"]:"" != (string)url2["target"]:"" )
+ {
+ return false;
+ }
+ if ( (integer)url1["port"]:0 != (integer)url2["port"]:0 )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ global boolean DbSyncConsRead( integer index, map synccons, map updateref )
{
y2milestone("DbSyncConsRead %1", index);
if ( size(synccons) == 0 )
@@ -1564,14 +1583,13 @@
}
UI::ChangeWidget( `te_sync_binddn, `Value, (string)synccons["binddn"]:"");
UI::ChangeWidget( `te_sync_cred, `Value, (string)synccons["credentials"]:"");
- map <string,any> updateref = synccons["updateref"]:$[];
if (size(updateref) == 0 )
{
// no updateref
UI::ChangeWidget( `cb_update_ref, `Value, true );
UI::ChangeWidget( `te_updateref_target, `Value, "" );
}
- else if ( (boolean)updateref["use_provider"]:true )
+ else if ( urlComponentsMatch( provider, updateref ) )
{
UI::ChangeWidget( `cb_update_ref, `Value, false );
UI::ChangeWidget( `cb_updateref_prot, `Enabled, false );
@@ -1756,7 +1774,8 @@
global map<string,any> DbSyncConsWrite( integer index )
{
y2milestone("DbSyncConsWrite %1", index);
- map<string,any> result = $[];
+ map<string,any> syncrepl = $[];
+ map<string,any> updateref = $[];
if ( UI::QueryWidget( `cb_syncrepl, `Value ) == true )
{
string prot = (string)UI::QueryWidget( `cb_sync_prot, `Value );
@@ -1767,11 +1786,11 @@
"target" : target,
"port" : port
];
- result = add(result, "provider", provider );
- result = add(result, "starttls", (boolean)UI::QueryWidget(`cb_start_tls, `Value) );
+ syncrepl = add(syncrepl, "provider", provider );
+ syncrepl = add(syncrepl, "starttls", (boolean)UI::QueryWidget(`cb_start_tls, `Value) );
string type = (string)UI::QueryWidget( `cb_sync_type, `Value );
- result = add(result, "type", type );
+ syncrepl = add(syncrepl, "type", type );
if ( type == "refreshOnly" )
{
@@ -1781,7 +1800,7 @@
"mins" : (integer)UI::QueryWidget( `if_sync_int_m, `Value ),
"secs" : (integer)UI::QueryWidget( `if_sync_int_s, `Value ),
];
- result = add( result, "interval", iv );
+ syncrepl = add( syncrepl, "interval", iv );
}
map db = baseDb;
if ( index >= 0)
@@ -1791,23 +1810,25 @@
string basedn = (string)db["suffix"]:"";
string binddn = (string)UI::QueryWidget( `te_sync_binddn, `Value );
string cred = (string)UI::QueryWidget( `te_sync_cred, `Value );
- result = add(result, "basedn", basedn );
- result = add(result, "binddn", binddn );
- result = add(result, "credentials", cred );
+ syncrepl = add(syncrepl, "basedn", basedn );
+ syncrepl = add(syncrepl, "binddn", binddn );
+ syncrepl = add(syncrepl, "credentials", cred );
if ( (boolean) UI::QueryWidget( `cb_update_ref, `Value) )
{
- map<string,any> updateref = $[];
if ( (string)UI::QueryWidget(`te_updateref_target, `Value) != "" )
{
updateref = add(updateref, "protocol", (string)UI::QueryWidget(`cb_updateref_prot, `Value) );
updateref = add(updateref, "target", (string)UI::QueryWidget(`te_updateref_target, `Value) );
updateref = add(updateref, "port", (integer)UI::QueryWidget(`if_updateref_port, `Value) );
}
- result = add(result, "updateref", updateref );
+ }
+ else
+ {
+ updateref = provider;
}
}
- y2milestone("DbSyncConsWrite result: %1", result);
- return result;
+ y2milestone("DbSyncConsWrite syncrepl: %1", syncrepl);
+ return $[ "syncrepl" : syncrepl, "updateref" : updateref ];
}
global term GetSyncProvWidget()
@@ -1989,7 +2010,7 @@
Wizard::SetContentsButtons(caption, contents, HELPS["synccons_edit"]:"",
Label::BackButton(), Label::NextButton());
symbol ret = `next;
- DbSyncConsRead(-1, $[] );
+ DbSyncConsRead(-1, $[], $[] );
while(true) {
ret = (symbol)UI::UserInput();
if (ret == `abort || ret == `cancel )
Modified: trunk/ldap-server/src/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/LdapServer.pm?re…
==============================================================================
--- trunk/ldap-server/src/LdapServer.pm (original)
+++ trunk/ldap-server/src/LdapServer.pm Mon Nov 21 11:09:24 2011
@@ -45,6 +45,7 @@
my $overwriteConfig = 0;
my $setupSyncreplSlave = 0;
my $setupSyncreplMaster = 0;
+my $setupMirrorMode = 0;
my $modeInstProposal = 0;
my $serviceEnabled = 0;
my $serviceRunning = 1;
@@ -183,6 +184,15 @@
}
];
+my $dbconfig_defaults = [
+ "set_cachesize 0 15000000 1",
+ "set_lg_regionmax 262144",
+ "set_lg_bsize 2097152",
+ "set_flags DB_LOG_AUTOREMOVE",
+ "set_lk_max_locks 30000",
+ "set_lk_max_objects 30000"
+];
+
my @schema = ();
my @added_databases = ();
@@ -197,6 +207,7 @@
my $syncreplaccount = {};
my $syncreplbaseconfig = {};
+my $masterldif = "";
##
# Read all ldap-server settings
@@ -650,7 +661,7 @@
Progress->Finish();
return 0;
}
- elsif ( ! $serviceRunning && $serviceEnabled )
+ elsif ( (! $serviceRunning && $serviceEnabled) || $restartRequired )
{
my $progressItems = [_("Starting LDAP Server") ];
Progress->New(_("Restarting OpenLDAP Server"), "", 1, $progressItems, $progressItems, "");
@@ -735,12 +746,15 @@
my $tmpfile = $rc->{'stdout'};
chomp $tmpfile;
y2milestone("using tempfile: ".$tmpfile );
- my $overrideCsn = {};
+ my $ldif = "";
if ( $setupSyncreplSlave )
{
- $overrideCsn = { resetCsn => 0 };
+ $ldif = $masterldif;
+ }
+ else
+ {
+ $ldif = SCR->Read('.ldapserver.configAsLdif');
}
- my $ldif = SCR->Read('.ldapserver.configAsLdif', $overrideCsn );
y2debug($ldif);
if ( ! $ldif )
{
@@ -994,7 +1008,13 @@
# before restarting the server (bnc#450457)
Progress->NextStage();
y2milestone("slapd might be running a background task, waiting for completion");
- SCR->Execute('.ldapserver.waitForBackgroundTasks') ;
+ if (! SCR->Execute('.ldapserver.waitForBackgroundTasks') ) {
+ y2error("Error while waiting for background task.");
+ $self->SetError( _("An error happend while waiting for waiting for the OpenLDAP database indexer to finish.\n").
+ _("Please restart OpenLDAP manually.") );
+ Progress->Finish();
+ return 0;
+ }
y2milestone("background tasks completed");
Progress->NextStage();
Service->Restart("ldap");
@@ -1328,6 +1348,13 @@
return $serviceRunning;
}
+BEGIN { $TYPEINFO {WriteRestartRequired} = ["function", "boolean", "boolean"]; }
+sub WriteRestartRequired {
+ my $self = shift;
+ $restartRequired = shift;
+ return 1;
+}
+
BEGIN { $TYPEINFO {ReadSLPEnabled} = ["function", "boolean"]; }
sub ReadSLPEnabled {
y2milestone("ReadSLPEnabled");
@@ -1391,6 +1418,50 @@
return 1;
}
+BEGIN { $TYPEINFO {ReadServerIds} = ["function", [ "list", [ "map", "string", "any" ] ] ]; }
+sub ReadServerIds
+{
+ my $self = shift;
+
+ my $serverids = SCR->Read( '.ldapserver.global.serverIds' );
+ foreach my $sid ( @{$serverids} )
+ {
+ $sid->{'id'} = YaST::YCP::Integer( $sid->{'id'} );
+ }
+ return $serverids;
+}
+
+BEGIN { $TYPEINFO {WriteServerIds} = ["function", "boolean", [ "list", [ "map", "string", "any" ] ] ]; }
+sub WriteServerIds
+{
+ my ( $self, $serverids ) = @_;
+ y2milestone( "WriteServerIds" );
+ foreach my $sid ( @{$serverids} )
+ {
+ $sid->{'id'} = YaST::YCP::Integer( $sid->{'id'} );
+ }
+ my $ret = SCR->Write( '.ldapserver.global.serverIds', $serverids );
+ return $ret;
+}
+
+BEGIN { $TYPEINFO {AssignServerId} = ["function", "boolean" ]; }
+sub AssignServerId
+{
+ my ( $self, $fqdn ) = @_;
+ if ( ! $fqdn )
+ {
+ $fqdn = $self->ReadHostnameFQ();
+ }
+ if ( $fqdn eq "" )
+ {
+ y2error("Unable to determine full-qualified hostname");
+ return 0;
+ }
+
+ SCR->Execute('.ldapserver.assignServerId', "ldap://".$fqdn );
+ return 1;
+}
+
BEGIN { $TYPEINFO {ReadAllowFeatures} = ["function", [ "list", "string" ] ]; }
sub ReadAllowFeatures
{
@@ -1687,7 +1758,7 @@
sub ReadFromDefaults
{
my $self = shift;
-
+ y2milestone( "ReadFromDefaults" );
$self->WriteServiceEnabled( $dbDefaults{'serviceEnabled'} );
$self->WriteSLPEnabled( $dbDefaults{'slpRegister'} );
my $pwHash = "";
@@ -1710,15 +1781,9 @@
my $frontenddb = { 'type' => 'frontend' };
$self->InitGlobals();
-
- if ( $self->ReadSetupSlave() )
- {
- SCR->Execute('.ldapserver.initDatabases', [ $frontenddb, $cfgdatabase ] );
- SCR->Write(".ldapserver.database.{0}.syncrepl", $syncreplbaseconfig );
- my $ldif = SCR->Read('.ldapserver.configAsLdif' );
- y2debug($ldif);
- }
- else #master or standalone
+
+ if (! $self->ReadSetupSlave() ) # Slave setup was already initialized by dumping Master
+ # Database to $masterldif, nothing to do here.
{
SCR->Execute('.ldapserver.initSchema' );
my $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/core.ldif" );
@@ -1791,6 +1856,10 @@
$self->UpdateDatabase(0 ,$changes);
if ( $self->ReadSetupMaster() )
{
+ if ( $self->ReadSetupMirrorMode() )
+ {
+ $self->AssignServerId();
+ }
# create helpful indexes for syncrepl
$self->ChangeDatabaseIndex(1, { "name" => "entryUUID", "eq" => 1 } );
$self->ChangeDatabaseIndex(1, { "name" => "entryCSN", "eq" => 1 } );
@@ -1856,7 +1925,16 @@
SCR->Write(".ldapserver.database.{1}.limits", \@newlimits );
}
}
-
+
+ # remove existing DB_CONFIG to have it regenerated at slapd startup from
+ # settings in the database object
+ my $db_config = $database->{'directory'}."/DB_CONFIG";
+ if ( SCR->Read(".target.size", $db_config) > 0 ) {
+ SCR->Execute('.target.bash', 'rm -f '.$db_config );
+ }
+ # add DB_CONFIG settings to the database object
+ $rc = SCR->Write(".ldapserver.database.{1}.dbconfig", $dbconfig_defaults );
+
# add default ACLs
$rc = SCR->Write(".ldapserver.database.{-1}.acl", $defaultGlobalAcls );
$rc = SCR->Write(".ldapserver.database.{1}.acl", $defaultDbAcls );
@@ -1981,8 +2059,9 @@
# syncrepl related ACL and move it to the top. This is to ensure
# that syncrepl clients have read access to everything
my $syncrepl = $self->ReadSyncRepl( $dbIndex );
- if ( $syncrepl && scalar(keys %{$syncrepl}) && $syncrepl->{'binddn'} ne "" )
+ if ( @$syncrepl > 0 && scalar(keys %{$syncrepl->[0]}) && $syncrepl->[0]->{'binddn'} ne "" )
{
+ my $binddn = $syncrepl->[0]->{'binddn'};
my $acllist_sorted=[];
my $syncacl={};
my $found=0;
@@ -1996,7 +2075,7 @@
foreach my $access ( @{$rule->{'access'}} )
{
if ( $access->{'type'} eq "dn.base" &&
- lc($access->{'value'}) eq lc($syncrepl->{'binddn'} ) &&
+ lc($access->{'value'}) eq lc( $binddn ) &&
($access->{'level'} eq "read" || $access->{'level'} eq "write")
)
{
@@ -2214,46 +2293,38 @@
return YaST::YCP::Boolean(1);
}
-BEGIN { $TYPEINFO {ReadSyncRepl} = ["function", [ "map" , "string", "any" ], "integer" ]; }
+BEGIN { $TYPEINFO {ReadSyncRepl} = ["function", [ "list" , [ "map", "string", "any" ] ], "integer" ]; }
sub ReadSyncRepl
{
my ($self, $index) = @_;
y2milestone("ReadSyncRepl ", $index);
- my $syncrepl = SCR->Read(".ldapserver.database.{".$index."}.syncrepl" );
- y2debug( "SyncRepl: ".Data::Dumper->Dump([$syncrepl]) );
- if ( ! $syncrepl )
+ my $syncreplList = SCR->Read(".ldapserver.database.{".$index."}.syncrepl" );
+ y2debug( "SyncRepl: ".Data::Dumper->Dump([$syncreplList]) );
+ if ( ! $syncreplList )
{
my $err = SCR->Error(".ldapserver");
$self->SetError( $err->{'summary'}, $err->{'description'} );
return undef;
}
- if (defined $syncrepl->{'provider'} && defined $syncrepl->{'provider'}->{'port'} )
- {
- $syncrepl->{'provider'}->{'port'} = YaST::YCP::Integer( $syncrepl->{'provider'}->{'port'} );
- }
- if (defined $syncrepl->{'updateref'} )
+ foreach my $syncrepl (@{$syncreplList})
{
- if ( defined $syncrepl->{'updateref'}->{'port'} )
+ if (defined $syncrepl->{'provider'} && defined $syncrepl->{'provider'}->{'port'} )
{
- $syncrepl->{'updateref'}->{'port'} = YaST::YCP::Integer( $syncrepl->{'updateref'}->{'port'} );
+ $syncrepl->{'provider'}->{'port'} = YaST::YCP::Integer( $syncrepl->{'provider'}->{'port'} );
}
- if ( defined $syncrepl->{'updateref'}->{'use_provider'} )
+ if ( defined $syncrepl->{'interval'} )
{
- $syncrepl->{'updateref'}->{'use_provider'} = YaST::YCP::Boolean( $syncrepl->{'updateref'}->{'use_provider'} );
+ $syncrepl->{'interval'}->{'days'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'days'} );
+ $syncrepl->{'interval'}->{'hours'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'hours'} );
+ $syncrepl->{'interval'}->{'mins'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'mins'} );
+ $syncrepl->{'interval'}->{'secs'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'secs'} );
+ }
+ if ( defined $syncrepl->{'starttls'} )
+ {
+ $syncrepl->{'starttls'} = YaST::YCP::Boolean( $syncrepl->{'starttls'} );
}
}
- if ( defined $syncrepl->{'interval'} )
- {
- $syncrepl->{'interval'}->{'days'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'days'} );
- $syncrepl->{'interval'}->{'hours'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'hours'} );
- $syncrepl->{'interval'}->{'mins'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'mins'} );
- $syncrepl->{'interval'}->{'secs'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'secs'} );
- }
- if ( defined $syncrepl->{'starttls'} )
- {
- $syncrepl->{'starttls'} = YaST::YCP::Boolean( $syncrepl->{'starttls'} );
- }
- return $syncrepl;
+ return $syncreplList;
}
BEGIN { $TYPEINFO {WriteSyncRepl} = ["function", "boolean" , "integer", ["map", "string", "any" ] ]; }
@@ -2265,17 +2336,6 @@
{
$syncrepl->{'provider'}->{'port'} = YaST::YCP::Integer( $syncrepl->{'provider'}->{'port'} );
}
- if (defined $syncrepl->{'updateref'} )
- {
- if ( defined $syncrepl->{'updateref'}->{'port'} )
- {
- $syncrepl->{'updateref'}->{'port'} = YaST::YCP::Integer( $syncrepl->{'updateref'}->{'port'} );
- }
- if ( defined $syncrepl->{'updateref'}->{'use_provider'} )
- {
- $syncrepl->{'updateref'}->{'use_provider'} = YaST::YCP::Boolean( $syncrepl->{'updateref'}->{'use_provider'} );
- }
- }
if ( defined $syncrepl->{'interval'} )
{
$syncrepl->{'interval'}->{'days'} = YaST::YCP::Integer( $syncrepl->{'interval'}->{'days'} );
@@ -2316,6 +2376,70 @@
return YaST::YCP::Boolean(1);
}
+##
+ # Remove the Syncrepl Configuration matching the supplied URI from all databases
+ #
+ # @param The LDAP Url of the syncrepl consumer configuration to be deleted
+ #
+ # @return boolean True on success
+ #
+BEGIN { $TYPEINFO {RemoveMMSyncrepl} = ["function", "boolean", "string" ]; }
+sub RemoveMMSyncrepl
+{
+ my ( $self, $uri ) = @_;
+
+ my $dbs = $self->ReadDatabaseList();
+ for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
+ {
+ my $type = $dbs->[$i+1]->{'type'};
+ if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
+ {
+ SCR->Write(".ldapserver.database.{".$i."}.syncrepl.del", $uri );
+ }
+ # Disable MirrorMode if needed
+ my $syncrepl = SCR->Read(".ldapserver.database.{".$i."}.syncrepl" );
+ if ( scalar( @{$syncrepl} ) <= 1 )
+ {
+ SCR->Write(".ldapserver.database.{".$i."}.mirrormode", YaST::YCP::Boolean(0) );
+ }
+ }
+ SCR->Execute(".ldapserver.commitChanges" );
+
+ return YaST::YCP::Boolean(1);
+}
+
+BEGIN { $TYPEINFO {ReadUpdateRef} = ["function", [ "map" , "string", "any" ], "integer" ]; }
+sub ReadUpdateRef
+{
+ my ($self, $index) = @_;
+ y2milestone("ReadUpdateRef ", $index);
+ my $updateref = SCR->Read(".ldapserver.database.{".$index."}.updateref" );
+ y2debug( "SyncRepl: ".Data::Dumper->Dump([$updateref]) );
+ if ( defined $updateref->{'port'} )
+ {
+ $updateref->{'port'} = YaST::YCP::Integer( $updateref->{'port'} );
+ }
+ return $updateref;
+}
+
+BEGIN { $TYPEINFO {WriteUpdateRef} = ["function", "boolean" , "integer", ["map", "string", "any" ] ]; }
+sub WriteUpdateRef
+{
+ my ( $self, $dbindex, $updateref) = @_;
+ y2milestone("WriteUpdateref");
+ if ( defined $updateref->{'port'} )
+ {
+ $updateref->{'port'} = YaST::YCP::Integer( $updateref->{'port'} );
+ }
+ y2debug("Updateref: ".Data::Dumper->Dump([$updateref]) );
+ if ( ! SCR->Write(".ldapserver.database.{".$dbindex."}.updateref", $updateref ) )
+ {
+ my $err = SCR->Error(".ldapserver");
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return YaST::YCP::Boolean(0);
+ }
+}
+
BEGIN { $TYPEINFO {ReadSchemaList} = ["function", [ "list" , "string"] ]; }
sub ReadSchemaList
{
@@ -2602,13 +2726,7 @@
}
# add some defaults to DB_CONFIG
- my $dbconfig = [
- "set_cachesize 0 15000000 1",
- "set_lg_regionmax 262144",
- "set_lg_bsize 2097152",
- "set_flags DB_LOG_AUTOREMOVE"
- ];
- $rc = SCR->Write(".ldapserver.database.{$index}.dbconfig", $dbconfig );
+ $rc = SCR->Write(".ldapserver.database.{$index}.dbconfig", $dbconfig_defaults );
if(! $rc ) {
my $err = SCR->Error(".ldapserver");
y2error("Adding DB_CONFIG failed: ".$err->{'summary'}." ".$err->{'description'});
@@ -2866,9 +2984,17 @@
{
my ( $self ) = @_;
+ if ( $self->ReadSetupMirrorMode() )
+ {
+ y2milestone("Assigning new ServerID");
+ $self->AssignServerId( $syncreplbaseconfig->{'provider'}->{'target'} );
+ $self->AssignServerId();
+ }
+
my $dbs = $self->ReadDatabaseList();
for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
{
+ y2milestone("Checking SyncProvider Overlay configuration");
my $type = $dbs->[$i+1]->{'type'};
my $suffix = $dbs->[$i+1]->{'suffix'};
if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
@@ -2892,58 +3018,96 @@
for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
{
+ y2milestone("Checking SyncConsumer configuration");
my $type = $dbs->[$i+1]->{'type'};
my $suffix = $dbs->[$i+1]->{'suffix'};
if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
{
- my $cons = SCR->Read(".ldapserver.database.{".$i."}.syncrepl" );
- my $needsyncrepl = 0;
- if ( keys %{$cons} == 0 )
- {
- y2milestone("Database $i needs syncrepl config");
- $needsyncrepl = 1;
- }
- else
+ my $conslist = SCR->Read(".ldapserver.database.{".$i."}.syncrepl" );
+ my $needsyncrepl = 1;
+ my $needsyncreplMM = 1;
+ my %syncReplMM = %{$syncreplbaseconfig};
+ my $mmprovider = { 'protocol' => $syncreplbaseconfig->{'provider'}->{'protocol'},
+ 'target' => $self->ReadHostnameFQ(),
+ 'port' => $syncreplbaseconfig->{'provider'}->{'port'}
+ };
+ $syncReplMM{'provider'} = $mmprovider;
+ $syncReplMM{'basedn'} = $suffix;
+ y2milestone("MM syncrepl: ". Data::Dumper->Dump( [\%syncReplMM] ));
+ foreach my $cons ( @{$conslist} )
{
- my $provider = $cons->{'provider'};
- if ( $provider->{'target'} ne $syncreplbaseconfig->{'provider'}->{'target'} )
- {
- y2milestone("Provider Hostname doesn't match");
- $needsyncrepl = 1;
- }
- elsif ( $provider->{'port'} ne $syncreplbaseconfig->{'provider'}->{'port'}->value )
+ if ( SyncReplMatch( $cons, $syncreplbaseconfig ) )
{
- y2milestone("Provider Port doesn't match");
- $needsyncrepl = 1;
+ y2milestone("Syncrepl defintion already present");
+ $needsyncrepl = 0;
}
- elsif ( $provider->{'protocol'} ne $syncreplbaseconfig->{'provider'}->{'protocol'} )
+ if ( $self->ReadSetupMirrorMode() )
{
- y2milestone("Provider Protocol doesn't match");
- $needsyncrepl = 1;
+ if ( SyncReplMatch( $cons, \%syncReplMM ) )
+ {
+ y2milestone("Syncrepl defintion for MirrorMode already present");
+ $needsyncreplMM = 0;
+ }
}
- elsif ( $cons->{'binddn'} ne $syncreplbaseconfig->{'binddn'} )
+ else
{
- y2milestone("binddn doesn't match syncreplbaseconfig");
- $needsyncrepl = 1;
+ $needsyncreplMM = 0;
}
- elsif ( $cons->{'credentials'} ne $syncreplbaseconfig->{'credentials'} )
+ if ( !$needsyncreplMM && !$needsyncrepl )
{
- y2milestone("credentials don't match syncreplbaseconfig");
- $needsyncrepl = 1;
+ last;
}
}
- if ( $needsyncrepl )
+ if ( $needsyncrepl )
{
y2milestone("Adding syncrepl consumer configuration for database $i");
$syncreplbaseconfig->{'basedn'} = $suffix;
- SCR->Write(".ldapserver.database.{".$i."}.syncrepl", $syncreplbaseconfig );
+ SCR->Write(".ldapserver.database.{".$i."}.syncrepl.add", $syncreplbaseconfig );
+ }
+ if ( $self->ReadSetupMirrorMode() )
+ {
+ SCR->Write(".ldapserver.database.{".$i."}.mirrormode", YaST::YCP::Boolean(1) );
+ # Remove any existing updateRef, they don't make sense in a mirrormode setup
+ SCR->Write(".ldapserver.database.{".$i."}.updateref", {} );
+ if ( $needsyncreplMM )
+ {
+ my $mmprovider = { 'protocol' => $syncreplbaseconfig->{'provider'}->{'protocol'},
+ 'target' => $self->ReadHostnameFQ(),
+ 'port' => $syncreplbaseconfig->{'provider'}->{'port'}
+ };
+ $syncReplMM{'provider'} = $mmprovider;
+ $syncReplMM{'basedn'} = $suffix;
+ y2milestone("Database $i needs MM syncrepl.". Data::Dumper->Dump( [\%syncReplMM] ));
+
+ SCR->Write(".ldapserver.database.{".$i."}.syncrepl.add", \%syncReplMM );
+ }
}
+ }
+ }
+ if ( ! $self->ReadSetupMirrorMode() )
+ {
+ for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
+ {
+ y2milestone("Checking Update Referral");
+ my $type = $dbs->[$i+1]->{'type'};
+ my $suffix = $dbs->[$i+1]->{'suffix'};
+ if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
+ {
+ my $updateref = SCR->Read(".ldapserver.database.{".$i."}.updateref" );
+ if ( ! defined $updateref )
+ {
+ y2milestone("Adding Update Referral");
+ SCR->Write(".ldapserver.database.{".$i."}.updateref",
+ $syncreplbaseconfig->{'provider'} );
+ }
+ }
}
}
for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
{
+ y2milestone("Checking Database ACLs");
my $type = $dbs->[$i+1]->{'type'};
my $suffix = $dbs->[$i+1]->{'suffix'};
if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
@@ -2957,6 +3121,10 @@
else
{
my $acl = SCR->Read(".ldapserver.database.{".$i."}.acl" );
+ if ( ! $acl )
+ {
+ next;
+ }
y2debug("Database $i acl:". Data::Dumper->Dump([ $acl ]) );
my $needacl = 1;
foreach my $rule ( @{$acl} )
@@ -3027,6 +3195,7 @@
}
for ( my $i=0; $i < scalar(@{$dbs})-1; $i++)
{
+ y2milestone("Checking Database Limits");
my $type = $dbs->[$i+1]->{'type'};
my $suffix = $dbs->[$i+1]->{'suffix'};
if ( $type eq "config" || $type eq "bdb" || $type eq "hdb" )
@@ -3073,7 +3242,9 @@
}
}
}
+ y2milestone("Updating remote configuration");
SCR->Execute(".ldapserver.commitChanges" );
+ $masterldif = SCR->Execute(".ldapserver.dumpConfDb" );
SCR->Execute(".ldapserver.reset" );
$globals_initialized = 0;
@@ -3102,17 +3273,6 @@
{
$syncreplbaseconfig->{'starttls'} = YaST::YCP::Boolean($syncreplbaseconfig->{'starttls'} );
}
- if (defined $syncreplbaseconfig->{'updateref'} )
- {
- if ( defined $syncreplbaseconfig->{'updateref'}->{'port'} )
- {
- $syncreplbaseconfig->{'updateref'}->{'port'} = YaST::YCP::Integer( $syncreplbaseconfig->{'updateref'}->{'port'} );
- }
- if ( defined $syncreplbaseconfig->{'updateref'}->{'use_provider'} )
- {
- $syncreplbaseconfig->{'updateref'}->{'use_provider'} = YaST::YCP::Boolean( $syncreplbaseconfig->{'updateref'}->{'use_provider'} );
- }
- }
return 1;
}
@@ -3161,7 +3321,7 @@
}
##
- # @return true, if the current setup will creat a Syncrepl Master server
+ # @return true, if the current setup will create a Syncrepl Master server
# false otherwise
#
BEGIN { $TYPEINFO {ReadSetupMaster} = ["function", "boolean" ]; }
@@ -3171,6 +3331,40 @@
}
##
+ # Set "true" here if we are setting up a Syncrepl Master for acting as a
+ # MirrorMode Node. (it will result in a olcServerId being created)
+ # (this function is only useful for the installation wizards)
+ #
+ # @return true
+ #
+BEGIN { $TYPEINFO {WriteSetupMirrorMode} = ["function", "boolean", "boolean"]; }
+sub WriteSetupMirrorMode
+{
+ my ($self, $value) = @_;
+ $setupMirrorMode=$value;
+}
+
+##
+ # @return true, if the current setup will create a Syncrepl Mirror Mode Master
+ # false otherwise
+ #
+BEGIN { $TYPEINFO {ReadSetupMirrorMode} = ["function", "boolean" ]; }
+sub ReadSetupMirrorMode
+{
+ return $setupMirrorMode;
+}
+
+##
+ # @return true, if the currently connected server is member of a mirrormode setup
+ #
+BEGIN { $TYPEINFO {HasMirrorMode} = ["function", "boolean" ]; }
+sub HasMirrorMode
+{
+ my $self = shift;
+ return SCR->Read(".ldapserver.database.{0}.mirrormode" );
+}
+
+##
# Initializes the ldapserver agent to connect to a remote cn=config database
# @param A Map containing the details for the remote connections. Required keys:
# "provider": A Map with the keys "protocol" (can be "ldap" or "ldaps"),
@@ -3227,7 +3421,7 @@
if ( $rc->{'exit'} != 0 )
{
$self->SetError( _("Error while trying to verify the Server Certificate of the Provider server.\n").
- _("Please make sure that \"".$tls->{"caCertFile"}."\" constains the correct\nCA file to verify the remote Server Certificate."),
+ _("Please make sure that \"".$tls->{"caCertFile"}."\" contains the correct\nCA file to verify the remote Server Certificate."),
$rc->{'stderr'} );
return 0;
}
@@ -3246,5 +3440,39 @@
return 1;
}
+sub SyncReplMatch
+{
+ y2milestone("SyncReplMatch");
+ my ($syncrepl1, $syncrepl2) = @_;
+ my $ret = 1;
+
+ if ( $syncrepl1->{'provider'}->{'target'} ne $syncrepl2->{'provider'}->{'target'} )
+ {
+ y2debug("Provider Hostname doesn't match");
+ $ret = 0;
+ }
+ elsif ( $syncrepl1->{'provider'}->{'port'} ne $syncrepl2->{'provider'}->{'port'}->value )
+ {
+ y2debug("Provider Port doesn't match");
+ $ret = 0;
+ }
+ elsif ( $syncrepl1->{'provider'}->{'protocol'} ne $syncrepl2->{'provider'}->{'protocol'} )
+ {
+ y2debug("Provider Protocol doesn't match");
+ $ret = 0;
+ }
+ elsif ( $syncrepl1->{'binddn'} ne $syncrepl2->{'binddn'} )
+ {
+ y2debug("binddn doesn't match syncreplbaseconfig");
+ $ret = 0;
+ }
+ elsif ( $syncrepl1->{'credentials'} ne $syncrepl2->{'credentials'} )
+ {
+ y2debug("credentials don't match syncreplbaseconfig");
+ $ret = 0;
+ }
+ return $ret;
+}
+
1;
# EOF
Modified: trunk/ldap-server/src/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/Makefile.am?rev=…
==============================================================================
--- trunk/ldap-server/src/Makefile.am (original)
+++ trunk/ldap-server/src/Makefile.am Mon Nov 21 11:09:24 2011
@@ -6,6 +6,7 @@
client_DATA = \
ldap-server.ycp \
+ openldap-mirrormode.ycp \
ldap-server_auto.ycp \
ldap-server_proposal.ycp
@@ -15,10 +16,12 @@
widgets.ycp \
dialogs.ycp \
complex.ycp \
- tree_structure.ycp
+ tree_structure.ycp \
+ mirrormode-wizard.ycp
desktop_DATA = \
- ldap-server.desktop
+ ldap-server.desktop \
+ openldap-mirrormode.desktop
module_DATA = \
LdapServer.pm \
Modified: trunk/ldap-server/src/agent/SlapdConfigAgent.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/agent/SlapdConfi…
==============================================================================
--- trunk/ldap-server/src/agent/SlapdConfigAgent.cc (original)
+++ trunk/ldap-server/src/agent/SlapdConfigAgent.cc Mon Nov 21 11:09:24 2011
@@ -15,7 +15,7 @@
#define ANSWER 42
#define MAX_LENGTH_ID 5
-class SaslExternalHandler : SaslInteractionHandler
+class SaslExternalHandler : SaslInteractionHandler
{
public:
virtual void handleInteractions(const std::list<SaslInteraction*> &cb );
@@ -113,14 +113,7 @@
}
else if ( path->component_str(0) == "configAsLdif" )
{
- if ( arg.isNull() || !arg->asMap()->size())
- {
- return ConfigToLdif();
- }
- else
- {
- return ConfigToLdif(true);
- }
+ return ConfigToLdif();
}
} catch ( std::runtime_error e ) {
y2error("Error during Read: %s", e.what() );
@@ -210,6 +203,11 @@
}
else
{
+ TlsOptions tls = m_lc->getTlsOptions();
+ if ( ! argMap->value(YCPString("cacert")).isNull() )
+ {
+ tls.setOption( TlsOptions::CACERTFILE, argMap->value( YCPString("cacert"))->asString()->value_cstr() );
+ }
if ( argMap->value(YCPString("starttls"))->asBoolean()->value() )
{
m_lc->start_tls();
@@ -409,10 +407,59 @@
return YCPBoolean(false);
}
}
+ else if ( path->component_str(0) == "dumpConfDb" )
+ {
+ try {
+ StringList attrs;
+ attrs.add("*");
+ attrs.add("structuralObjectClass");
+ attrs.add("entryUUID");
+ attrs.add("creatorsName");
+ attrs.add("createTimestamp");
+ attrs.add("entryCSN");
+ attrs.add("modifiersName");
+ attrs.add("modifyTimestamp");
+ attrs.add("contextCSN");
+ LDAPSearchResults *sr = m_lc->search( "cn=config", LDAPConnection::SEARCH_SUB,
+ "objectclass=*", attrs );
+ std::ostringstream ldifStream;
+ LdifWriter ldif(ldifStream);
+ while ( LDAPEntry *e = sr->getNext() )
+ {
+ ldif.writeRecord( *e );
+ }
+ return YCPString( ldifStream.str() );
+ } catch ( LDAPException e ) {
+ std::string errstring = "Error while reading remote Database";
+ std::string details = e.getResultMsg() + ": " + e.getServerMsg();
+
+ lastError->add(YCPString("summary"),
+ YCPString(errstring) );
+ lastError->add(YCPString("description"), YCPString( details ) );
+ return YCPBoolean(false);
+ } catch ( std::runtime_error e ) {
+ lastError->add(YCPString("summary"),
+ YCPString("Error while trying to read remote Database") );
+ lastError->add(YCPString("description"),
+ YCPString(std::string( e.what() ) ) );
+ return YCPBoolean(false);
+ }
+ }
+ else if ( path->component_str(0) == "assignServerId" )
+ {
+ std::string url( arg->asString()->value_cstr() );
+ this->assignServerId( url );
+ }
else if ( path->component_str(0) == "waitForBackgroundTasks" )
{
- olc.waitForBackgroundTasks();
- return YCPBoolean(true);
+ bool ret = true;
+ try {
+ olc.waitForBackgroundTasks();
+ } catch ( std::runtime_error e ) {
+ ret = false;
+ }
+
+ return YCPBoolean(ret);
}
else if ( path->component_str(0) == "addRootSaslRegexp" )
{
@@ -542,11 +589,14 @@
if ( path->component_str(0) == "serverIds" )
{
YCPList resList;
- StringList serverIds = globals->getStringValues("olcserverid");
- for ( StringList::const_iterator i = serverIds.begin();
+ std::vector<OlcServerId> serverIds = globals->getServerIds();
+ for ( std::vector<OlcServerId>::const_iterator i = serverIds.begin();
i != serverIds.end(); i++ )
{
- resList.add(YCPString(*i));
+ YCPMap idMap;
+ idMap.add( YCPString("id"), YCPInteger( i->getServerId() ) );
+ idMap.add( YCPString("uri"), YCPString( i->getServerUri() ) );
+ resList.add( idMap );
}
return resList;
}
@@ -884,31 +934,32 @@
}
else if ( dbComponent == "syncrepl" )
{
- YCPMap resMap;
+ YCPList resList;
OlcSyncReplList srl = (*i)->getSyncRepl();
- if ( ! srl.empty() )
+ OlcSyncReplList::const_iterator sr;
+ for ( sr = srl.begin(); sr != srl.end(); sr++ )
{
- boost::shared_ptr<OlcSyncRepl> sr = *srl.begin();
- resMap.add( YCPString(OlcSyncRepl::RID), YCPInteger( sr->getRid() ));
+ YCPMap resMap;
+ resMap.add( YCPString(OlcSyncRepl::RID), YCPInteger( (*sr)->getRid() ));
std::string proto,host;
int port;
- sr->getProviderComponents(proto, host, port);
+ (*sr)->getProviderComponents(proto, host, port);
YCPMap providerMap;
providerMap.add( YCPString("protocol"), YCPString(proto) );
providerMap.add( YCPString("target"), YCPString(host) );
providerMap.add( YCPString("port"), YCPInteger(port) );
resMap.add( YCPString(OlcSyncRepl::PROVIDER), providerMap );
- resMap.add( YCPString(OlcSyncRepl::TYPE), YCPString( sr->getType() ));
- if ( sr->getStartTls() != OlcSyncRepl::StartTlsNo )
+ resMap.add( YCPString(OlcSyncRepl::TYPE), YCPString( (*sr)->getType() ));
+ if ( (*sr)->getStartTls() != OlcSyncRepl::StartTlsNo )
{
resMap.add( YCPString(OlcSyncRepl::STARTTLS), YCPBoolean( true ));
}
- if ( sr->getType() == "refreshOnly" )
+ if ( (*sr)->getType() == "refreshOnly" )
{
YCPMap intervalMap;
int d,h,m,s;
- sr->getInterval(d, h, m, s);
+ (*sr)->getInterval(d, h, m, s);
intervalMap.add( YCPString("days"), YCPInteger(d) );
intervalMap.add( YCPString("hours"), YCPInteger(h) );
intervalMap.add( YCPString("mins"), YCPInteger(m) );
@@ -916,41 +967,36 @@
resMap.add( YCPString( OlcSyncRepl::INTERVAL ), intervalMap );
}
- resMap.add( YCPString(OlcSyncRepl::BINDDN), YCPString( sr->getBindDn() ));
- resMap.add( YCPString(OlcSyncRepl::CREDENTIALS), YCPString( sr->getCredentials()));
- resMap.add( YCPString(OlcSyncRepl::BASE), YCPString( sr->getSearchBase()));
- std::string updateref((*i)->getStringValue("olcUpdateRef"));
- if (! updateref.empty() )
- {
- LDAPUrl updateUrl(updateref);
- YCPMap updaterefMap;
- std::string updateHost(updateUrl.getHost() );
- std::string updateProt(updateUrl.getScheme() );
- int updatePort(updateUrl.getPort() );
-
- // don't set updateref when using updateref == provideruri
- if ( updatePort != updatePort ||
- updateHost != host ||
- updateProt != proto )
- {
- updaterefMap.add( YCPString("protocol"), YCPString( updateUrl.getScheme() ) );
- updaterefMap.add( YCPString("target"), YCPString( updateUrl.getHost() ) );
- updaterefMap.add( YCPString("port"), YCPInteger( updateUrl.getPort() ) );
- updaterefMap.add( YCPString("use_provider"), YCPBoolean( false ) );
- }
- else
- {
- updaterefMap.add( YCPString("use_provider"), YCPBoolean( true ) );
- }
- resMap.add( YCPString("updateref"), updaterefMap );
- }
- else
- {
- resMap.add( YCPString("updateref"), YCPMap() );
- }
+ resMap.add( YCPString(OlcSyncRepl::BINDDN), YCPString( (*sr)->getBindDn() ));
+ resMap.add( YCPString(OlcSyncRepl::CREDENTIALS), YCPString( (*sr)->getCredentials()));
+ resMap.add( YCPString(OlcSyncRepl::BASE), YCPString( (*sr)->getSearchBase()));
+ resList.add(resMap);
+ }
+ return resList;
+ }
+ else if ( dbComponent == "updateref" )
+ {
+ YCPMap resMap;
+ std::string updateRefAttr( (*i)->getStringValue( "olcUpdateRef" ) );
+
+ if (! updateRefAttr.empty() )
+ {
+ LDAPUrl updateUrl(updateRefAttr);
+
+ resMap.add( YCPString("protocol"), YCPString( updateUrl.getScheme() ) );
+ resMap.add( YCPString("target"), YCPString( updateUrl.getHost() ) );
+ resMap.add( YCPString("port"), YCPInteger( updateUrl.getPort() ) );
+ }
+ else
+ {
+ resMap = YCPNull();
}
return resMap;
}
+ else if ( dbComponent == "mirrormode" )
+ {
+ return YCPBoolean((*i)->getMirrorMode());
+ }
else
{
lastError->add(YCPString("summary"), YCPString("Read Failed") );
@@ -1221,13 +1267,16 @@
if ( path->component_str(0) == "serverIds" )
{
YCPList ycpServerIds = arg->asList();
- StringList values;
+ std::vector<OlcServerId> serverids;
+
YCPList::const_iterator i;
for ( i = ycpServerIds.begin(); i != ycpServerIds.end(); i++ )
{
- values.add( (*i)->asString()->value_cstr() );
+ YCPMap yServerId = (*i)->asMap();
+ serverids.push_back( OlcServerId( yServerId->value( YCPString("id") )->asInteger()->value(),
+ yServerId->value( YCPString("uri") )->asString()->value_cstr() ) );
}
- globals->setStringValues("olcServerId", values);
+ globals->setServerIds(serverids);
}
}
@@ -1723,143 +1772,113 @@
ret = true;
}
else if ( dbComponent == "syncrepl" )
- {
- YCPMap argMap = arg->asMap();
- if ( argMap->size() > 0 )
+ {
+ if ( path->length() == 3 )
{
- ret = true;
- OlcSyncReplList srl = (*i)->getSyncRepl();
- boost::shared_ptr<OlcSyncRepl> sr;
- if ( srl.empty() )
- {
- sr = boost::shared_ptr<OlcSyncRepl>(new OlcSyncRepl());
- srl.push_back(sr);
-
- // find available rid (rid must be unique accross the server)
- OlcDatabaseList::const_iterator k;
- int largest_rid=0;
- for ( k = databases.begin(); k != databases.end() ; k++ )
+ std::string srComp = path->component_str(2);
+ y2milestone("Component '%s'", srComp.c_str());
+ if ( srComp == "add" )
+ {
+ YCPMap argMap = arg->asMap();
+ boost::shared_ptr<OlcSyncRepl> sr( new OlcSyncRepl() );
+ ret = this->ycpMap2SyncRepl( argMap, sr );
+ if ( ret )
{
- OlcSyncReplList srl1 = (*k)->getSyncRepl();
- if ( srl1.empty() )
- {
- continue;
- }
- boost::shared_ptr<OlcSyncRepl> sr1;
- int currid = (*srl1.begin())->getRid();
- if ( currid > largest_rid )
+ int rid = this->getNextRid();
+ y2milestone( "New Rid: %d", rid );
+ if ( rid )
{
- largest_rid=currid;
+ sr->setRid( rid );
+ (*i)->addSyncRepl(sr);
}
}
- sr->setRid(largest_rid+1);
}
- else
+ else if ( srComp == "del" )
{
- sr = *srl.begin();
- }
- YCPMap providerMap = argMap->value(YCPString("provider"))->asMap();
- std::string protocol( providerMap->value(YCPString("protocol"))->asString()->value_cstr() );
- std::string target( providerMap->value(YCPString("target"))->asString()->value_cstr() );
- int port = providerMap->value(YCPString("port"))->asInteger()->value();
- std::string type( argMap->value(YCPString("type"))->asString()->value_cstr() );
- std::string basedn( argMap->value(YCPString("basedn"))->asString()->value_cstr() );
- std::string binddn( argMap->value(YCPString("binddn"))->asString()->value_cstr() );
- std::string cred( argMap->value(YCPString("credentials"))->asString()->value_cstr() );
- bool starttls = argMap->value(YCPString("starttls"))->asBoolean()->value();
-
- LDAPUrl prvuri;
- prvuri.setScheme(protocol);
- prvuri.setHost(target);
- if ( ( protocol == "ldap" && port != 389 ) || ( protocol == "ldaps" && port != 636 ) )
- {
- prvuri.setPort(port);
- }
-
- sr->setType( type );
- sr->setProvider( prvuri );
- sr->setSearchBase( basedn );
- sr->setBindDn( binddn );
- sr->setCredentials( cred );
- // default retry (every 120 seconds)
- sr->setRetryString( "120 +" );
- sr->setTlsReqCert("demand");
-
- if ( starttls )
- {
- sr->setStartTls( OlcSyncRepl::StartTlsCritical );
- }
- else
- {
- sr->setStartTls( OlcSyncRepl::StartTlsNo );
- }
-
- if ( type == "refreshOnly" )
- {
- if ( argMap->value(YCPString("interval")).isNull() )
- {
- lastError->add(YCPString("summary"), YCPString("Writing SyncRepl config failed") );
- lastError->add(YCPString("description"), YCPString("\"RefreshOnly needs Interval\"") );
- ret = false;
- }
- else
+ LDAPUrl destUrl( std::string( arg->asString()->value_cstr() ) );
+ OlcSyncReplList srl = (*i)->getSyncRepl();
+ OlcSyncReplList::iterator j;
+ for ( j = srl.begin(); j != srl.end(); j++ )
{
- YCPMap ivMap = argMap->value(YCPString("interval"))->asMap();
- int days = ivMap->value(YCPString("days"))->asInteger()->value();
- int hours = ivMap->value(YCPString("hours"))->asInteger()->value();
- int mins = ivMap->value(YCPString("mins"))->asInteger()->value();
- int secs = ivMap->value(YCPString("secs"))->asInteger()->value();
-
- if ( days == 0 && hours == 0 && mins == 0 && secs == 0 )
+ std::string proto, target;
+ int port;
+ (*j)->getProviderComponents( proto, target, port );
+ if ( proto == destUrl.getScheme() &&
+ target == destUrl.getHost() &&
+ port == destUrl.getPort() )
{
- lastError->add(YCPString("summary"), YCPString("Writing SyncRepl config failed") );
- lastError->add(YCPString("description"), YCPString("\"Syncrepl Interval is 00:00:00\"") );
- ret = false;
- }
- else
- {
- sr->setInterval( days, hours, mins, secs );
+ srl.erase(j);
+ break;
}
}
+ (*i)->setSyncRepl( srl );
+ ret = true;
}
- (*i)->setSyncRepl(srl);
- if ( argMap->value(YCPString("updateref")).isNull() )
- {
- // set provider URL as updateref if no customer URI was supplied
- (*i)->setStringValue("olcUpdateRef", prvuri.getURLString() );
- }
- else
- {
- YCPMap updaterefMap = argMap->value(YCPString("updateref"))->asMap();
- if ( updaterefMap.size() > 0 )
+ }
+ else
+ {
+ // for backwards compatiblity
+ YCPMap argMap = arg->asMap();
+ if ( argMap->size() > 0 )
+ {
+ ret = true;
+ OlcSyncReplList srl = (*i)->getSyncRepl();
+ boost::shared_ptr<OlcSyncRepl> sr;
+ if ( srl.empty() )
{
- if ( !updaterefMap->value(YCPString("use_provider")).isNull() &&
- updaterefMap->value(YCPString("use_provider"))->asBoolean()->value() )
- {
- (*i)->setStringValue("olcUpdateRef", prvuri.getURLString() );
- }
- else
+ sr = boost::shared_ptr<OlcSyncRepl>(new OlcSyncRepl());
+ srl.push_back(sr);
+
+ // find available rid (rid must be unique accross the server)
+ OlcDatabaseList::const_iterator k;
+ int largest_rid=0;
+ for ( k = databases.begin(); k != databases.end() ; k++ )
{
- LDAPUrl updaterefUrl;
- updaterefUrl.setScheme( updaterefMap->value(YCPString("protocol"))->asString()->value_cstr() );
- updaterefUrl.setHost( updaterefMap->value(YCPString("target"))->asString()->value_cstr() );
- updaterefUrl.setPort( updaterefMap->value(YCPString("port"))->asInteger()->value() );
- (*i)->setStringValue("olcUpdateRef", updaterefUrl.getURLString() );
+ OlcSyncReplList srl1 = (*k)->getSyncRepl();
+ if ( srl1.empty() )
+ {
+ continue;
+ }
+ boost::shared_ptr<OlcSyncRepl> sr1;
+ int currid = (*srl1.begin())->getRid();
+ if ( currid > largest_rid )
+ {
+ largest_rid=currid;
+ }
}
+ sr->setRid(largest_rid+1);
}
else
{
- (*i)->setStringValue("olcUpdateRef", "" );
+ sr = *srl.begin();
}
+ ret = this->ycpMap2SyncRepl( argMap, sr );
+ (*i)->setSyncRepl(srl);
}
+ else
+ {
+ // clear syncrepl config
+ (*i)->setStringValue("olcSyncRepl", "" );
+ ret = true;
+ }
+ }
+ }
+ else if ( dbComponent == "updateref" )
+ {
+ YCPMap updaterefMap = arg->asMap();
+ if ( updaterefMap.size() > 0 )
+ {
+ LDAPUrl updaterefUrl;
+ updaterefUrl.setScheme( updaterefMap->value(YCPString("protocol"))->asString()->value_cstr() );
+ updaterefUrl.setHost( updaterefMap->value(YCPString("target"))->asString()->value_cstr() );
+ updaterefUrl.setPort( updaterefMap->value(YCPString("port"))->asInteger()->value() );
+ (*i)->setStringValue("olcUpdateRef", updaterefUrl.getURLString() );
}
else
{
- // clear syncrepl config
- (*i)->setStringValue("olcSyncRepl", "" );
(*i)->setStringValue("olcUpdateRef", "" );
- ret = true;
}
+ ret = true;
}
else if ( dbComponent == "dbconfig" )
{
@@ -1872,6 +1891,12 @@
(*i)->setStringValues("olcDbConfig", dbConfList );
ret = true;
}
+ else if ( dbComponent == "mirrormode" )
+ {
+ YCPBoolean argVal = arg->asBoolean();
+ (*i)->setMirrorMode( argVal->value() );
+ ret = true;
+ }
else
{
lastError->add(YCPString("summary"), YCPString("Write Failed") );
@@ -2113,7 +2138,7 @@
return YCPBoolean(false);
}
-YCPString SlapdConfigAgent::ConfigToLdif( bool resetCsn ) const
+YCPString SlapdConfigAgent::ConfigToLdif() const
{
y2milestone("ConfigToLdif");
std::ostringstream ldif;
@@ -2121,34 +2146,19 @@
{
throw std::runtime_error("Configuration not initialized. Can't create LDIF dump." );
}
- if ( resetCsn )
- {
- globals->setStringValue("entryCSN", "19700101000000.000000Z#000000#000#000000");
- // schemaBase entryCSN won't be resetted as it cause trouble during replication
- // of hardcoded schema values
- }
ldif << globals->toLdif() << std::endl;
if ( schemaBase )
{
- if ( resetCsn )
- schemaBase->setStringValue("entryCSN", "19700101000000.000000Z#000000#000#000000");
-
ldif << schemaBase->toLdif() << std::endl;
OlcSchemaList::const_iterator j;
for ( j = schema.begin(); j != schema.end() ; j++ )
{
- if ( resetCsn )
- (*j)->setStringValue("entryCSN", "19700101000000.000000Z#000000#000#000000");
-
ldif << (*j)->toLdif() << std::endl;
}
}
OlcDatabaseList::const_iterator i = databases.begin();
for ( ; i != databases.end(); i++ )
{
- if ( resetCsn )
- (*i)->setStringValue("entryCSN", "19700101000000.000000Z#000000#000#000000");
-
ldif << (*i)->toLdif() << std::endl;
OlcOverlayList overlays = (*i)->getOverlays();
OlcOverlayList::iterator k;
@@ -2297,3 +2307,171 @@
throw;
}
}
+
+class CompareUri
+{
+ private:
+ const std::string &theUri;
+
+ public:
+ CompareUri( const std::string &val ) : theUri(val) {}
+
+ bool operator() ( const OlcServerId &id ) const
+ {
+ return theUri == id.getServerUri();
+ }
+};
+
+class CompareId
+{
+ private:
+ int theId;
+
+ public:
+ CompareId( int val ) : theId(val) {}
+
+ bool operator() ( const OlcServerId &id ) const
+ {
+ return theId == id.getServerId();
+ }
+};
+
+void SlapdConfigAgent::assignServerId( const std::string &uri )
+{
+ // check if uri has already a Id assigned
+ std::vector<OlcServerId> serverIds = globals->getServerIds();
+
+ std::vector<OlcServerId>::const_iterator found;
+ found = find_if(serverIds.begin(), serverIds.end(), CompareUri(uri) );
+ if ( found != serverIds.end() )
+ {
+ y2milestone("Found ServerId %s", found->toStringVal().c_str() );
+ return;
+ }
+
+ for ( int j=1; j < 999; j++ )
+ {
+ found = find_if(serverIds.begin(), serverIds.end(), CompareId(j) );
+ if ( found == serverIds.end() )
+ {
+ y2milestone( "Free ServerId %d", j);
+ globals->addServerId( OlcServerId( j, uri ) );
+ return;
+ }
+ }
+}
+
+class CompareRid
+{
+ private:
+ int theRid;
+
+ public:
+ CompareRid( int val ) : theRid(val) {}
+
+ bool operator() ( const boost::shared_ptr<OlcSyncRepl> sr ) const
+ {
+ return theRid == sr->getRid();
+ }
+};
+
+int SlapdConfigAgent::getNextRid() const
+{
+ OlcDatabaseList::const_iterator i;
+ int rid;
+ for ( rid = 1; rid < 999; rid++ )
+ {
+ bool isFree = true;
+
+ for ( i = databases.begin(); i != databases.end() ; i++ )
+ {
+ OlcSyncReplList::const_iterator found;
+ OlcSyncReplList srl = (*i)->getSyncRepl();
+ found = find_if( srl.begin(), srl.end(), CompareRid(rid) );
+ if ( found != srl.end() )
+ {
+ isFree = false;
+ break;
+ }
+ }
+ if ( isFree )
+ {
+ return rid;
+ }
+ }
+ return 0;
+}
+
+bool SlapdConfigAgent::ycpMap2SyncRepl( const YCPMap &srMap, boost::shared_ptr<OlcSyncRepl> sr )
+{
+ bool ret = true;
+ YCPMap providerMap = srMap->value(YCPString("provider"))->asMap();
+ std::string protocol( providerMap->value(YCPString("protocol"))->asString()->value_cstr() );
+ std::string target( providerMap->value(YCPString("target"))->asString()->value_cstr() );
+ int port = providerMap->value(YCPString("port"))->asInteger()->value();
+ std::string type( srMap->value(YCPString("type"))->asString()->value_cstr() );
+ std::string basedn( srMap->value(YCPString("basedn"))->asString()->value_cstr() );
+ std::string binddn( srMap->value(YCPString("binddn"))->asString()->value_cstr() );
+ std::string cred( srMap->value(YCPString("credentials"))->asString()->value_cstr() );
+ bool starttls = false;
+ if (! srMap->value(YCPString("starttls")).isNull() )
+ {
+ starttls = srMap->value(YCPString("starttls"))->asBoolean()->value();
+ }
+
+ LDAPUrl prvuri;
+ prvuri.setScheme(protocol);
+ prvuri.setHost(target);
+ if ( ( protocol == "ldap" && port != 389 ) || ( protocol == "ldaps" && port != 636 ) )
+ {
+ prvuri.setPort(port);
+ }
+
+ sr->setType( type );
+ sr->setProvider( prvuri );
+ sr->setSearchBase( basedn );
+ sr->setBindDn( binddn );
+ sr->setCredentials( cred );
+ // default retry (every 120 seconds)
+ sr->setRetryString( "120 +" );
+ sr->setTlsReqCert("demand");
+
+ if ( starttls )
+ {
+ sr->setStartTls( OlcSyncRepl::StartTlsCritical );
+ }
+ else
+ {
+ sr->setStartTls( OlcSyncRepl::StartTlsNo );
+ }
+
+ if ( type == "refreshOnly" )
+ {
+ if ( srMap->value(YCPString("interval")).isNull() )
+ {
+ lastError->add(YCPString("summary"), YCPString("Writing SyncRepl config failed") );
+ lastError->add(YCPString("description"), YCPString("\"RefreshOnly needs Interval\"") );
+ ret = false;
+ }
+ else
+ {
+ YCPMap ivMap = srMap->value(YCPString("interval"))->asMap();
+ int days = ivMap->value(YCPString("days"))->asInteger()->value();
+ int hours = ivMap->value(YCPString("hours"))->asInteger()->value();
+ int mins = ivMap->value(YCPString("mins"))->asInteger()->value();
+ int secs = ivMap->value(YCPString("secs"))->asInteger()->value();
+
+ if ( days == 0 && hours == 0 && mins == 0 && secs == 0 )
+ {
+ lastError->add(YCPString("summary"), YCPString("Writing SyncRepl config failed") );
+ lastError->add(YCPString("description"), YCPString("\"Syncrepl Interval is 00:00:00\"") );
+ ret = false;
+ }
+ else
+ {
+ sr->setInterval( days, hours, mins, secs );
+ }
+ }
+ }
+ return ret;
+}
Modified: trunk/ldap-server/src/agent/SlapdConfigAgent.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/agent/SlapdConfi…
==============================================================================
--- trunk/ldap-server/src/agent/SlapdConfigAgent.h (original)
+++ trunk/ldap-server/src/agent/SlapdConfigAgent.h Mon Nov 21 11:09:24 2011
@@ -67,7 +67,7 @@
YCPBoolean WriteSchema( const YCPPath &path,
const YCPValue &arg = YCPNull(),
const YCPValue &opt = YCPNull());
- YCPString ConfigToLdif( bool resetCsn = false ) const;
+ YCPString ConfigToLdif() const;
bool remoteBindCheck( const YCPValue &arg );
bool remoteSyncCheck( const YCPValue &arg );
void startTlsCheck( LDAPConnection &c);
@@ -76,6 +76,9 @@
const std::string &bindpw);
void syncCheck( LDAPConnection &c,
const std::string &basedn );
+ void assignServerId( const std::string &uri );
+ int getNextRid() const;
+ bool ycpMap2SyncRepl( const YCPMap &srMap, boost::shared_ptr<OlcSyncRepl> sr );
private:
YCPMap lastError;
Modified: trunk/ldap-server/src/complex.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/complex.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/complex.ycp (original)
+++ trunk/ldap-server/src/complex.ycp Mon Nov 21 11:09:24 2011
@@ -99,7 +99,7 @@
LdapServer::InitDbDefaults();
return `initial;
}
- else if ( !serviceEnabled || !serviceRunning )
+ else if ( !serviceRunning )
{
symbol ret = Popup::AnyQuestion3( _("Existing configuration detected."),
_("You have an existing configuration, but the LDAP server is currently not running.
@@ -108,7 +108,7 @@
_("Restart"), Label::CancelButton(), _("New Configuration"), `focus_yes );
if ( ret == `yes )
{
- LdapServer::WriteServiceEnabled( true );
+ LdapServer::WriteRestartRequired( true );
return `reread;
}
else if (ret == `no )
Modified: trunk/ldap-server/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/dialogs.ycp?rev=…
==============================================================================
--- trunk/ldap-server/src/dialogs.ycp (original)
+++ trunk/ldap-server/src/dialogs.ycp Mon Nov 21 11:09:24 2011
@@ -112,14 +112,7 @@
{
//create new item
term widget = nil;
- if ( !LdapServer::ReadServiceEnabled() )
- {
- if ( name != "daemon" ) {
- Popup::Error( _("The LDAP Server is currently disabled, no configuration changes are possible.") );
- name = "daemon";
- }
- }
- else if ( !LdapServer::ReadServiceRunning() )
+ if ( !LdapServer::ReadServiceRunning() )
{
if ( name != "daemon" ) {
symbol ret = Popup::AnyQuestion3( _("The LDAP Server is not running."),
@@ -778,7 +771,8 @@
term widget =
`HSquash(
`VBox(
- `Heading( _("Slave server setup") ),
+ `Heading( _("Provider details") ),
+ `VSpacing(0.3),
`VSpacing(),
`VSquash(
`HBox(
@@ -799,7 +793,17 @@
)
),
`VSpacing(0.3),
- `Password( `id( `te_config_cred ), `opt(`hstretch), _("Administration Password for the \"cn=config\" Database"), "" )
+ `Password( `id( `te_config_cred ), `opt(`hstretch), _("Administration Password for the \"cn=config\" Database"), "" ),
+ `VSpacing(0.3),
+ `VSquash(
+ `HBox(
+ `InputField( `id( `te_ca_file ), `opt( `hstretch ), _("C&A Certificate File (PEM Format)") ),
+ `HSpacing( 0.5 ),
+ `Bottom(
+ `PushButton( `id( `pb_ca_file ), _("Bro&wse...") )
+ )
+ )
+ )
)
);
@@ -809,9 +813,12 @@
Label::BackButton(),
Label::NextButton() );
any ret = nil;
+ string cacert = "/etc/ssl/certs/YaST-CA.pem";
+
while ( true )
{
UI::ChangeWidget(`cb_start_tls, `Enabled, false );
+ UI::ChangeWidget(`te_ca_file, `Value, cacert );
map synbase = LdapServer::ReadSyncreplBaseConfig();
if ( size(synbase) > 0 )
{
@@ -829,8 +836,23 @@
ret = UI::UserInput();
}
y2milestone( "SlaveSetupDialog: seeing return value '%1'", ret );
- if ( ret == `next )
+ if( ret == `pb_ca_file )
+ {
+ string name = UI::AskForExistingFile( "/etc/ssl/certs", "*.pem *.crt *", _("Select CA Certificate File") );
+ if( name != nil )
+ {
+ cacert = name;
+ }
+ continue;
+ }
+ else if ( ret == `next )
{
+ if ( cacert == "" || cacert == nil )
+ {
+ Popup::Error( _("Please select a valid CA Certificate File") );
+ continue;
+ }
+
// test connection
map<string,any> provider = $[
"protocol" : (string)UI::QueryWidget( `cb_sync_prot, `Value ),
@@ -851,6 +873,11 @@
testparm = add(testparm, "basedn", "cn=config" );
testparm = add(testparm, "binddn", "cn=config" );
testparm = add(testparm, "credentials", (string)UI::QueryWidget(`te_config_cred, `Value) );
+ if ( cacert != "" && cacert != nil )
+ {
+ testparm = add( testparm, "cacert", cacert );
+ }
+
if (! LdapServer::ReadModeInstProposal() ) // Doing these checks during installation will
// most probably fail
{
@@ -876,13 +903,20 @@
continue;
}
// Check if the syncrepl config of cn=config makes sense
- map <string,any> syncrepl = LdapServer::ReadSyncRepl(0);
+ list<map<string,any> > srl = LdapServer::ReadSyncRepl(0);
+ map <string,any> syncrepl = srl[0]:$[];
if ( size(syncrepl) == 0 )
{
if (Popup::ContinueCancel( _("The Replication Configuration on the Provider Server is missing.\n") +
_("Click Continue to create it now.") ) )
{
- continue;
+ syncrepl = $[
+ "provider" : testparm["target"]:$[],
+ "starttls" : testparm["starttls"]:true,
+ "binddn" : testparm["binddn"]:"cn=config",
+ "credentials" : testparm["credentials"]:"",
+ "type" : "refreshAndPersist"
+ ];
}
else
{
@@ -893,34 +927,37 @@
else
{
// 1. Verify that the provider uri points to the provider itself
- map<string, any> provider = syncrepl["provider"]:$[];
- boolean setupok=true;
- if ( size(provider) > 0 )
+ if ( size(srl) == 1 ) // this test needs only be done in a non-MirrorMode setup
{
- if ( (string)provider["target"]:"" != (string)testparm["target","target"]:"" )
- {
- y2error("Provider target names do not match: <%1> vs. <%2>",
- (string)provider["target"]:"",(string)testparm["target","target"]:"");
- setupok=false;
- }
- if ( (string)provider["protocol"]:"" != (string)testparm["target","protocol"]:"" )
+ map<string, any> provider = syncrepl["provider"]:$[];
+ boolean setupok=true;
+ if ( size(provider) > 0 )
{
- y2error("Provider protocols do not match: <%1> vs. <%2>",
- (string)provider["protocol"]:"",(string)testparm["target","protocol"]:"");
- setupok=false;
- }
- if ( (integer)provider["port"]:0 != (integer)testparm["target","port"]:0 )
- {
- y2error("Provider ports do not match: <%1> vs. <%2>",
- (string)provider["port"]:"",(string)testparm["target","port"]:"");
- setupok=false;
- }
- if ( ! setupok )
- {
- Popup::Error( _("The Replication Configuration on the master server indicates that\nit is already acting as a Replication Consumer.\n") +
- _("Setting up cascaded replication of the cn=config is not supported currently.") );
- ret = `cancel;
- break;
+ if ( (string)provider["target"]:"" != (string)testparm["target","target"]:"" )
+ {
+ y2error("Provider target names do not match: <%1> vs. <%2>",
+ (string)provider["target"]:"",(string)testparm["target","target"]:"");
+ setupok=false;
+ }
+ if ( (string)provider["protocol"]:"" != (string)testparm["target","protocol"]:"" )
+ {
+ y2error("Provider protocols do not match: <%1> vs. <%2>",
+ (string)provider["protocol"]:"",(string)testparm["target","protocol"]:"");
+ setupok=false;
+ }
+ if ( (integer)provider["port"]:0 != (integer)testparm["target","port"]:0 )
+ {
+ y2error("Provider ports do not match: <%1> vs. <%2>",
+ (string)provider["port"]:"",(string)testparm["target","port"]:"");
+ setupok=false;
+ }
+ if ( ! setupok )
+ {
+ Popup::Error( _("The Replication Configuration on the master server indicates that\nit is already acting as a Replication Consumer.\n") +
+ _("Setting up cascaded replication of the cn=config is not supported currently.") );
+ ret = `cancel;
+ break;
+ }
}
}
// 2. Verify that the binddn/credential combination acutally works
@@ -980,7 +1017,8 @@
"provider" : testparm["target"]:$[],
"starttls" : testparm["starttls"]:true,
"binddn" : testparm["binddn"]:"cn=config",
- "credentials" : testparm["credentials"]:""
+ "credentials" : testparm["credentials"]:"",
+ "type" : "refreshAndPersist"
];
LdapServer::WriteSyncreplBaseConfig( syncrepl );
}
@@ -1046,7 +1084,11 @@
`VSpacing( 0.5 ),
`Password( `id( `te_rootpw ), `opt( `hstretch ), _("Enter new &Password") ),
`VSpacing( 0.5 ),
- `Password( `id( `te_valid_rootpw ), `opt( `hstretch ), _("&Validate Password") )
+ `Password( `id( `te_valid_rootpw ), `opt( `hstretch ), _("&Validate Password") ),
+ `VSpacing( 0.5 ),
+ `Left(
+ `CheckBox( `id( `cb_mirror_mode ), _("Prepare for MirrorMode replication (generates the serverId attribute)") )
+ )
)
)
);
@@ -1082,6 +1124,7 @@
map <string, any> defaults = LdapServer::CreateInitialDefaults();
defaults["configpw"] = pw;
LdapServer::SetInitialDefaults(defaults);
+ LdapServer::WriteSetupMirrorMode( (boolean)UI::QueryWidget( `cb_mirror_mode, `Value ) );
break;
}
}
Modified: trunk/ldap-server/src/helps.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/helps.ycp?rev=66…
==============================================================================
--- trunk/ldap-server/src/helps.ycp (original)
+++ trunk/ldap-server/src/helps.ycp Mon Nov 21 11:09:24 2011
@@ -298,12 +298,14 @@
"master_setup_dialog" :
_("<p>Enter a password for the configuration database (\"<i>cn=config</i>\") here. This is required to make
-the configuration database accessible remotely.</p>"),
+the configuration database accessible remotely.</p>") +
+ _("<p>If the server is supposed to participate in a MirrorMode setup, select the \"<b>Prepare for MirrorMode replication</b>\"
+checkbox. This will ensure that the serverId Attribute is generated as needed for MirrorMode replication.</p>"),
"slave_dialog" :
_("<p>To setup a slave server some details need to be queried from the master server. Please enter the master
server's hostname, adjust the protocol (either \"<i>ldap</i>\" or \"<i>ldaps</i>\") and port number as needed and enter the password
-for the master's configuration database (\"<i>cn=config</i>\").</p>"),
+for the master's configuration database (\"<i>cn=config</i>\").</p>")
];
/* EOF */
Modified: trunk/ldap-server/src/lib/slapd-config.cpp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/lib/slapd-config…
==============================================================================
--- trunk/ldap-server/src/lib/slapd-config.cpp (original)
+++ trunk/ldap-server/src/lib/slapd-config.cpp Mon Nov 21 11:09:24 2011
@@ -55,6 +55,10 @@
return false;
}
+static std::string db_sort_attrs[] = { "olcSyncRepl", "olcMirrorMode" };
+const std::list<std::string> OlcConfigEntry::orderedAttrs;
+const std::list<std::string> OlcDatabase::orderedAttrs(db_sort_attrs, db_sort_attrs + sizeof(db_sort_attrs) / sizeof(std::string) );
+
bool OlcConfigEntry::isDatabaseEntry ( const LDAPEntry& e )
{
StringList oc = e.getAttributeByName("objectclass")->getValues();
@@ -267,7 +271,8 @@
LDAPModList OlcConfigEntry::entryDifftoMod() const {
LDAPAttributeList::const_iterator i = m_dbEntry.getAttributes()->begin();
- LDAPModList modifications;
+ std::list<LDAPModification> modlist;
+
log_it(SLAPD_LOG_INFO, "Old Entry DN: " + m_dbEntry.getDN());
log_it(SLAPD_LOG_INFO,"New Entry DN: " + m_dbEntryChanged.getDN());
for(; i != m_dbEntry.getAttributes()->end(); i++ )
@@ -315,27 +320,27 @@
if ( delValues.size() > 0 ) {
if ( (addValues.size() > 0) && ( (int)delValues.size() == i->getNumValues()) ) {
log_it(SLAPD_LOG_INFO,"All Values deleted, this is a replace" );
- modifications.addModification(
+ modlist.push_back(
LDAPModification( LDAPAttribute(i->getName(), addValues),
LDAPModification::OP_REPLACE)
);
replace = true;
} else {
- modifications.addModification(
+ modlist.push_back(
LDAPModification( LDAPAttribute(i->getName(), delValues ),
LDAPModification::OP_DELETE)
);
}
}
if (addValues.size() > 0 && !replace ) {
- modifications.addModification(
+ modlist.push_back(
LDAPModification( LDAPAttribute(i->getName(), addValues),
LDAPModification::OP_ADD)
);
}
} else {
log_it(SLAPD_LOG_INFO,"removed Attribute: " + i->getName() );
- modifications.addModification(
+ modlist.push_back(
LDAPModification( LDAPAttribute(i->getName()),
LDAPModification::OP_DELETE)
);
@@ -350,13 +355,33 @@
log_it(SLAPD_LOG_INFO,"Attribute added: " + i->getName());
if (! i->getValues().empty() )
{
- modifications.addModification(
+ modlist.push_back(
LDAPModification( LDAPAttribute(i->getName(), i->getValues()),
LDAPModification::OP_ADD)
);
}
}
}
+ LDAPModList modifications;
+ std::list<std::string>::const_iterator k;
+ std::list<LDAPModification>::iterator j;
+ for ( k = this->getOrderedAttrs()->begin(); k != this->getOrderedAttrs()->end(); k++ )
+ {
+ log_it( SLAPD_LOG_INFO, "ordered Attribute " + *k );
+ for ( j = modlist.begin(); j != modlist.end(); j++ )
+ {
+ if ( strCaseIgnoreEquals(*k, j->getAttribute()->getName() ) )
+ {
+ modifications.addModification( *j );
+ modlist.erase( j );
+ break;
+ }
+ }
+ }
+ for ( j = modlist.begin(); j != modlist.end(); j++ )
+ {
+ modifications.addModification( *j );
+ }
return modifications;
}
@@ -927,10 +952,14 @@
const std::string OlcSyncRepl::STARTTLS="starttls";
const std::string OlcSyncRepl::RETRY="retry";
const std::string OlcSyncRepl::TLS_REQCERT="tls_reqcert";
+const std::string OlcSyncRepl::TIMEOUT="timeout";
+const std::string OlcSyncRepl::NETWORK_TIMEOUT="network-timeout";
OlcSyncRepl::OlcSyncRepl( const std::string &syncreplLine):
- rid(1),
+ rid(1),
bindmethod("simple"),
+ networkTimeout(0),
+ timeout(0),
starttls( OlcSyncRepl::StartTlsNo )
{
log_it(SLAPD_LOG_DEBUG, "OlcSyncRepl::OlcSyncRepl(" + syncreplLine + ")");
@@ -1029,6 +1058,16 @@
{
this->setTlsReqCert(value);
}
+ else if ( key == NETWORK_TIMEOUT )
+ {
+ std::istringstream s(value);
+ s >> networkTimeout;
+ }
+ else if ( key == TIMEOUT )
+ {
+ std::istringstream s(value);
+ s >> timeout;
+ }
else
{
otherValues.push_back(make_pair(key, value));
@@ -1070,6 +1109,15 @@
<< "binddn=\"" << this->binddn << "\" "
<< "credentials=\"" << this->credentials << "\"";
+ if ( this->networkTimeout )
+ {
+ srlStream << " network-timeout=" << this->networkTimeout;
+ }
+ if ( this->timeout )
+ {
+ srlStream << " timeout=" << this->timeout;
+ }
+
std::vector<std::pair<std::string,std::string> >::const_iterator i;
for ( i = otherValues.begin(); i != otherValues.end(); i++ )
{
@@ -1137,6 +1185,16 @@
tlsReqCert = value;
}
+void OlcSyncRepl::setNetworkTimeout( int value )
+{
+ networkTimeout = value;
+}
+
+void OlcSyncRepl::setTimeout( int value )
+{
+ timeout = value;
+}
+
int OlcSyncRepl::getRid() const
{
return rid;
@@ -1192,6 +1250,16 @@
return tlsReqCert;
}
+int OlcSyncRepl::getNetworkTimeout() const
+{
+ return networkTimeout;
+}
+
+int OlcSyncRepl::getTimeout() const
+{
+ return timeout;
+}
+
OlcSecurity::OlcSecurity(const std::string &securityVal)
{
log_it(SLAPD_LOG_DEBUG, "OlcSecurity::OlcSecurity(" + securityVal + ")");
@@ -1282,7 +1350,42 @@
}
}
+OlcServerId::OlcServerId( const std::string &idVal )
+{
+ std::istringstream serverIdStr( idVal );
+
+ serverIdStr >> serverId;
+ serverIdStr >> serverUri;
+}
+
+std::string OlcServerId::toStringVal() const
+{
+ std::ostringstream ostr;
+
+ ostr << serverId << " " << serverUri;
+
+ return ostr.str();
+}
+
+int OlcServerId::getServerId() const
+{
+ return serverId;
+}
+
+std::string OlcServerId::getServerUri() const
+{
+ return serverUri;
+}
+
+void OlcServerId::setServerId( int id )
+{
+ serverId = id;
+}
+void OlcServerId::setServerUri( const std::string &uri )
+{
+ serverUri = uri;
+}
OlcDatabase::OlcDatabase( const LDAPEntry& le=LDAPEntry()) : OlcConfigEntry(le)
{
@@ -1329,11 +1432,28 @@
this->setStringValue("olcRootPW", rootpw);
}
+void OlcDatabase::setMirrorMode( bool mm )
+{
+ if ( mm )
+ {
+ this->setStringValue( "olcMirrorMode", "TRUE" );
+ }
+ else if ( ! this->getStringValue( "olcMirrorMode" ).empty() )
+ {
+ this->setStringValue( "olcMirrorMode", "" );
+ }
+}
+
const std::string OlcDatabase::getSuffix() const
{
return this->getStringValue("olcSuffix");
}
+bool OlcDatabase::getMirrorMode() const
+{
+ return ( this->getStringValue( "olcMirrorMode" ) == "TRUE" );
+}
+
const std::string OlcDatabase::getType() const
{
return this->m_type;
@@ -1455,14 +1575,12 @@
}
StringList values = srAttr->getValues();
- if ( values.size() != 1 )
- {
- log_it(SLAPD_LOG_ERR, "Multiple syncrepl statements");
- }
- else
+ for ( StringList::const_iterator i = values.begin();
+ i != values.end();
+ i++ )
{
std::string syncreplLine;
- splitIndexFromString( *values.begin(), syncreplLine );
+ splitIndexFromString( *i, syncreplLine );
try {
boost::shared_ptr<OlcSyncRepl> syncrepl( new OlcSyncRepl(syncreplLine) );
res.push_back(syncrepl);
@@ -1487,6 +1605,11 @@
this->addIndexedStringValue( "olcSyncrepl", value, index );
}
+void OlcDatabase::addSyncRepl( const boost::shared_ptr<OlcSyncRepl> sr, int index )
+{
+ this->addSyncRepl( sr->toSyncReplLine(), index );
+}
+
void OlcDatabase::setSyncRepl( const OlcSyncReplList& srl )
{
this->setStringValue("olcSyncRepl", "" );
@@ -1495,7 +1618,7 @@
int j = 0;
for ( i = srl.begin(); i != srl.end(); i++,j++ )
{
- this->addSyncRepl( (*i)->toSyncReplLine(), j );
+ this->addSyncRepl( *i, j );
}
}
@@ -1898,6 +2021,37 @@
tls.applySettings( *this );
}
+const std::vector<OlcServerId> OlcGlobalConfig::getServerIds() const
+{
+ const StringList values = this->getStringValues("olcServerId");
+
+ std::vector<OlcServerId> v_serverIds;
+ StringList::const_iterator i;
+ for ( i = values.begin(); i != values.end(); i++ )
+ {
+ v_serverIds.push_back( OlcServerId(*i) );
+ }
+ return v_serverIds;
+}
+
+void OlcGlobalConfig::setServerIds(const std::vector<OlcServerId> &serverIds)
+{
+ StringList values;
+
+ std::vector<OlcServerId>::const_iterator i;
+
+ for ( i = serverIds.begin(); i != serverIds.end(); i++ )
+ {
+ values.add( i->toStringVal() );
+ }
+ this->setStringValues( "olcServerId", values );
+}
+
+void OlcGlobalConfig::addServerId(const OlcServerId &serverId)
+{
+ this->addStringValue( "olcServerId", serverId.toStringVal() );
+}
+
const std::string OlcSchemaConfig::schemabase = "cn=schema,cn=config";
OlcSchemaConfig::OlcSchemaConfig() : OlcConfigEntry()
@@ -2222,7 +2376,9 @@
void OlcConfig::waitForBackgroundTasks()
{
try {
- LDAPModification mod( LDAPAttribute("objectClass", "olcGlobal"), LDAPModification::OP_ADD );
+ boost::shared_ptr<OlcGlobalConfig> globals = this->getGlobals();
+ std::string attrval = globals->getStringValue("olcArgsFIle");
+ LDAPModification mod( LDAPAttribute("olcArgsFIle", attrval), LDAPModification::OP_ADD );
LDAPModList ml;
ml.addModification(mod);
m_lc->modify( "cn=config", &ml );
Modified: trunk/ldap-server/src/lib/slapd-config.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/lib/slapd-config…
==============================================================================
--- trunk/ldap-server/src/lib/slapd-config.h (original)
+++ trunk/ldap-server/src/lib/slapd-config.h Mon Nov 21 11:09:24 2011
@@ -85,10 +85,15 @@
protected:
virtual void resetMemberAttrs() {};
virtual void updateEntryDn( bool origEntry = false);
+ virtual const std::list<std::string>* getOrderedAttrs() const {
+ return &orderedAttrs;
+ }
int entryIndex;
LDAPEntry m_dbEntry;
LDAPEntry m_dbEntryChanged;
+
+ static const std::list<std::string> orderedAttrs;
};
enum IndexType {
@@ -272,6 +277,8 @@
const static std::string STARTTLS;
const static std::string RETRY;
const static std::string TLS_REQCERT;
+ const static std::string TIMEOUT;
+ const static std::string NETWORK_TIMEOUT;
std::string toSyncReplLine() const;
@@ -286,6 +293,8 @@
void setStartTls( StartTls tls );
void setRetryString( const std::string &value );
void setTlsReqCert( const std::string &value );
+ void setNetworkTimeout( int sec );
+ void setTimeout( int sec );
int getRid() const;
LDAPUrl getProvider() const;
@@ -297,6 +306,8 @@
void getInterval( int &days, int &hours, int &mins, int &secs ) const;
StartTls getStartTls() const;
std::string getTlsReqCert() const;
+ int getNetworkTimeout() const;
+ int getTimeout() const;
private:
int rid;
@@ -312,6 +323,8 @@
int refreshOnlyHours;
int refreshOnlyMins;
int refreshOnlySecs;
+ int networkTimeout;
+ int timeout;
std::vector<std::pair<std::string, std::string> > otherValues;
StartTls starttls;
};
@@ -329,6 +342,24 @@
std::map<std::string, int> secMap;
};
+class OlcServerId
+{
+ public:
+ OlcServerId( const std::string &idVal );
+ OlcServerId( int id, const std::string &uri ) : serverId( id ), serverUri( uri ) {}
+
+ std::string toStringVal() const;
+ int getServerId() const;
+ std::string getServerUri() const;
+
+ void setServerId( int id );
+ void setServerUri( const std::string &uri );
+
+ private:
+ int serverId;
+ std::string serverUri;
+};
+
typedef std::list<boost::shared_ptr<OlcOverlay> > OlcOverlayList;
typedef std::list<boost::shared_ptr<OlcAccess> > OlcAccessList;
typedef std::list<boost::shared_ptr<OlcLimits> > OlcLimitList;
@@ -347,9 +378,11 @@
void setSuffix( const std::string &suffix);
void setRootDn( const std::string &rootdn);
void setRootPw( const std::string &rootpw);
+ void setMirrorMode( bool mm );
const std::string getSuffix() const;
const std::string getType() const;
+ bool getMirrorMode() const;
bool getAcl( OlcAccessList& accessList ) const;
virtual void addAccessControl( const std::string& acl, int index=-1 );
@@ -361,6 +394,7 @@
OlcSyncReplList getSyncRepl() const;
void setSyncRepl( const OlcSyncReplList& srl );
void addSyncRepl( const std::string& value, int index=-1 );
+ void addSyncRepl( const boost::shared_ptr<OlcSyncRepl> sr, int index=-1 );
void addOverlay(boost::shared_ptr<OlcOverlay> overlay);
OlcOverlayList& getOverlays() ;
@@ -368,8 +402,13 @@
protected:
virtual void resetMemberAttrs();
virtual void updateEntryDn( bool origEntry = false );
+ virtual const std::list<std::string>* getOrderedAttrs() const {
+ return &orderedAttrs;
+ }
std::string m_type;
OlcOverlayList m_overlays;
+
+ static const std::list<std::string> orderedAttrs;
};
class OlcBdbDatabase : public OlcDatabase
@@ -413,6 +452,10 @@
OlcTlsSettings getTlsSettings() const;
void setTlsSettings( const OlcTlsSettings& tls);
+
+ const std::vector<OlcServerId> getServerIds() const;
+ void setServerIds(const std::vector<OlcServerId> &serverIds);
+ void addServerId(const OlcServerId &serverId);
};
class OlcSchemaConfig : public OlcConfigEntry
Copied: trunk/ldap-server/src/mirrormode-wizard.ycp (from r64416, branches/SuSE-Code-11-SP2-Branch/ldap-server/src/mirrormode-wizard.ycp)
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/mirrormode-wizar…
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/ldap-server/src/mirrormode-wizard.ycp (original)
+++ trunk/ldap-server/src/mirrormode-wizard.ycp Mon Nov 21 11:09:24 2011
@@ -14,14 +14,134 @@
import "Sequencer";
import "Wizard";
+import "URL";
include "ldap-server/complex.ycp";
include "ldap-server/dialogs.ycp";
+include "ldap-server/wizards.ycp";
+
+caption = "OpenLDAP MirrorMode Configuration";
+term dlg_mm_overview =
+ `HSquash(
+ `VBox(
+ `Heading( _("MirrorMode Node List") ),
+ `VSpacing(),
+ `VBox(
+ `VBox(
+ `MinSize( 60, 7,
+ `Table( `id( `serverid_tab ),`opt(`keepSorting), `header(_("Server ID"), _("Server URI") ) )
+ ),
+ `Left(
+ `HBox(
+ `PushButton( `id( `pb_del ), Label::DeleteButton() )
+ )
+ )
+ )
+ )
+ )
+ );
+
+term dlg_nomm_message =
+ `HSquash(
+ `VBox(
+ `Label( _("This server is not setup as a MirrorMode Node. "
+ "Click \"Next\" to launch the standard OpenLDAP configuration wizard.") )
+ )
+ );
+
+any MirrorModeOverview()
+{
+ any ret = nil;
+ map event = $[];
+ if( ! LdapServer::HasMirrorMode() )
+ {
+ Wizard::SetContentsButtons( caption, dlg_nomm_message,
+ HELPS["service_dialog"]:"help not found",
+ Label::BackButton(), Label::NextButton() );
+ Wizard::HideBackButton();
+ Wizard::SetAbortButton(`abort, Label::CancelButton());
+
+ while( true )
+ {
+ event = UI::WaitForEvent ();
+
+ ret = event["ID"]:nil;
+ if( ret == `abort || ret == `cancel) break;
+ else if ( ret == `next )
+ {
+ ret = `nomirror;
+ break;
+ }
+ }
+ return ret;
+ }
+ string caption = _("OpenLDAP MirrorMode Overview");
+ Wizard::SetContentsButtons( caption, dlg_mm_overview,
+ HELPS["service_dialog"]:"help not found",
+ Label::BackButton(), Label::OKButton() );
+ Wizard::HideBackButton();
+ Wizard::SetAbortButton(`abort, Label::CancelButton());
+
+ list<map<string,any> > serverids = LdapServer::ReadServerIds();
+ integer pos = -1;
+ list itemlist = maplist (map v, serverids,
+ {
+ pos=pos+1;
+ return `item( `id(pos), v["id"]:-1 , v["uri"]:"");
+ }
+ );
+
+ UI::ChangeWidget( `serverid_tab, `Items, itemlist) ;
+ while( true )
+ {
+ event = UI::WaitForEvent ();
+ ret = event["ID"]:nil;
+
+ if ( ret == `back || ret == `abort || ret == `cancel ||
+ ret == `next || ret == `finish )
+ {
+ break;
+ }
+ else if ( ret == `pb_del )
+ {
+ integer selected = (integer) UI::QueryWidget( `serverid_tab, `CurrentItem );
+ if ( selected != nil )
+ {
+ y2milestone("Delete Server: %1", serverids[selected]:$[] );
+ map url = URL::Parse( serverids[selected,"uri"]:"" );
+ if ( (string)url["host"]:"" == LdapServer::ReadHostnameFQ() )
+ {
+ Popup::Error( _("Deleting the Host on which you started this YaST Module is not possible.\n") +
+ _("Please start yast2 openldap-mirrormode on a different MirrorMode server.") );
+ continue;
+ }
+
+ if( Popup::YesNo( _("Do you really want to remove ") +
+ "\"" + serverids[ selected, "uri" ]:"" + "\"" +
+ _("From the MirrorMode setup?\n" ) +
+ _("Changes will take effect immediately after clicking \"Yes\"") ) )
+ {
+ LdapServer::RemoveMMSyncrepl( serverids[ selected, "uri" ]:"" );
+ serverids = remove( serverids, selected );
+ LdapServer::WriteServerIds( serverids );
+ itemlist = maplist (map v, serverids,
+ {
+ pos=pos+1;
+ return `item( `id(pos), v["id"]:-1 , v["uri"]:"");
+ }
+ );
+ UI::ChangeWidget( `serverid_tab, `Items, itemlist) ;
+ Wizard::HideAbortButton();
+ }
+ }
+ }
+ }
+
+ return ret;
+}
any MirrorModeSequence() {
- /* Initialization dialog caption */
- string caption = _("LDAP Server Configuration");
/* Initialization dialog contents */
term contents = `Label(_("Initializing..."));
@@ -33,15 +153,22 @@
LdapServer::WriteSetupSlave(true);
LdapServer::WriteSetupMirrorMode(true);
map aliases = $[
- "startup" : ``( EnableServiceDialog() ),
+ "read" : ``( ReadDialog() ),
+ "newnode" : ``( EnableServiceDialog() ),
"slavesetup" : ``( SlaveSetupDialog() ),
"replicationsummary": ``( ReplicatonSetupSummaryDialog() ),
+ "main" : ``( MirrorModeOverview() ),
"write" : ``( WriteDialog() )
];
map sequence = $[
- "ws_start" : "startup",
- "startup" : $[
+ "ws_start" : "read",
+ "read" : $[
+ `abort : `abort,
+ `initial : "newnode",
+ `next : "main",
+ ],
+ "newnode" : $[
`next : "slavesetup",
`abort : `abort,
`finish : `disable
@@ -52,20 +179,30 @@
"replicationsummary" : $[
`next : "write"
],
+ "main" : $[
+ `abort : `abort,
+ `next : "write",
+ `nomirror : `nomirror,
+ `reread : "read"
+ ],
"write" : $[
`abort : `abort,
`next : `next
]
];
- y2milestone( "--> starting ProposalSequence" );
+ y2milestone( "--> starting MirrorModeSequence" );
any ret = Sequencer::Run(aliases, sequence);
- y2milestone( "<-- ProposalSequence finished " );
+ y2milestone( "<-- MirrorModeSequence finished " );
UI::CloseDialog();
+ if ( ret == `nomirror )
+ {
+ ret = LdapServerSequence();
+ }
return ret;
}
}
Modified: trunk/ldap-server/src/tree_structure.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/src/tree_structure.y…
==============================================================================
--- trunk/ldap-server/src/tree_structure.ycp (original)
+++ trunk/ldap-server/src/tree_structure.ycp Mon Nov 21 11:09:24 2011
@@ -93,9 +93,6 @@
else
{
UI::ChangeWidget( `rb_service_enable, `CurrentButton, `rb_no );
- UI::ChangeWidget( `cb_register_slp, `Enabled, false );
- UI::ChangeWidget( `fr_listener, `Enabled, false );
- UI::ChangeWidget( `fr_firewall, `Enabled, false );
}
if ( LdapServer::ReadSLPEnabled() )
{
@@ -132,27 +129,6 @@
return true;
}
-define boolean cb_input_daemon()
-``{
- y2milestone("calling input handler for item \"daemon\"");
- y2milestone("Handlercmd = %1", handler_cmd);
-
- if ( handler_cmd == `rb_no ) // service was just disabled
- {
- UI::ChangeWidget( `cb_register_slp, `Enabled, false );
- UI::ChangeWidget( `fr_listener, `Enabled, false );
- UI::ChangeWidget( `fr_firewall, `Enabled, false );
- }
- else if ( handler_cmd == `rb_yes ) // service was just disabled
- {
- UI::ChangeWidget( `cb_register_slp, `Enabled, true );
- UI::ChangeWidget( `fr_listener, `Enabled, true );
- UI::ChangeWidget( `fr_firewall, `Enabled, true );
- }
-
- return true;
-}
-
define boolean cb_write_daemon()
``{
y2milestone("calling write handler for item \"daemon\"");
@@ -558,7 +534,7 @@
}
LdapDatabase::ResetCreateBase();
map <string,any> syncrepl = LdapDatabase::GetSyncRepl();
- if ( size(syncrepl) > 0 )
+ if ( size(syncrepl) > 0 && size(syncrepl["syncrepl"]:$[]) > 0 )
{
list<map<string,string> > dblist = LdapServer::ReadDatabaseList();
integer dbindex=0;
@@ -571,12 +547,13 @@
});
if (dbindex > 0)
{
- if ( ! LdapServer::WriteSyncRepl( dbindex, syncrepl ) )
+ if ( ! LdapServer::WriteSyncRepl( dbindex, syncrepl["syncrepl"]:$[] ) )
{
map<string, string> err = LdapServer::ReadError();
callback_error = err["msg"]:"" + "\n" + err["details"]:"";
return false;
}
+ LdapServer::WriteUpdateRef(dbindex, syncrepl["updateref"]:$[]);
}
}
map <string,any> ppolicy = LdapDatabase::GetPpolicy();
@@ -1045,16 +1022,17 @@
y2milestone("cb_read_synccons()");
string treeItem = current_tree_item;
integer index = (integer)widget_map[current_tree_item,"index"]:nil;
- map<string,any> sr = LdapServer::ReadSyncRepl(index);
- y2milestone("cb_read_synccons() %1", sr);
- if ( sr == nil )
+ list<map<string,any> > srl = LdapServer::ReadSyncRepl(index);
+ if (size(srl) > 1 )
{
- map<string, string> err = LdapServer::ReadError();
- callback_error = err["msg"]:"" + "\n" + err["details"]:"";
+ UI::ReplaceWidget( `syncConsWidget, `Label( _("Multiple Replication Consumers not supported currently") ) );
+ return true;
}
else
{
- return LdapDatabase::DbSyncConsRead( index, sr );
+ map<string,any> sr = srl[0]:$[];
+ map<string,any> updateref = LdapServer::ReadUpdateRef( index );
+ return LdapDatabase::DbSyncConsRead( index, sr, updateref );
}
}
@@ -1063,7 +1041,14 @@
y2milestone("cb_input_synccons()");
string treeItem = current_tree_item;
integer index = (integer)widget_map[current_tree_item,"index"]:nil;
- return LdapDatabase::DbSyncConsInput( handler_cmd, index );
+ if ( UI::WidgetExists( `cb_syncrepl ) )
+ {
+ return LdapDatabase::DbSyncConsInput( handler_cmd, index );
+ }
+ else
+ {
+ return true;
+ }
}
define boolean cb_check_synccons()
@@ -1071,7 +1056,14 @@
y2milestone("cb_check_synccons()");
string treeItem = current_tree_item;
integer index = (integer)widget_map[current_tree_item,"index"]:nil;
- return LdapDatabase::DbSyncConsCheck( index );
+ if ( UI::WidgetExists( `cb_syncrepl ) )
+ {
+ return LdapDatabase::DbSyncConsCheck( index );
+ }
+ else
+ {
+ return true;
+ }
}
define boolean cb_write_synccons()
@@ -1079,13 +1071,18 @@
y2milestone("cb_write_synccons()");
string treeItem = current_tree_item;
integer index = (integer)widget_map[current_tree_item,"index"]:nil;
+ if (! UI::WidgetExists( `cb_syncrepl ) )
+ {
+ return true;
+ }
map <string,any> syncrepl = LdapDatabase::DbSyncConsWrite( index );
boolean result = false;
- result = LdapServer::WriteSyncRepl(index, syncrepl);
+ result = LdapServer::WriteSyncRepl(index, syncrepl["syncrepl"]:$[]);
if ( ! result ) {
map<string, string> err = LdapServer::ReadError();
callback_error = err["msg"]:"" + "\n" + err["details"]:"";
}
+ LdapServer::WriteUpdateRef(index, syncrepl["updateref"]:$[]);
return result;
}
@@ -1143,7 +1140,6 @@
"name" : _("Startup Configuration"),
"widget" : dlg_service,
"cb_read" : ``( cb_read_daemon() ),
- "cb_input" : ``( cb_input_daemon() ),
"cb_write" : ``( cb_write_daemon() ),
"help_page" : "startup_config"
],
Modified: trunk/ldap-server/yast2-ldap-server.spec.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ldap-server/yast2-ldap-server.sp…
==============================================================================
--- trunk/ldap-server/yast2-ldap-server.spec.in (original)
+++ trunk/ldap-server/yast2-ldap-server.spec.in Mon Nov 21 11:09:24 2011
@@ -39,6 +39,7 @@
@moduledir@/LdapDatabase.*
@moduledir@/YaPI/LdapServer.pm
@desktopdir@/ldap-server.desktop
+@desktopdir@/openldap-mirrormode.desktop
@plugindir@/libpy2ag_slapdconfig.*
@schemadir@/autoyast/rnc/ldap-server.rnc
@scrconfdir@/*
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66876 - in /trunk/devtools: devtools/bin/create-spec package/yast2-devtools.changes yast2-devtools.spec.in
by coolo@svn2.opensuse.org 21 Nov '11
by coolo@svn2.opensuse.org 21 Nov '11
21 Nov '11
Author: coolo
Date: Mon Nov 21 09:59:50 2011
New Revision: 66876
URL: http://svn.opensuse.org/viewcvs/yast?rev=66876&view=rev
Log:
add libtool as buildrequire and some spec cleanup
Modified:
trunk/devtools/devtools/bin/create-spec
trunk/devtools/package/yast2-devtools.changes
trunk/devtools/yast2-devtools.spec.in
Modified: trunk/devtools/devtools/bin/create-spec
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/bin/create-spe…
==============================================================================
--- trunk/devtools/devtools/bin/create-spec (original)
+++ trunk/devtools/devtools/bin/create-spec Mon Nov 21 09:59:50 2011
@@ -116,8 +116,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
-# norootforbuild
",
"\@HEADER\@" =>
Modified: trunk/devtools/package/yast2-devtools.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/package/yast2-devtools.…
==============================================================================
--- trunk/devtools/package/yast2-devtools.changes (original)
+++ trunk/devtools/package/yast2-devtools.changes Mon Nov 21 09:59:50 2011
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Nov 21 08:59:17 UTC 2011 - coolo(a)suse.com
+
+- add libtool as buildrequire to avoid implicit dependency
+- remove clean section
+
+-------------------------------------------------------------------
Tue Oct 25 12:14:21 UTC 2011 - lslezak(a)suse.cz
- fixed oscsubmit to not submit *.rej and *.orig files left after
Modified: trunk/devtools/yast2-devtools.spec.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/yast2-devtools.spec.in?…
==============================================================================
--- trunk/devtools/yast2-devtools.spec.in (original)
+++ trunk/devtools/yast2-devtools.spec.in Mon Nov 21 09:59:50 2011
@@ -3,7 +3,14 @@
@HEADER@
Group: System/YaST
License: GPL-2.0+
-BuildRequires: docbook-xsl-stylesheets gcc-c++ libxslt perl-XML-Writer pkgconfig sgml-skel
+BuildRequires: docbook-xsl-stylesheets
+BuildRequires: gcc-c++
+BuildRequires: libxslt
+BuildRequires: perl-XML-Writer
+BuildRequires: pkgconfig
+BuildRequires: sgml-skel
+BuildRequires: libtool
+BuildRequires: automake
Requires: perl
Requires: perl-XML-Writer
Requires: libxslt
@@ -55,8 +62,6 @@
prevent ycp developers being flooded by testsuite failures.
EOF
-@CLEAN@
-
%files
%defattr(-,root,root)
%{_prefix}/bin/y2tool
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66875 - in /trunk/storage: disk/src/ package/ storage/src/ storage/src/include/ storage/src/modules/
by aschnell@svn2.opensuse.org 18 Nov '11
by aschnell@svn2.opensuse.org 18 Nov '11
18 Nov '11
Author: aschnell
Date: Fri Nov 18 15:27:06 2011
New Revision: 66875
URL: http://svn.opensuse.org/viewcvs/yast?rev=66875&view=rev
Log:
- merged proofread texts
Modified:
trunk/storage/disk/src/disk.ycp
trunk/storage/disk/src/disk_worker.ycp
trunk/storage/package/yast2-storage.changes
trunk/storage/storage/src/include/auto_part_ui.ycp
trunk/storage/storage/src/include/custom_part_check_generated.ycp
trunk/storage/storage/src/include/custom_part_dialogs.ycp
trunk/storage/storage/src/include/custom_part_helptexts.ycp
trunk/storage/storage/src/include/custom_part_lib.ycp
trunk/storage/storage/src/include/ep-all.ycp
trunk/storage/storage/src/include/ep-btrfs-dialogs.ycp
trunk/storage/storage/src/include/ep-btrfs-lib.ycp
trunk/storage/storage/src/include/ep-btrfs.ycp
trunk/storage/storage/src/include/ep-dialogs.ycp
trunk/storage/storage/src/include/ep-dm.ycp
trunk/storage/storage/src/include/ep-hd-lib.ycp
trunk/storage/storage/src/include/ep-hd.ycp
trunk/storage/storage/src/include/ep-import.ycp
trunk/storage/storage/src/include/ep-lib.ycp
trunk/storage/storage/src/include/ep-loop-dialogs.ycp
trunk/storage/storage/src/include/ep-main.ycp
trunk/storage/storage/src/include/ep-raid.ycp
trunk/storage/storage/src/include/ep-settings.ycp
trunk/storage/storage/src/include/ep-summary.ycp
trunk/storage/storage/src/include/ep-tmpfs-dialogs.ycp
trunk/storage/storage/src/include/ep-tmpfs-lib.ycp
trunk/storage/storage/src/include/ep-tmpfs.ycp
trunk/storage/storage/src/inst_disk_proposal.ycp
trunk/storage/storage/src/inst_resize_dialog.ycp
trunk/storage/storage/src/inst_resize_ui.ycp
trunk/storage/storage/src/modules/FileSystems.ycp
trunk/storage/storage/src/modules/Partitions.ycp
trunk/storage/storage/src/modules/Storage.ycp
trunk/storage/storage/src/modules/StorageClients.ycp
trunk/storage/storage/src/modules/StorageFields.ycp
trunk/storage/storage/src/modules/StorageProposal.ycp
trunk/storage/storage/src/modules/StorageSettings.ycp
Modified: trunk/storage/disk/src/disk.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/disk/src/disk.ycp?rev=66…
==============================================================================
--- trunk/storage/disk/src/disk.ycp (original)
+++ trunk/storage/disk/src/disk.ycp Fri Nov 18 15:27:06 2011
@@ -31,7 +31,7 @@
Never partition disks that may, in any way, be in use
(mounted, swap, etc.) unless you know exactly what you are
doing. Otherwise, the partitioning table will not be forwarded to the
-kernel, which would most likely lead to data loss.
+kernel, which will most likely lead to data loss.
To continue despite this warning, click Yes.
");
@@ -47,7 +47,7 @@
// text show during initialization
`Label(_("Initializing...")),
// helptext
- _("<p>Please wait, while volumes are being detected.</p>"),
+ _("<p>Volumes are being detected.</p>"),
false,
false
);
Modified: trunk/storage/disk/src/disk_worker.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/disk/src/disk_worker.ycp…
==============================================================================
--- trunk/storage/disk/src/disk_worker.ycp (original)
+++ trunk/storage/disk/src/disk_worker.ycp Fri Nov 18 15:27:06 2011
@@ -42,7 +42,7 @@
// translators: command line help text for disk module
"help" : _("Disk partitioner"),
// custum help text (should replace default one)
- "customhelp" : _("Command line interface for the partitioner module is not available"),
+ "customhelp" : _("Command line interface for the partitioner module is not available."),
"guihandler" : DiskSequence,
];
Modified: trunk/storage/package/yast2-storage.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/package/yast2-storage.ch…
==============================================================================
--- trunk/storage/package/yast2-storage.changes (original)
+++ trunk/storage/package/yast2-storage.changes Fri Nov 18 15:27:06 2011
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Fri Nov 18 15:20:30 CET 2011 - aschnell(a)suse.de
+
+- merged proofread texts
+
+-------------------------------------------------------------------
Thu Nov 17 15:44:52 CET 2011 - fehr(a)suse.de
- add var/crash to default subvolume list
Modified: trunk/storage/storage/src/include/auto_part_ui.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/auto…
==============================================================================
--- trunk/storage/storage/src/include/auto_part_ui.ycp (original)
+++ trunk/storage/storage/src/include/auto_part_ui.ycp Fri Nov 18 15:27:06 2011
@@ -80,7 +80,7 @@
// pushbutton to choose the entire disk, erasing all data on
// the disk this is an easy way to select all partitions on
// the target disk
- `Left(`PushButton (`id (`full), _("Use &entire hard disk"))));
+ `Left(`PushButton (`id (`full), _("Use &Entire Hard Disk"))));
vbox_contents = add (vbox_contents, `VSpacing(0.5) );
@@ -131,11 +131,11 @@
`VSpacing(0.5),
`Left (`RadioButton (`id (`part_id),
// Radio button for using an entire (Windows) partition for Linux
- _("&Delete Windows completely") ) ),
+ _("&Delete Windows Completely") ) ),
`VSpacing(0.5),
`Left (`RadioButton (`id (`resize),
// Radio button for resizing a (Windows) partition
- _("&Shrink Windows partition"), true ) )
+ _("&Shrink Windows Partition"), true ) )
)
)
)
@@ -158,9 +158,10 @@
");
// helptext, part 2 of 4
helptext = helptext + _("<p>
-You can either use the <b>entire hard disk</b> or one or more of the
+Use either the <b>entire hard disk</b> or one or more of the
partitions or free regions shown.
-</p>");
+</p>
+");
// helptext, part 3 of 4
helptext = helptext + _("<p>
Notice: If you select a region that is not shown as <i>free</i>, you
Modified: trunk/storage/storage/src/include/custom_part_check_generated.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/cust…
==============================================================================
--- trunk/storage/storage/src/include/custom_part_check_generated.ycp (original)
+++ trunk/storage/storage/src/include/custom_part_check_generated.ycp Fri Nov 18 15:27:06 2011
@@ -294,7 +294,7 @@
// popup text, %1 is a size
string message = sformat(_("Warning:
Your boot partition is smaller than %1.
-It is recommended to increase the size of /boot.
+We recommend to increase the size of /boot.
Really keep this size of boot partition?
"), Storage::KByteToHumanStringOmitZeroes(12*1024));
@@ -318,8 +318,8 @@
string message = sformat(_("Warning: There is no partition mounted as /boot.
To boot from your hard disk, a small /boot partition
(approx. %1) is required. Consider creating one.
-(Partitions assigned to /boot will automatically be changed to
-type 0x41 PReP/CHRP).
+Partitions assigned to /boot will automatically be changed to
+type 0x41 PReP/CHRP.
Really use the setup without /boot partition?
"), Storage::KByteToHumanStringOmitZeroes(4*1024));
@@ -393,9 +393,9 @@
// popup text
string message = sformat(_("Warning: With your current setup, your %2 installation
will encounter problems when booting, because you have no
-FAT partition mounted onto %1.
+FAT partition mounted on %1.
-This will give severe problems with the normal boot setup.
+This will cause severe problems with the normal boot setup.
If you do not know exactly what you are doing, use a normal
FAT partition for your files below %1.
@@ -414,7 +414,7 @@
encounter problems when booting, because you have no
separate %1 partition on your RAID disk.
-This will give severe problems with the normal boot setup.
+This will cause severe problems with the normal boot setup.
If you do not know exactly what you are doing, use a normal
partition for your files below %1.
@@ -440,8 +440,8 @@
{
// popup text
string message = _("
-You have not assigned a swap partition. There is nothing wrong with that, but
-in most cases it is highly recommended to create and assign a swap partition.
+You have not assigned a swap partition. In most cases, we highly recommend
+to create and assign a swap partition.
Swap partitions on your system are listed in the main window with the
type \"Linux Swap\". An assigned swap partition has the mount point \"swap\".
You can assign more than one swap partition, if desired.
@@ -458,7 +458,7 @@
// popup text
string message = _("
You chose to install onto an existing partition that will not be
-formatted. YaST2 cannot guarantee your installation will succeed,
+formatted. YaST cannot guarantee your installation will succeed,
particularly in any of the following cases:
") +
// continued popup text
@@ -468,9 +468,9 @@
- if this partition does not yet contain a file system
") +
// continued popup text
-_("If in doubt, you might want to go back and mark this partition for
+_("If in doubt, better go back and mark this partition for
formatting, especially if it is assigned to one of the standard mount points
-like /, /boot, /usr, /opt, or /var.
+like /, /boot, /usr, /opt or /var.
") +
// continued popup text
_("If you decide to format the partition, all data on it will be lost.
@@ -591,12 +591,12 @@
{
// popup text %1 is directory name
string message = sformat(_("The selected device is currently mounted on %1.
-It is *strongly* recommended to unmount it manually
+We *strongly* recommend to unmount it manually
before deleting it.
Click Cancel unless you know exactly what you are doing.
-If you proceed, YaST2 will try unmounting before deleting it.
+If you proceed, YaST will try unmounting before deleting it.
"), mounts );
@@ -649,9 +649,8 @@
if( !ok )
{
// popup text, %1 is a device name
- Popup::Message(sformat(_("The device (%1) cannot be removed
-Since it is a logical partition and another logical
-partition with higher number is in use.
+ Popup::Message(sformat(_("The device (%1) cannot be removed since it is a logical partition and
+another logical partition with a higher number is in use.
"), part_name ));
return( false );
}
@@ -709,8 +708,8 @@
// popup text
string message = sformat(_("The selected extended partition contains partitions which are currently mounted:
%1
-It is *strongly* recommended to unmount these partitions before you delete the extended partition.
-Please choose Cancel unless you know exactly what you are doing.
+We *strongly* recommend to unmount these partitions before you delete the extended partition.
+Choose Cancel unless you know exactly what you are doing.
"), mounted_parts );
if( ! Popup::ContinueCancel(message))
Modified: trunk/storage/storage/src/include/custom_part_dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/cust…
==============================================================================
--- trunk/storage/storage/src/include/custom_part_dialogs.ycp (original)
+++ trunk/storage/storage/src/include/custom_part_dialogs.ycp Fri Nov 18 15:27:06 2011
@@ -53,7 +53,7 @@
string label = "";
if( format )
// label text
- label = _("Don't forget what you enter here!");
+ label = _("Do not forget what you enter here!");
if( tmpcrypt )
{
if( size(label)>0 )
@@ -81,7 +81,7 @@
// translator comment: %1 is the device name, %2 is a directory
// example: "...password for device /dev/hda6 mounted on /var"
- string enter = sformat(_("Enter your crypt password for
+ string enter = sformat(_("Enter your encryption password for
device %1 mounted on %2.
"),device,mount);
@@ -94,7 +94,7 @@
`HBox(
`HSpacing(1),
// heading text
- `Heading(_("Enter your password for the encrypted file system")),
+ `Heading(_("Enter your Password for the Encrypted File System")),
`HSpacing(1)
),
`VSpacing(2),
@@ -109,7 +109,7 @@
`Password(`id("pw1"),
// Label: get password for user root
// Please use newline if label is longer than 40 characters
- _("&Enter a password for your file system:"), ""),
+ _("&Enter a Password for your File System:"), ""),
`HSpacing(15)),
`VSpacing(0.5),
@@ -117,7 +117,7 @@
`Password(`id("pw2"),
// Label: get same password again for verification
// Please use newline if label is longer than 40 characters
- _("Reenter the password for &verification:"), ""),
+ _("Reenter the Password for &Verification:"), ""),
`HSpacing(15))
),
`HSpacing(4)
@@ -157,7 +157,10 @@
if ( pw1 != pw2 )
{
// popup text
- Popup::Message(_("The first and the second version\nof the password do not match!\nPlease try again."));
+ Popup::Message(_("The first and the second version
+of the password do not match!
+Try again.
+"));
}
else if (pw1 == "")
{
@@ -211,7 +214,7 @@
posdot = search( query, "," );
if( posdot!=nil )
{
- Popup::Error(_("No floating point number!"));
+ Popup::Error(_("No floating point number."));
ret = `error;
}
else
@@ -408,11 +411,12 @@
if( new["enc_type"]:`none==`none && new["type"]:`unknown!=`tmpfs )
{
// help text, richtext format
- helptext = helptext + _("<p><b>Mount in /etc/fstab By:</b>
+ helptext = helptext + _("<p><b>Mount in /etc/fstab by:</b>
Normally, a file system to mount is identified in /etc/fstab
-by the device name. This identification can be changed so the file system to mount
-is found by searching for a UUID or a volume label. Not all file systems can be
-mounted by UUID or a volume label. If an option is disabled, it is not possible.
+by the device name. This identification can be changed so the file system
+to mount is found by searching for a UUID or a volume label. Not all file
+systems can be mounted by UUID or a volume label. If an option is disabled,
+this is not possible.
");
// help text, richtext format
@@ -433,10 +437,10 @@
`VBox(
`Left( `RadioButton( `id(`device),
// label text
- _("&Device name") )),
+ _("&Device Name") )),
`Left( `RadioButton( `id(`label),
// label text
- _("Volume &label") )),
+ _("Volume &Label") )),
`Left( `RadioButton( `id(`uuid),
// label text
"U&UID" ))
@@ -555,7 +559,7 @@
`VBox(
`HSpacing(50),
// heading text
- `Left(`Heading(_("Fstab options:"))),
+ `Left(`Heading(_("Fstab Options:"))),
`VStretch(),
`VSpacing(1),
`HBox(`HStretch(),
@@ -664,7 +668,7 @@
// popup text %1 is a number
Popup::Error( sformat(_("
Maximum volume label length for the selected file system
-is %1. Your volume label was truncated to this size.
+is %1. Your volume label has been truncated to this size.
"), max_len ));
}
if( search(new["label"]:"","/")!=nil )
@@ -836,7 +840,7 @@
return `VBox(
`ComboBox(`id(`fs), `opt(`hstretch, `notify),
// label text
- _("File &system"), filesystems),
+ _("File &System"), filesystems),
`PushButton(`id(`fs_options), `opt(`hstretch),
// button text
_("O&ptions..."))
@@ -854,7 +858,7 @@
return `VBox(
`Left(`CheckBox(`id(`crypt_fs), `opt(`notify),
// button text
- _("&Encrypt device"), cr)));
+ _("&Encrypt Device"), cr)));
}
@@ -1019,7 +1023,7 @@
your Linux installation might be damaged.
Unmount the partition if possible. If you are unsure,
-it is recommended to abort. Do not proceed unless you know
+we recommend to abort. Do not proceed unless you know
exactly what you are doing.
Continue?
@@ -1226,7 +1230,7 @@
// popup text, %1 is replaced by device name
string message = sformat(_("The selected device contains partitions that are currently mounted:
%1
-It is *strongly* recommended to unmount these partitions before deleting the partition table.
+We *strongly* recommended to unmount these partitions before deleting the partition table.
Choose Cancel unless you know exactly what you are doing.
"), mounted_parts );
@@ -1319,8 +1323,9 @@
``{
// help text, richtext format
string helptext = _("<p>
-Here it is possible to create and remove subvolumes
-from an BTRFS filesystem.</p>");
+Create and remove subvolumes
+from a Btrfs filesystem.</p>
+");
list<map> old_subvol = new["subvol"]:[];
@@ -1421,7 +1426,7 @@
{
if( changed )
{
- if( Popup::YesNo( _("Modifications done so far in Dialog get lost!")) )
+ if( Popup::YesNo( _("Modifications done so far in this dialog will be lost.")) )
new["subvol"] = old_subvol;
else
ret = `again;
Modified: trunk/storage/storage/src/include/custom_part_helptexts.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/cust…
==============================================================================
--- trunk/storage/storage/src/include/custom_part_helptexts.ycp (original)
+++ trunk/storage/storage/src/include/custom_part_helptexts.ycp Fri Nov 18 15:27:06 2011
@@ -64,8 +64,8 @@
{
helptext = helptext + _("<p>
This mount point corresponds to a temporary filesystem like /tmp or /var/tmp.
-You may leave the crypt password empty. If you do this, the system will create
-a random password at system startup for you. This means, you will lose all
+If you leave the encryption password empty, the system will create
+a random password at system startup for you. This means, you will lose all
data on these filesystems at system shutdown.
</p>
");
@@ -109,8 +109,9 @@
// help text for cryptofs
string helptext = _("<p>
-You will need to enter your crypt fs password.
-</p>");
+You will need to enter your encryption password.
+</p>
+");
// help text, continued
helptext = helptext + _("<p>
@@ -127,21 +128,23 @@
define string ia64_gpt_text()
{
return( _("Warning: With your current setup, your installation
-will encounter problems when booting, because the disk you
-have your /boot partition on does not contain a GPT disk label.
+will encounter problems when booting, because the disk on which
+your /boot partition is located does not contain a GPT disk label.
It will probably not be possible to boot such a setup.
If you need to use this disk for installation, you should destroy
-the disk label in the expert partitioner.") );
+the disk label in the expert partitioner.
+") );
}
define string ia64_gpt_fix_text()
{
- return( _("Warning: Your system states that is reqires an EFI
+ return( _("Warning: Your system states that it reqires an EFI
boot setup. Since the selected disk does not contain a
-GPT disk label we create a GPT label on this disk.
+GPT disk label YaST will create a GPT label on this disk.
-You need to mark all partitions on this disk for removal.") );
+You need to mark all partitions on this disk for removal.
+") );
}
}
Modified: trunk/storage/storage/src/include/custom_part_lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/cust…
==============================================================================
--- trunk/storage/storage/src/include/custom_part_lib.ycp (original)
+++ trunk/storage/storage/src/include/custom_part_lib.ycp Fri Nov 18 15:27:06 2011
@@ -83,10 +83,10 @@
{
// error popup text
ret = Popup::YesNo(
-_("You have selected not to mount automatically at start-up a file system
+_("You have selected to not automatically mount at start-up a file system
that may contain files that the system needs to work properly.
-This might lead to trouble.
+This may cause problems.
Really do this?
"));
@@ -149,8 +149,8 @@
{
// error popup text
ret = Popup::YesNo(
-_("You have set the option to be mountable by users for a file system
-that may contain files that need to be executable.
+_("You have set a file system as mountable by users. The file system
+may contain files that need to be executable.
This usually causes problems.
@@ -447,8 +447,8 @@
This file system is not supported in %1;.
It is completely untested and might not be well-integrated
-in the system. Do not file bugs against the file system
-itself if it does not work properly or at all.
+in the system. Do not report bugs against this file system
+if it does not work properly or at all.
Really use this file system?
"), Product::name );
Modified: trunk/storage/storage/src/include/ep-all.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-a…
==============================================================================
--- trunk/storage/storage/src/include/ep-all.ycp (original)
+++ trunk/storage/storage/src/include/ep-all.ycp Fri Nov 18 15:27:06 2011
@@ -99,9 +99,10 @@
if (!display_info["TextMode"]:false)
{
// helptext
- helptext = helptext + _("<p>By double clicking on a table entry
-you can navigate to the view with detailed information about the
-device.</p>");
+ helptext = helptext + _("<p>By double clicking a table entry,
+you navigate to the view with detailed information about the
+device.</p>
+");
}
else
{
@@ -186,12 +187,14 @@
if ((ProductFeatures::GetBooleanFeature("partitioning", "use_separate_multipath_module") == true) ||
(Mode::normal() && WFM::ClientExists("multipath")))
// popup text
- CallConfig(_("Calling Multipath configuration cancels all current changes.
-Really call Multipath configuration?"), ["yast2-multipath"], "multipath");
+ CallConfig(_("Calling multipath configuration cancels all current changes.
+Really call multipath configuration?
+"), ["yast2-multipath"], "multipath");
else
// popup text
- CallConfig(_("Calling Multipath configuration cancels all current changes.
-Really call Multipath configuration?"), nil, "multipath-simple");
+ CallConfig(_("Calling multipath configuration cancels all current changes.
+Really call multipath configuration?
+"), nil, "multipath-simple");
break;
case `cryptpwd:
Modified: trunk/storage/storage/src/include/ep-btrfs-dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-b…
==============================================================================
--- trunk/storage/storage/src/include/ep-btrfs-dialogs.ycp (original)
+++ trunk/storage/storage/src/include/ep-btrfs-dialogs.ycp Fri Nov 18 15:27:06 2011
@@ -121,7 +121,7 @@
string MiniWorkflowStepResizeVolumeHelptext()
{
// helptext
- string helptext = _("<p>Change the devices that are used by the BTRFS volume.</p>");
+ string helptext = _("<p>Change the devices that are used by the Btrfs volume.</p>");
return helptext;
}
Modified: trunk/storage/storage/src/include/ep-btrfs-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-b…
==============================================================================
--- trunk/storage/storage/src/include/ep-btrfs-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-btrfs-lib.ycp Fri Nov 18 15:27:06 2011
@@ -15,7 +15,7 @@
if (device == nil)
{
// error popup
- Popup::Error(_("No BTRFS device selected."));
+ Popup::Error(_("No Btrfs device selected."));
return;
}
@@ -47,7 +47,7 @@
if (device == nil)
{
// error popup
- Popup::Error(_("No BTRFS device selected."));
+ Popup::Error(_("No Btrfs device selected."));
return;
}
@@ -100,7 +100,7 @@
if (device == nil)
{
// error popup
- Popup::Error(_("No BTRFS device selected."));
+ Popup::Error(_("No Btrfs device selected."));
return;
}
Modified: trunk/storage/storage/src/include/ep-btrfs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-b…
==============================================================================
--- trunk/storage/storage/src/include/ep-btrfs.ycp (original)
+++ trunk/storage/storage/src/include/ep-btrfs.ycp Fri Nov 18 15:27:06 2011
@@ -78,7 +78,7 @@
`VBox(
`HStretch(),
// heading
- `IconAndHeading(_("Btrfs Volumes (BTRFS)"), StorageIcons::dm_icon ),
+ `IconAndHeading(_("Btrfs Volumes"), StorageIcons::dm_icon ),
`Table(`id(`table), `opt(`keepSorting, `notify, `notifyContextMenu),
table_header, table_contents),
ArrangeButtons([ // push button text
@@ -90,7 +90,7 @@
));
// helptext
- string helptext = _("<p>This view shows all BTRFS volumes.</p>");
+ string helptext = _("<p>This view shows all Btrfs volumes.</p>");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
@@ -135,7 +135,8 @@
// helptext
string helptext = _("<p>This view shows detailed information about the
-selected BTRFS volume.</p>");
+selected Btrfs volume.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::OverviewHelptext(fields));
}
@@ -191,7 +192,8 @@
// helptext
string helptext = _("<p>This view shows all devices used by the
-selected BTRFS volume.</p>");
+selected Btrfs volume.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
Modified: trunk/storage/storage/src/include/ep-dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-d…
==============================================================================
--- trunk/storage/storage/src/include/ep-dialogs.ycp (original)
+++ trunk/storage/storage/src/include/ep-dialogs.ycp Fri Nov 18 15:27:06 2011
@@ -21,8 +21,9 @@
// helptext
helptext = helptext + _("<p>If you want to encrypt all data on the
-volume select <b>Encrypt device</b>. Changing the encryption on an existing
-volume will delete all data on it.</p>");
+volume, select <b>Encrypt Device</b>. Changing the encryption on an existing
+volume will delete all data on it.</p>
+");
// helptext
helptext = helptext + _("<p>Then, choose whether the partition should
@@ -482,16 +483,16 @@
if (data["used_fs"]:`unknown == `swap)
// helptext
helptext = helptext + _("<p>
-The file system used for this volume is swap. You may leave the crypt password
-empty but then the swap device cannot be used for hibernating (suspend to
-disk).
+The file system used for this volume is swap. You can leave the encryption
+password empty, but then the swap device cannot be used for hibernating
+(suspend to disk).
</p>
");
else
// helptext
helptext = helptext + _("<p>
This mount point corresponds to a temporary filesystem like /tmp or /var/tmp.
-You may leave the crypt password empty. If you do this, the system will create
+If you leave the encryption password empty, the system will create
a random password at system startup for you. This means, you will lose all
data on these filesystems at system shutdown.
</p>
@@ -536,9 +537,9 @@
if( two_pw )
{
- label = _("All data previously present on the volume will be lost!");
+ label = _("All data stored on the volume will be lost!");
label = label + "\n";
- label = label + _("Don't forget what you enter here!");
+ label = label + _("Do not forget what you enter here!");
label = label + "\n";
}
if (empty_pw_allowed)
@@ -549,7 +550,7 @@
ad = `Password( `id(`pw2), `opt(`hstretch),
// Label: get same password again for verification
// Please use newline if label is longer than 40 characters
- _("Reenter the password for &verification:"), "");
+ _("Reenter the Password for &Verification:"), "");
term contents = `HVSquash(`FrameWithMarginBox(_("Password"),
@@ -557,7 +558,7 @@
`Password(`id(`pw1), `opt(`hstretch),
// Label: get password for user root
// Please use newline if label is longer than 40 characters
- _("&Enter a password for your file system:"), ""),
+ _("&Enter a Password for your File System:"), ""),
ad,
`VSpacing(0.5),
`Left(`Label(label))
@@ -664,7 +665,9 @@
{
y2error("Failed to retrieve FreeSpace %1, filesystem %2", device, data["used_fs"]:`none);
//FIXME: Really?
- Popup::Error(sformat(_("Partition %1 cannot be resized\nbecause the filesystem seems to be inconsistent"), device));
+ Popup::Error(sformat(_("Partition %1 cannot be resized
+because the filesystem seems to be inconsistent.
+"), device));
return false;
}
Modified: trunk/storage/storage/src/include/ep-dm.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-d…
==============================================================================
--- trunk/storage/storage/src/include/ep-dm.ycp (original)
+++ trunk/storage/storage/src/include/ep-dm.ycp Fri Nov 18 15:27:06 2011
@@ -55,9 +55,10 @@
);
// helptext
- string helptext = _("<p>This view shows all Device Mapper devices
-except for those already included in some other view. Thus Multipath Disks,
-BIOS RAIDs and LVM logical volumes are not shown here.</p>");
+ string helptext = _("<p>This view shows all Device Mapper devices except for those already
+included in some other view. Therefore multipath disks,
+BIOS RAIDs and LVM logical volumes are not shown here.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
Modified: trunk/storage/storage/src/include/ep-hd-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-h…
==============================================================================
--- trunk/storage/storage/src/include/ep-hd-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-hd-lib.ycp Fri Nov 18 15:27:06 2011
@@ -428,9 +428,10 @@
string helptext = _("<p>Select one or more (if available) hard disks
that will have the same partition layout as
this disk.</p>
-<p>Disks marked with '*' sign contain one or
+<p>Disks marked with the sign '*' contain one or
more partitions. After cloning, these
-partitions will be deleted.</p>");
+partitions will be deleted.</p>
+");
list <string> AvailableTargetDisks()
{
@@ -477,9 +478,10 @@
}
if (isempty(myparts)) {
- Popup::Error(_("There are no partitions on this disk (a clonable
-disk must have at least one partition).
-Create some partitions before cloning the disk."));
+ Popup::Error(_("There are no partitions on this disk, but a clonable
+disk must have at least one partition.
+Create partitions before cloning the disk.
+"));
return;
}
@@ -524,7 +526,7 @@
list <string> selected_disks = (list <string>) UI::QueryWidget(`id(`tdisk), `SelectedItems);
if (isempty(selected_disks)) {
- Popup::Error(_("Select some target disk for creating a clone"));
+ Popup::Error(_("Select a target disk for creating a clone"));
UI::SetFocus(`id(`tdisk));
ret = nil;
continue;
Modified: trunk/storage/storage/src/include/ep-hd.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-h…
==============================================================================
--- trunk/storage/storage/src/include/ep-hd.ycp (original)
+++ trunk/storage/storage/src/include/ep-hd.ycp Fri Nov 18 15:27:06 2011
@@ -171,7 +171,8 @@
// helptext
string helptext = _("<p>This view shows all hard disks including
-iSCSI disks, BIOS RAIDs and Multipath disks and their partitions.</p>");
+iSCSI disks, BIOS RAIDs and multipath disks and their partitions.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
@@ -335,7 +336,7 @@
expert_cmds = add(expert_cmds,
`item(`id(`clone_disk),
// menu entry text
- _("Clone This Disk")));
+ _("Clone this Disk")));
if (String::StartsWith(device, "/dev/dasd"))
{
@@ -364,8 +365,9 @@
// helptext
string helptext = _("<p>This view shows all partitions of the selected
-hard disk. If the hard disk is used by e.g. BIOS RAID or multipath no
-partitions are shown here.</p>");
+hard disk. If the hard disk is used by e.g. BIOS RAID or multipath, no
+partitions are shown here.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
@@ -431,7 +433,8 @@
// helptext
string helptext = _("<p>This view shows all devices used by the
selected hard disk. The view is only available for BIOS RAIDs, partitioned
-software RAIDs and Multipath Disks.</p>");
+software RAIDs and multipath disks.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
Modified: trunk/storage/storage/src/include/ep-import.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-i…
==============================================================================
--- trunk/storage/storage/src/include/ep-import.ycp (original)
+++ trunk/storage/storage/src/include/ep-import.ycp Fri Nov 18 15:27:06 2011
@@ -219,9 +219,10 @@
string FstabAddDialogHelptext()
{
// help text, richtext format
- string helptext = _("<p>YaST2 has scanned your hard disks and found
-one or several existing Linux systems with mount points. The old mount points
-are shown in the table.</p>");
+ string helptext = _("<p>YaST has scanned your hard disks and found one or several existing
+Linux systems with mount points. The old mount points are shown in
+the table.</p>
+");
// help text, richtext format
helptext = helptext + _("<p>You can choose whether the existing system
@@ -270,7 +271,7 @@
`opt(`decorated),
`VBox( `VSpacing(0.45),
// dialog heading
- `Left(`Heading(_("Import Mount Points from existing System:"))),
+ `Left(`Heading(_("Import Mount Points from Existing System:"))),
`MarginBox(1, 0.5,
`VBox(
`Left(`ReplacePoint(`id(`device), `Empty())),
@@ -279,7 +280,7 @@
navigate_buttons,
`VSpacing(0.45),
// checkbox label
- `Left(`CheckBox(`id(`format_sys), _("Format system volumes"), true))
+ `Left(`CheckBox(`id(`format_sys), _("Format System Volumes"), true))
)
),
`ButtonBox(
@@ -390,7 +391,7 @@
}
else
{
- Popup::Error(_("Wrong Password provided."));
+ Popup::Error(_("Wrong Password Provided."));
}
}
else if( size(pwd)==0 )
Modified: trunk/storage/storage/src/include/ep-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-l…
==============================================================================
--- trunk/storage/storage/src/include/ep-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-lib.ycp Fri Nov 18 15:27:06 2011
@@ -85,9 +85,10 @@
list<string> volumes = Storage::GetAffectedDevices( device );
return ( ConfirmRecursiveDelete( device, volumes,
_("Confirm Deleting Partition Used by LVM"),
- sformat(_("The selected partition is used by volume group \"%1\"
-To keep system in consistent state, the following volume group
-and its logical volumes will be deleted:"), used_by_device),
+ sformat(_("The selected partition is used by volume group \"%1\".
+To keep the system in a consistent state, the following volume group
+and its logical volumes will be deleted:
+"), used_by_device),
sformat( _("Delete partition \"%1\" and volume group \"%2\" now?"), device, used_by_device)
));
break;
@@ -97,9 +98,10 @@
list<string> volumes = Storage::GetAffectedDevices( device );
return ( ConfirmRecursiveDelete( device, volumes,
_("Confirm Deleting Partition Used by RAID"),
- sformat(_("The selected partition belongs to RAID \"%1\"
-To keep system in consistent state, the following
-RAID device will be deleted:"), used_by_device),
+ sformat(_("The selected partition belongs to RAID \"%1\".
+To keep the system in a consistent state, the following
+RAID device will be deleted:
+"), used_by_device),
sformat( _("Delete partition \"%1\" and RAID \"%2\" now?"), device, used_by_device)
));
Modified: trunk/storage/storage/src/include/ep-loop-dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-l…
==============================================================================
--- trunk/storage/storage/src/include/ep-loop-dialogs.ycp (original)
+++ trunk/storage/storage/src/include/ep-loop-dialogs.ycp Fri Nov 18 15:27:06 2011
@@ -29,16 +29,16 @@
// helptext
helptext = helptext + _("
-<p><b>Size:</b><br>This is the size of the loop file. The file system to
-create in the encrypted loop device will have this size.</p>
+<p><b>Size:</b><br>This is the size of the loop file. The file system
+created in the encrypted loop device will have this size.</p>
");
// helptext
helptext = helptext + _("
-<p><b>NOTE:</b> During installation, there cannot be any consistency
-checks about file size and path names because the file system is not
-accessible. It will be created at the end of installation. Be
-careful about the size and path name you provide.</p>
+<p><b>NOTE:</b> During installation, YaST cannot carry out consistency
+checks of file size and path names because the file system is not
+accessible. It will be created at the end of the installation. Be
+careful when providing the size and path name.</p>
");
return helptext;
Modified: trunk/storage/storage/src/include/ep-main.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-m…
==============================================================================
--- trunk/storage/storage/src/include/ep-main.ycp (original)
+++ trunk/storage/storage/src/include/ep-main.ycp Fri Nov 18 15:27:06 2011
@@ -213,9 +213,9 @@
// tree node label
`item(`id(`nfs), `icon(StorageIcons::nfs_icon), _("NFS"), open(`nfs)),
// tree node label
- `item(`id(`btrfs), `icon(StorageIcons::nfs_icon), _("BTRFS"), open(`btrfs)),
+ `item(`id(`btrfs), `icon(StorageIcons::nfs_icon), _("Btrfs"), open(`btrfs)),
// tree node label
- `item(`id(`tmpfs), `icon(StorageIcons::nfs_icon), _("TMPFS"), open(`tmpfs)),
+ `item(`id(`tmpfs), `icon(StorageIcons::nfs_icon), _("tmpfs"), open(`tmpfs)),
// tree node label
`item(`id(`unused), `icon(StorageIcons::unused_icon), _("Unused Devices"), open(`unused))
])
Modified: trunk/storage/storage/src/include/ep-raid.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-r…
==============================================================================
--- trunk/storage/storage/src/include/ep-raid.ycp (original)
+++ trunk/storage/storage/src/include/ep-raid.ycp Fri Nov 18 15:27:06 2011
@@ -105,7 +105,7 @@
);
// helptext
- string helptext = _("<p>This view shows all RAIDs except of BIOS RAIDs.</p>");
+ string helptext = _("<p>This view shows all RAIDs except BIOS RAIDs.</p>");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
Modified: trunk/storage/storage/src/include/ep-settings.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-s…
==============================================================================
--- trunk/storage/storage/src/include/ep-settings.ycp (original)
+++ trunk/storage/storage/src/include/ep-settings.ycp Fri Nov 18 15:27:06 2011
@@ -115,7 +115,7 @@
`Left(`HBox(
`MultiSelectionBox(`id(`visible_fields), `opt(`shrinkable, `notify),
// multi selection box label
- _("Visible Information On Storage Devices"),
+ _("Visible Information on Storage Devices"),
PreselectVisibleFields()),
`HStretch()
))
@@ -131,20 +131,23 @@
// helptext
helptext = helptext + _("<p><b>Default Mount by</b> gives the mount by
method for newly created file systems. <i>Device Name</i> uses the kernel
-device name which is not persistent. <i>Device ID</i> and <i>Device Path</i>
+device name, which is not persistent. <i>Device ID</i> and <i>Device Path</i>
use names generated by udev from hardware information. These should be
persistent but unfortunately this is not always true. Finally <i>UUID</i> and
-<i>Volume Label</i> use the file systems UUID and label.</p>");
+<i>Volume Label</i> use the file systems UUID and label.</p>
+");
// helptext
helptext = helptext + _("<p><b>Default File System</b> gives the file
-system type for newly created file file systems.</p>");
+system type for newly created file systems.</p>
+");
// helptext
helptext = helptext + _("<p><b>Alignment of Newly Created Partitions</b>
determines how created partitions are aligned. <b>cylinder</b> is the traditional alignment at cylinder boundaries of the disk. <b>optimal</b> aligns the
-partitions for best performance according to hints provided by linux kernel
-or tries to be compatible with Windows Vista and Win 7.</p>");
+partitions for best performance according to hints provided by the Linux
+kernel or tries to be compatible with Windows Vista and Win 7.</p>
+");
// helptext
helptext = helptext + _("<p><b>Show Storage Devices by</b> controls
Modified: trunk/storage/storage/src/include/ep-summary.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-s…
==============================================================================
--- trunk/storage/storage/src/include/ep-summary.ycp (original)
+++ trunk/storage/storage/src/include/ep-summary.ycp Fri Nov 18 15:27:06 2011
@@ -22,7 +22,7 @@
);
// helptext
- string helptext = _("<p>This view show the installation summary.</p>");
+ string helptext = _("<p>This view shows the installation summary.</p>");
Wizard::RestoreHelp(helptext);
}
Modified: trunk/storage/storage/src/include/ep-tmpfs-dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-t…
==============================================================================
--- trunk/storage/storage/src/include/ep-tmpfs-dialogs.ycp (original)
+++ trunk/storage/storage/src/include/ep-tmpfs-dialogs.ycp Fri Nov 18 15:27:06 2011
@@ -21,7 +21,7 @@
];
// dialog title
- string title = _("Add Tmpfs Mount");
+ string title = _("Add tmpfs Mount");
symbol widget = MiniWorkflow::Run(title, StorageIcons::dm_icon, aliases, sequence, "FormatMount");
Modified: trunk/storage/storage/src/include/ep-tmpfs-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-t…
==============================================================================
--- trunk/storage/storage/src/include/ep-tmpfs-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-tmpfs-lib.ycp Fri Nov 18 15:27:06 2011
@@ -15,7 +15,7 @@
if (device == nil)
{
// error popup
- Popup::Error(_("No TMPFS device selected."));
+ Popup::Error(_("No tmpfs device selected."));
return;
}
Modified: trunk/storage/storage/src/include/ep-tmpfs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-t…
==============================================================================
--- trunk/storage/storage/src/include/ep-tmpfs.ycp (original)
+++ trunk/storage/storage/src/include/ep-tmpfs.ycp Fri Nov 18 15:27:06 2011
@@ -70,7 +70,7 @@
`VBox(
`HStretch(),
// heading
- `IconAndHeading(_("Tmpfs Volumes (TMPFS)"), StorageIcons::dm_icon ),
+ `IconAndHeading(_("tmpfs Volumes"), StorageIcons::dm_icon ),
`Table(`id(`table), `opt(`keepSorting, `notify, `notifyContextMenu),
table_header, table_contents),
ArrangeButtons([ // push button text
@@ -82,7 +82,7 @@
));
// helptext
- string helptext = _("<p>This view shows all TMPFS volumes.</p>");
+ string helptext = _("<p>This view shows all tmpfs volumes.</p>");
Wizard::RestoreHelp(helptext + StorageFields::TableHelptext(fields));
}
@@ -127,7 +127,8 @@
// helptext
string helptext = _("<p>This view shows detailed information about the
-selected TMPFS volume.</p>");
+selected tmpfs volume.</p>
+");
Wizard::RestoreHelp(helptext + StorageFields::OverviewHelptext(fields));
}
@@ -162,7 +163,7 @@
Greasemonkey::Transform(
`VBox(
// heading
- `IconAndHeading(sformat(_("Tmpfs mounted at %1"), device), StorageIcons::lvm_lv_icon),
+ `IconAndHeading(sformat(_("tmpfs mounted at %1"), device), StorageIcons::lvm_lv_icon),
`DumbTab(`id(`tab), [
// push button text
`item(`id(`overview), _("&Overview"))
Modified: trunk/storage/storage/src/inst_disk_proposal.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/inst_disk_pr…
==============================================================================
--- trunk/storage/storage/src/inst_disk_proposal.ycp (original)
+++ trunk/storage/storage/src/inst_disk_proposal.ycp Fri Nov 18 15:27:06 2011
@@ -245,8 +245,8 @@
// %1 is replaced by button text
help_text = help_text + sformat(_("<p>
To make only small adjustments to the proposed
-setup (like e.g. changing filesystem types), choose
-<b>%1</b> and do these modification in the expert
+setup (like changing filesystem types), choose
+<b>%1</b> and modify the settings in the expert
partitioner dialog.</p>
"), deletechars(modify_str,"&"));
@@ -261,17 +261,17 @@
// help text continued
help_text = help_text + sformat(_("<p>
If the suggestion does not fit your needs, create
-your own partition setup starting with the partitions as
-currently present on the disks. For this, select
+your own partition setup starting with the partitions
+currently present on the disks. Select
<b>%1</b>.
This is also the option to choose for
-advanced options like RAID and encryption.</p>
+advanced configurations like RAID and encryption.</p>
"), deletechars(detailed_str,"&"));
// help text continued
// %1 is replaced by button text
help_text = help_text + _("<p>
-To create an LVM based proposal, choose the corresponding button.</p>
+To create an LVM-based proposal, choose the corresponding button.</p>
");
Modified: trunk/storage/storage/src/inst_resize_dialog.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/inst_resize_…
==============================================================================
--- trunk/storage/storage/src/inst_resize_dialog.ycp (original)
+++ trunk/storage/storage/src/inst_resize_dialog.ycp Fri Nov 18 15:27:06 2011
@@ -203,10 +203,11 @@
// help text (common to both modes), continued
helptext = helptext + _("
<p>
-The actual resizing will be performed only after you confirm all your
-settings in the last installation dialog. Until then, your Windows
+The actual resizing will not be performed until after you confirm all your
+settings in the last installation dialog. Until then your Windows
partition will remain untouched.
-</p>");
+</p>
+");
// help text (common to both modes), continued
helptext = helptext + _("
@@ -263,8 +264,9 @@
helptext = helptext + _("
<p>
Drag the slider or enter a numeric value in either
-input field to adjust the suggested value.
-</p>");
+input field to adjust the suggested values.
+</p>
+");
// help text (graphical mode), continued
helptext = helptext + _("
@@ -318,8 +320,9 @@
// help text (non-graphical mode), continued
helptext = helptext + _("
<p>
-<b>Windows Used</b> is the size of the used part of your Windows partition.
-</p>");
+<b>Windows Used</b> is the size of the space your Windows partition uses.
+</p>
+");
// help text (non-graphical mode), continued
helptext = helptext + _("
Modified: trunk/storage/storage/src/inst_resize_ui.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/inst_resize_…
==============================================================================
--- trunk/storage/storage/src/inst_resize_ui.ycp (original)
+++ trunk/storage/storage/src/inst_resize_ui.ycp Fri Nov 18 15:27:06 2011
@@ -475,11 +475,11 @@
// of free space and that he should terminate the installation now.
string explanation = sformat( _("An error has occurred.
-Insufficient space is available on the Windows partition to allow for
+The space available on the Windows partition is not sufficient for
the minimum Linux installation.
-To install Linux, first boot Windows and uninstall some
-applications or delete some data.
+To install Linux, boot Windows first and uninstall some
+applications or delete data to free space.
You need at least %1 MB of free space on the
Windows device, including Windows workspace and
@@ -583,10 +583,11 @@
// help text (common to both modes), continued
helptext = helptext + _("
<p>
-The actual resizing will be performed only after you confirm all your
-settings in the last installation dialog. Until then, your Windows
+The actual resizing will not be performed until after you confirm all your
+settings in the last installation dialog. Until then your Windows
partition will remain untouched.
-</p>");
+</p>
+");
// help text (common to both modes), continued
helptext = helptext + _("
@@ -643,8 +644,9 @@
helptext = helptext + _("
<p>
Drag the slider or enter a numeric value in either
-input field to adjust the suggested value.
-</p>");
+input field to adjust the suggested values.
+</p>
+");
// help text (graphical mode), continued
helptext = helptext + _("
@@ -698,8 +700,9 @@
// help text (non-graphical mode), continued
helptext = helptext + _("
<p>
-<b>Windows Used</b> is the size of the used part of your Windows partition.
-</p>");
+<b>Windows Used</b> is the size of the space your Windows partition uses.
+</p>
+");
// help text (non-graphical mode), continued
helptext = helptext + _("
Modified: trunk/storage/storage/src/modules/FileSystems.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/File…
==============================================================================
--- trunk/storage/storage/src/modules/FileSystems.ycp (original)
+++ trunk/storage/storage/src/modules/FileSystems.ycp Fri Nov 18 15:27:06 2011
@@ -191,11 +191,11 @@
list<map<symbol, any> > options =
[ $[
// button text
- `widget : `Left(`CheckBox(`id("opt_readonly"), _("Mount &read-only"), false)),
+ `widget : `Left(`CheckBox(`id("opt_readonly"), _("Mount &Read-Only"), false)),
`query_key : "opt_readonly",
// help text, richtext format
`help_text : _("<p><b>Mount Read-Only:</b>
-No writing to the file system is possible. Default is false.</p>
+Writing to the file system is not possible. Default is false.</p>
"),
`type : `boolean,
`str_opt : $[ 1 : "ro", "default" : "" ],
@@ -203,18 +203,19 @@
],
$[
// button text
- `widget : `Left(`CheckBox(`id("opt_noatime"), _("No &access time"), false)),
+ `widget : `Left(`CheckBox(`id("opt_noatime"), _("No &Access Time"), false)),
`query_key : "opt_noatime",
// help text, richtext format
- `help_text : _("<p><b>No access time:</b>
-Access times are not updated when a file is read. Default is false.</p>"),
+ `help_text : _("<p><b>No Access Time:</b>
+Access times are not updated when a file is read. Default is false.</p>
+"),
`type : `boolean,
`str_opt : $[ 1 : "noatime", "default" : "" ],
`str_scan : [[ "noatime", 1 ], ["atime", 0 ]],
],
$[
// button text
- `widget : `Left(`CheckBox(`id("opt_user"), _("Mountable by &user"), false)),
+ `widget : `Left(`CheckBox(`id("opt_user"), _("Mountable by &User"), false)),
`query_key : "opt_user",
// help text, richtext format
`help_text : _("<p><b>Mountable by User:</b>
@@ -233,8 +234,7 @@
The file system is not automatically mounted when the system starts.
An entry in /etc/fstab is created and the file system is mounted
with the appropriate options when the command <tt>mount <mount point></tt>
-(<mount point> is the directory to which the file system is mounted)
-is given. Default is false.</p>
+is entered (<mount point> is the directory to which the file system is mounted). Default is false.</p>
"),
`type : `boolean,
`str_opt : $[ 1 : "noauto", "default" : "" ],
@@ -270,7 +270,7 @@
// help text, richtext format
`help_text : _("<p><b>Data Journaling Mode:</b>
Specifies the journaling mode for file data.
-<tt>journal</tt> -- All data is committed into the journal prior to being
+<tt>journal</tt> -- All data is committed to the journal prior to being
written into the main file system. Highest performance impact.<br>
<tt>ordered</tt> -- All data is forced directly out to the main file system
prior to its metadata being committed to the journal. Medium performance impact.<br>
@@ -319,7 +319,7 @@
``{
map<symbol,any> opt = $[
// label text
- `widget : `TextEntry(`id("opt_arbitrary"), _("Arbitrary option &value"), ""),
+ `widget : `TextEntry(`id("opt_arbitrary"), _("Arbitrary Option &Value"), ""),
`query_key : "opt_arbitrary",
// help text, richtext format
`help_text : _("<p><b>Arbitrary Option Value:</b>
@@ -399,29 +399,30 @@
],
$[
// label text
- `widget : `ComboBox(`id("opt_fat_size"), `opt(`hstretch), _("FAT &size"), ["auto",
+ `widget : `ComboBox(`id("opt_fat_size"), `opt(`hstretch), _("FAT &Size"), ["auto",
`item(`id("12"), "12 bit"),
`item(`id("16"), "16 bit"),
`item(`id("32"), "32 bit") ]),
`query_key : "opt_fat_size",
`option_str : "-F",
// help text, richtext format
- `help_text : _("<p><b>FAT size:</b>
-Specifies the type of file allocation tables used (12, 16, or 32-bit). If auto is specified, YaST2 will automatically select the value most suitable for the file system size.</p>
+ `help_text : _("<p><b>FAT Size:</b>
+Specifies the type of file allocation tables used (12, 16, or 32-bit). If auto is specified, YaST will automatically select the value most suitable for the file system size.</p>
")
],
$[
// label text
- `widget : `TextEntry(`id("opt_root_dir_entries"), `opt(`hstretch), _("Root &dir entries"), "auto"),
+ `widget : `TextEntry(`id("opt_root_dir_entries"), `opt(`hstretch), _("Root &Dir Entries"), "auto"),
`query_key : "opt_root_dir_entries",
`option_str : "-r",
`between : [ 112, -1],
`valid_chars : "0123456789",
// popup text
- `error_text : _("The minimum size for \"Root dir entries\" is 112. Please try again."),
+ `error_text : _("The minimum size for \"Root Dir Entries\" is 112. Try again."),
// help text, richtext format
- `help_text : _("<p><b>Root dir entries:</b>
-Select the number of entries available in the root directory.</p>")
+ `help_text : _("<p><b>Root Dir Entries:</b>
+Select the number of entries available in the root directory.</p>
+")
]
];
@@ -429,22 +430,23 @@
list< map<symbol, any> > reiserfs_options = [
$[
// label text
- `widget : `ComboBox(`id("opt_hash"), `opt(`hstretch), _("Hash &function"), ["auto", "r5", "tea" ,"rupasov" ]),
+ `widget : `ComboBox(`id("opt_hash"), `opt(`hstretch), _("Hash &Function"), ["auto", "r5", "tea" ,"rupasov" ]),
`query_key : "opt_hash",
`option_str : "--hash",
`option_blank : true,
// help text, richtext format
- `help_text : _("<p><b>Hash function:</b>
-This specifies the name of the hash function to use to sort the file names in directories.</p>")
+ `help_text : _("<p><b>Hash Function:</b>
+This specifies the name of the hash function to use to sort the file names in directories.</p>
+")
],
$[
// label text
- `widget : `ComboBox(`id("opt_format"), `opt(`hstretch), _("FS &revision"), ["auto", "3.5", "3.6" ]),
+ `widget : `ComboBox(`id("opt_format"), `opt(`hstretch), _("FS &Revision"), ["auto", "3.5", "3.6" ]),
`query_key : "opt_format",
`option_str : "--format",
`option_blank : true,
// help text, richtext format
- `help_text : _("<p><b>FS revision:</b>
+ `help_text : _("<p><b>FS Revision:</b>
This option defines the reiserfs format revision to use. '3.5' is for backwards compatibility with kernels of the 2.2.x series. '3.6' is more recent, but can only be used with kernel versions greater than or equal to 2.4.</p>
")
]
@@ -454,12 +456,12 @@
list< map<symbol, any> > xfs_options = [
$[
// label text
- `widget : `ComboBox(`id("opt_blocksize"), `opt(`hstretch), _("Block &size in bytes"), ["auto","512","1024", "2048","4096" /*,"8192", "16384","32768"*/ ]),
+ `widget : `ComboBox(`id("opt_blocksize"), `opt(`hstretch), _("Block &Size in Bytes"), ["auto","512","1024", "2048","4096" /*,"8192", "16384","32768"*/ ]),
`query_key : "opt_blocksize",
`option_str : "-bsize=",
// help text, richtext format
- `help_text : _("<p><b>Block size:</b>
-Specify the size of blocks in bytes. Valid block size values are 512, 1024, 2048, and 4096 bytes per block. If auto is selected, the standard block size of 4096 is used.</p>
+ `help_text : _("<p><b>Block Size:</b>
+Specify the size of blocks in bytes. Valid block size values are 512, 1024, 2048 and 4096 bytes per block. If auto is selected, the standard block size of 4096 is used.</p>
")
],
$[
@@ -473,28 +475,28 @@
],
$[
// label text
- `widget : `ComboBox(`id("opt_max_inode_space"), `opt(`hstretch), _("&Percentage of inode space"),["auto", "5", "10", "15", "20","25","30",
+ `widget : `ComboBox(`id("opt_max_inode_space"), `opt(`hstretch), _("&Percentage of Inode Space"),["auto", "5", "10", "15", "20","25","30",
"35", "40", "45", "50", "55", "60", "65",
"70", "75", "80", "85", "90", "95",
`item(`id("0"), "100") ]),
`query_key : "opt_max_inode_space",
`option_str : "-imaxpct=",
// help text, richtext format
- `help_text : _("<p><b>Percentage of inode space:</b>
-The option \"Percentage of inode space\" specifies the maximum percentage of space in the file system that can be allocated to inodes.</p>
+ `help_text : _("<p><b>Percentage of Inode Space:</b>
+The option \"Percentage of Inode Space\" specifies the maximum percentage of space in the file system that can be allocated to inodes.</p>
")
],
$[
// label text
- `widget : `ComboBox(`id("opt_inode_align"), `opt(`hstretch), _("Inode &aligned"),[ "auto", `item(`id("1"), "true"),
+ `widget : `ComboBox(`id("opt_inode_align"), `opt(`hstretch), _("Inode &Aligned"),[ "auto", `item(`id("1"), "true"),
`item( `id("0"), "false") ]),
`query_key : "opt_inode_align",
`option_str : "-ialign=",
// help text, richtext format
`help_text : _("<p><b>Inode Aligned:</b>
The option \"Inode Aligned\" is used to specify whether inode allocation is or
-is not aligned. The default is that inodes are aligned. Aligned inode access
-is normally more efficient than unaligned access.</p>
+is not aligned. By default inodes are aligned, which
+is usually more efficient than unaligned access.</p>
")
]
];
@@ -519,18 +521,21 @@
*/
$[
// label text
- `widget : `TextEntry(`id("opt_log_size"), `opt(`hstretch),_("&Log size in megabytes"), "auto"),
+ `widget : `TextEntry(`id("opt_log_size"), `opt(`hstretch),_("&Log Size in Megabytes"), "auto"),
`query_key : "opt_log_size",
`option_str : "-s",
// no way to find out the max log size ????
`between : [ 0 , -1 ], // -> -1 = infinite
`valid_chars : "0123456789",
// popup text
- `error_text : _("The \"Log size\" value is incorrect.\nPlease enter a value greater than zero."),
+ `error_text : _("The \"Log Size\" value is incorrect.
+Enter a value greater than zero.
+"),
// xgettext: no-c-format
// help text, richtext format
- `help_text : _("<p><b>Log size</b>
-Set the log size (in megabytes). If auto, the default is 40% of the aggregate size.</p>")
+ `help_text : _("<p><b>Log Size</b>
+Set the log size (in megabytes). If auto, the default is 40% of the aggregate size.</p>
+")
],
$[
// label text
@@ -543,13 +548,15 @@
list< map<symbol, any> > ext2_options = [
$[
// label text
- `widget : `TextEntry(`id("opt_raid"), `opt(`hstretch), _("Stride &length in blocks"), "none" ),
+ `widget : `TextEntry(`id("opt_raid"), `opt(`hstretch), _("Stride &Length in Blocks"), "none" ),
`query_key : "opt_raid",
`option_str : "-Rstride=",
`valid_chars : "0123456789",
`between : [ 1, -1],
// popup text
- `error_text : _("The \"Stride length in blocks\" value is not possible.\nPlease select a value greater than 1."),
+ `error_text : _("The \"Stride Length in Blocks\" value is invalid.
+Select a value greater than 1.
+"),
// help text, richtext format
`help_text : _("<p><b>Stride Length in Blocks:</b>
Set RAID-related options for the file system. Currently, the only supported
@@ -559,28 +566,33 @@
],
$[
// label text
- `widget : `ComboBox(`id("opt_blocksize"), `opt(`hstretch), _("Block &size in bytes"), ["auto","1024", "2048","4096" /*,"8192", "16384","32768"*/ ]),
+ `widget : `ComboBox(`id("opt_blocksize"), `opt(`hstretch), _("Block &Size in Bytes"), ["auto","1024", "2048","4096" /*,"8192", "16384","32768"*/ ]),
`query_key : "opt_blocksize",
`option_str : "-b",
// help text, richtext format
- `help_text : _("<p><b>Block size:</b>
-Specify the size of blocks in bytes. Valid block size values are 1024, 2048, and 4096 bytes per block. If auto is selected, the block size is determined by the file system size and the expected use of the file system.</p>\n")
+ `help_text : _("<p><b>Block Size:</b>
+Specify the size of blocks in bytes. Valid block size values are 1024, 2048, and 4096 bytes per block. If auto is selected, the block size is determined by the file system size and the expected use of the file system.</p>
+")
],
$[
// label text
- `widget : `ComboBox(`id("opt_inode_density"), `opt(`hstretch), _("Bytes per &inode"),["auto","1024", "2048","4096","8192", "16384","32768" ]),
+ `widget : `ComboBox(`id("opt_inode_density"), `opt(`hstretch), _("Bytes per &Inode"),["auto","1024", "2048","4096","8192", "16384","32768" ]),
`query_key : "opt_inode_density",
`option_str : "-i",
// help text, richtext format
- `help_text : _("<p><b>Bytes per inode:</b>
-Specify the bytes to inode ratio. YaST2 creates an inode for every <bytes-per-inode> bytes of space on the disk. The larger the bytes-per-inode ratio, the fewer inodes will be created.
-Generally, this value should not be smaller than the block size of the file system, since too many inodes will be created in this case. It is not possible to expand the
-number of inodes on a file system after its creation, so be sure to enter a reasonable value for this parameter.</p>
+ `help_text : _("<p><b>Bytes per Inode:</b>
+Specify the bytes to inode ratio. YaST creates an inode for every
+<bytes-per-inode> bytes of space on the disk. The larger the
+bytes-per-inode ratio, the fewer inodes will be created. Generally, this
+value should not be smaller than the block size of the file system, or else
+too many inodes will be created. It is not possible to expand the number of
+inodes on a file system after its creation. So be sure to enter a reasonable
+value for this parameter.</p>
")
],
$[
// label text
- `widget : `TextEntry(`id("opt_reserved_blocks"), `opt(`hstretch), _("Percentage of blocks &reserved for root"), "auto" ),
+ `widget : `TextEntry(`id("opt_reserved_blocks"), `opt(`hstretch), _("Percentage of Blocks &Reserved for root"), "auto" ),
`query_key : "opt_reserved_blocks",
`option_str : "-m",
//`default : 5,
@@ -588,22 +600,25 @@
`str_length : 6,
`valid_chars : "0123456789.",
// popup text
- `error_text : _("The \"Percentage of blocks reserved for root\" value is incorrect.\nAllowed are float numbers not larger than 99. (e.g. 0.5)"),
+ `error_text : _("The \"Percentage of Blocks Reserved for root\" value is incorrect.
+Allowed are float numbers no larger than 99 (e.g. 0.5).
+"),
// xgettext: no-c-format
// help text, richtext format
- `help_text : _("<p><b>Percentage of blocks reserved for root:</b> Specify the percentage of blocks reserved for the super user. The default is computed so that normally 1 Gig is reserved. Upper limit for reserved default is 5.0, lowest reserved default is 0.1.</p>")
+ `help_text : _("<p><b>Percentage of Blocks Reserved for root:</b> Specify the percentage of blocks reserved for the super user. The default is computed so that normally 1 Gig is reserved. Upper limit for reserved default is 5.0, lowest reserved default is 0.1.</p>")
],
$[
// checkbox text
- `widget : `CheckBox(`id("opt_reg_checks"), `opt(`hstretch), _("Disable regular checks")),
+ `widget : `CheckBox(`id("opt_reg_checks"), `opt(`hstretch), _("Disable Regular Checks")),
`query_key : "opt_reg_checks",
`option_str : "-c 0 -i 0",
`option_cmd : `tunefs,
`type : `boolean,
`default : false,
// help text, richtext format
- `help_text : _("<p><b>Disable regular checks:</b>
-Disable regular file system check at booting.</p>\n")
+ `help_text : _("<p><b>Disable Regular Checks:</b>
+Disable regular file system check at booting.</p>
+")
]
];
Modified: trunk/storage/storage/src/modules/Partitions.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Part…
==============================================================================
--- trunk/storage/storage/src/modules/Partitions.ycp (original)
+++ trunk/storage/storage/src/modules/Partitions.ycp Fri Nov 18 15:27:06 2011
@@ -756,20 +756,20 @@
}
// popup text %1 is replaced by disk name e.g. /dev/hda
text = text + sformat( _("
-The partitioning on your disk %1 is either not readable by
-the partitioning tool parted used to change the
-partition table or is not supported by this tool.
+The partitioning on your disk %1 is either not readable or not
+supported by the partitioning tool parted used to change the
+partition table.
-You may use the partitions on disk %1 as they are or
-format them and assign mount points to them, but you
-cannot add, edit, resize, or remove partitions from that
-disk here.\n"), disk );
+You can use the partitions on disk %1 as they are or
+format them and assign mount points, but you cannot add, edit,
+resize, or remove partitions from that disk here.
+"), disk );
if( expert_partitioner )
{
// popup text
text = text + _("
-You may initialize the disk partition table to a sane state in the Expert
+You can initialize the disk partition table to a sane state in the Expert
Partitioner by selecting \"Expert\"->\"Create New Partition Table\",
but this will destroy all data on all partitions of this disk.
");
Modified: trunk/storage/storage/src/modules/Storage.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Stor…
==============================================================================
--- trunk/storage/storage/src/modules/Storage.ycp (original)
+++ trunk/storage/storage/src/modules/Storage.ycp Fri Nov 18 15:27:06 2011
@@ -2525,7 +2525,7 @@
Popup::Error( sformat(_("Could not set encryption.
System error code is %1.
-The crypt password provided could be incorrect.
+The encryption password provided could be incorrect.
"), ret ));
LibStorage::StorageInterface::forgetCryptPassword( sint, device );
}
@@ -3516,7 +3516,7 @@
Popup::Error( sformat(_("Could not set encryption.
System error code is %1.
-The crypt password provided could be incorrect.
+The encryption password provided could be incorrect.
"), i ));
y2milestone( "CheckCryptOk dev:%1 pwlen:%2 ret:%3",
dev, size(fs_passwd), i==0 );
@@ -3590,7 +3590,7 @@
`Password(`id(`pw2), `opt(`hstretch),
// Label: get same password again for verification
// Please use newline if label is longer than 40 characters
- _("Reenter the password for &verification:"), ""),
+ _("Reenter the Password for &Verification:"), ""),
`HSpacing(13))
);
UI::OpenDialog(
@@ -3615,7 +3615,7 @@
`Password(`id(`pw1), `opt(`hstretch),
// Label: get password for encrypted volume
// Please use newline if label is longer than 40 characters
- _("&Enter encryption password:"), ""),
+ _("&Enter Encryption Password:"), ""),
`HSpacing(13)),
ad),
`HSpacing(4)
@@ -3682,8 +3682,7 @@
term ad = `Empty();
if( size(dev2)>0 )
ad = `VBox(
- `Left( `Label( _(
-"The following encrypted volumes are already available."))),
+ `Left( `Label( _("The following encrypted volumes are already available."))),
`Left(`RichText(HTML::List(sort(dev2)))),
`VSpacing(0.2)
);
@@ -3700,8 +3699,7 @@
`VBox (
`Left (`Heading (_("Encrypted Volume Activation"))),
`VSpacing(0.2),
- `Left( `Label( _(
-"The following volumes contain an encryption signature but the
+ `Left( `Label( _("The following volumes contain an encryption signature but the
passwords are not yet known.
The passwords need to be known if the volumes are needed either
during an update or if they contain an encrypted LVM physical volume."))),
@@ -3709,7 +3707,7 @@
`Left(`RichText(HTML::List(sort(dev1)))),
`VSpacing(0.2),
ad,
- `Left(`Label( _("Do you want to provide crypt passwords?"))),
+ `Left(`Label( _("Do you want to provide encryption passwords?"))),
button_box
)
)
@@ -3752,8 +3750,7 @@
boolean ret = true;
boolean rescan_done = false;
// text in help field
- string helptext = _(
-"Enter encryption password for any of the
+ string helptext = _("Enter encryption password for any of the
devices in the locked devices list.
Password will be tried for all devices.");
// header text
@@ -3768,10 +3765,10 @@
if( ret )
{
// label text, multiple device names follow
- string label = _("Please provide password for any of the following devices:");
+ string label = _("Provide password for any of the following devices:");
if( size(crvol["inactive"]:[])==1 )
// label text, one device name follows
- label = _("Please provide password for the following device:");
+ label = _("Provide password for the following device:");
foreach( string s, crvol["inactive"]:[],
``{
label = label + sformat("\n%1", s );
@@ -4525,7 +4522,7 @@
{
txt = sformat( _("
Device %1 cannot be removed because this would indirectly change
-device %2 which contains activated swap that is needed to run
+device %2, which contains activated swap that is needed to run
the installation.
"), p["device"]:"", pl[pos,"device"]:"" );
}
@@ -4533,7 +4530,7 @@
{
txt = sformat( _("
Device %1 cannot be removed because this would indirectly change
-device %2 which contains data needed to perform the installation.
+device %2, which contains data needed to perform the installation.
"), p["device"]:"", pl[pos,"device"]:"" );
}
Popup::Message( txt );
@@ -4548,7 +4545,8 @@
{
txt = sformat(_("
Partition %1 cannot be removed since other partitions on the
-disk %2 are in used."), p["device"]:"", disk["device"]:"");
+disk %2 are used.
+"), p["device"]:"", disk["device"]:"");
Popup::Message(txt);
ret = false;
};
@@ -5160,7 +5158,7 @@
if (!PackagesProposal::SetResolvables(proposal_ID, `package, pkgs))
{
y2error("PackagesProposal::SetResolvables() for %1 failed", pkgs);
- Report::Error(sformat(_("Add the following resolvables failed: %1"), pkgs));
+ Report::Error(sformat(_("Adding the following resolvables failed: %1"), pkgs));
}
if( Stage::initial() )
Modified: trunk/storage/storage/src/modules/StorageClients.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Stor…
==============================================================================
--- trunk/storage/storage/src/modules/StorageClients.ycp (original)
+++ trunk/storage/storage/src/modules/StorageClients.ycp Fri Nov 18 15:27:06 2011
@@ -89,7 +89,7 @@
y2milestone("CommitErrorPopup error:%1 last_action:%2 extended_message:%3",
error, last_action, extended_message);
- string text = _("Failure occurred during following action:") + "\n" + last_action + "\n\n";
+ string text = _("Failure occurred during the following action:") + "\n" + last_action + "\n\n";
string tmp = LibStorage::StorageInterface::getErrorString(sint, error);
if (!isempty(tmp))
@@ -123,7 +123,7 @@
`Password(`id(`password),
// Label: get password for device
// Please use newline if label is longer than 40 characters
- sformat(_("&Enter password for device %1:"), device), password),
+ sformat(_("&Enter Password for Device %1:"), device), password),
`ButtonBox(
`PushButton(`id(`ok), `opt(`default), Label::OKButton()),
`PushButton(`id(`cancel), Label::CancelButton())
Modified: trunk/storage/storage/src/modules/StorageFields.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Stor…
==============================================================================
--- trunk/storage/storage/src/modules/StorageFields.ycp (original)
+++ trunk/storage/storage/src/modules/StorageFields.ycp Fri Nov 18 15:27:06 2011
@@ -128,12 +128,12 @@
case `mount_by:
// Column header
- header = add(header, _("Mount By"));
+ header = add(header, _("Mount by"));
break;
case `used_by:
// Column header
- header = add(header, _("Used By"));
+ header = add(header, _("Used by"));
break;
case `start_cyl:
@@ -148,7 +148,7 @@
case `fs_id:
// Column header
- header = add(header, `Right(_("FS Id")));
+ header = add(header, `Right(_("FS ID")));
break;
case `uuid:
@@ -320,7 +320,7 @@
case `fs_id:
// helptext for table column and overview entry
- ret = ret + _("<b>FS Id</b> shows the file system id.");
+ ret = ret + _("<b>FS ID</b> shows the file system id.");
break;
case `fs_type:
@@ -347,15 +347,17 @@
case `mount_by:
// helptext for table column and overview entry
- ret = ret + _("<b>Mount By</b> indicates how the file system
-is mounted: (Kernel) by Kernel Name, (Label) by File System Label, (UUID) by
-File System UUID, (ID) by Device ID, and (Path) by Device Path.");
+ ret = ret + _("<b>Mount by</b> indicates how the file system
+is mounted: (Kernel) by kernel name, (Label) by file system label, (UUID) by
+file system UUID, (ID) by device ID, and (Path) by device path.
+");
if (Mode::normal())
// helptext for table column and overview entry
ret = ret + " " + _("A question mark (?) indicates that
the file system is not listed in <tt>/etc/fstab</tt>. It is either mounted
-manually or by some automount system. When changing setting of this volume
-YaST will not update <tt>/etc/fstab</tt>.");
+manually or by some automount system. When changing settings for this volume
+YaST will not update <tt>/etc/fstab</tt>.
+");
break;
case `mount_point:
@@ -412,7 +414,8 @@
case `stripes:
// helptext for table column and overview entry
ret = ret + _("<b>Stripes</b> shows the stripe number for LVM
-logical volumes and, if greater than one, in parenthesise the stripe size.");
+logical volumes and, if greater than one, the stripe size in parenthesis.
+");
break;
case `type:
@@ -423,8 +426,9 @@
case `udev_id:
// helptext for table column and overview entry
- ret = ret + _("<b>Device Id</b> shows the persistent device
-ids. This field can be empty.");
+ ret = ret + _("<b>Device ID</b> shows the persistent device
+IDs. This field can be empty.
+");
break;
case `udev_path:
@@ -436,8 +440,8 @@
case `used_by:
// helptext for table column and overview entry
ret = ret + _("<b>Used By</b> shows if a device is used by
-e.g. RAID or LVM. If you do not use such things, it is perfectly normal for
-this column to be empty.");
+e.g. RAID or LVM. If not, this column is empty.
+");
break;
case `uuid:
@@ -634,7 +638,7 @@
return value;
else
// row label, %1 is replace by mount by method
- return sformat(_("Mount By: %1"), value);
+ return sformat(_("Mount by: %1"), value);
}
case `used_by:
@@ -646,7 +650,7 @@
integer n = size(data["used_by"]:[]);
return mergestring(maplist(integer i, Integer::Range(n == 0 ? 1 : n), {
// row label, %1 is replaced by number, %2 is replace by device name e.g. /dev/system
- return sformat(_("Used By %1: %2"), i+1, String::EscapeTags(UsedByString(data["used_by", i]:$[])));
+ return sformat(_("Used by %1: %2"), i+1, String::EscapeTags(UsedByString(data["used_by", i]:$[])));
}), HTML::Newline());
}
}
@@ -916,7 +920,7 @@
return value;
else
// row label, %1 is replace by file system id
- return sformat(_("FS Id: %1"), value);
+ return sformat(_("FS ID: %1"), value);
}
case `file_path:
Modified: trunk/storage/storage/src/modules/StorageProposal.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Stor…
==============================================================================
--- trunk/storage/storage/src/modules/StorageProposal.ycp (original)
+++ trunk/storage/storage/src/modules/StorageProposal.ycp Fri Nov 18 15:27:06 2011
@@ -3069,7 +3069,7 @@
Storage::CanDelete( p, target[s]:$[], false))
{
if( usable_for_win_resize(p,false) )
- p["dtxt"] = _("Resize impossible due to inconsistent fs. Try checking fs under Windows.");
+ p["dtxt"] = _("Resize impossible due to inconsistent file system. Try checking file system under Windows.");
p["delete"] = true;
}
return( p );
@@ -3834,7 +3834,7 @@
Storage::CanDelete( p, target[s]:$[], false))
{
if( usable_for_win_resize(p,false) )
- p["dtxt"] = _("Resize impossible due to inconsistent fs. Try checking fs under Windows.");
+ p["dtxt"] = _("Resize impossible due to inconsistent file system. Try checking file system under Windows.");
p["delete"] = true;
}
return( p );
@@ -4150,7 +4150,7 @@
vb = add( vb,
`Left(`HBox(`HSpacing(3), `CheckBox(`id(`btrfs), `opt(`notify),
// Label text
- _("Use &Btrfs as default Filesystem"),
+ _("Use &Btrfs as Default File System"),
GetProposalBtrfs() ))));
term frame = `VBox( `VSpacing(3*space),
`HVCenter( `VBox( `Left(`Label( `opt(`boldFont), _("Proposal settings"))), `VSpacing(0.3), `HVCenter(vb)) ));
@@ -4187,7 +4187,7 @@
// Label: get same password again for verification
// Please use newline if label is longer than 40 characters
_("Reenter the password for verification:"), "")),
- `Label(_("Don't forget what you enter here!")),
+ `Label(_("Do not forget what you enter here!")),
`ButtonBox(
`PushButton(`id(`ok), `opt(`default), Label::OKButton()),
`PushButton(`id(`cancel), Label::CancelButton())
Modified: trunk/storage/storage/src/modules/StorageSettings.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Stor…
==============================================================================
--- trunk/storage/storage/src/modules/StorageSettings.ycp (original)
+++ trunk/storage/storage/src/modules/StorageSettings.ycp Fri Nov 18 15:27:06 2011
@@ -148,7 +148,7 @@
{
list<string> tmp = [
_("Default Mount-by:") + " " + substring(tostring(Storage::GetDefaultMountBy()), 1),
- _("Default Filesystem:") + " " + substring(tostring(Partitions::DefaultFs()), 1),
+ _("Default File System:") + " " + substring(tostring(Partitions::DefaultFs()), 1),
_("Show Storage Devices by:") + " " + substring(tostring(display_name), 1),
_("Partition Alignment:") + " " + substring(tostring(Storage::GetPartitionAlignment()), 7),
_("Visible Information on Storage Devices:") + " " + HTML::List(visible_fields)
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r66874 - /trunk/s390/package/yast2-s390.changes
by aschnell@svn2.opensuse.org 18 Nov '11
by aschnell@svn2.opensuse.org 18 Nov '11
18 Nov '11
Author: aschnell
Date: Fri Nov 18 14:44:20 2011
New Revision: 66874
URL: http://svn.opensuse.org/viewcvs/yast?rev=66874&view=rev
Log:
- added version number
Modified:
trunk/s390/package/yast2-s390.changes
Modified: trunk/s390/package/yast2-s390.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/s390/package/yast2-s390.changes?…
==============================================================================
--- trunk/s390/package/yast2-s390.changes (original)
+++ trunk/s390/package/yast2-s390.changes Fri Nov 18 14:44:20 2011
@@ -2,6 +2,7 @@
Fri Nov 18 14:22:22 CET 2011 - aschnell(a)suse.de
- merged proofread texts
+- 2.22.0
-------------------------------------------------------------------
Mon Oct 31 10:59:47 EDT 2011 - thardeck(a)suse.com
@@ -63,7 +64,6 @@
Fri Jul 22 14:41:14 CEST 2011 - aschnell(a)suse.de
- fixed diag mode setting (bnc #591037)
-- 2.17.19
-------------------------------------------------------------------
Tue Jun 21 12:29:58 EDT 2011 - aschnell(a)suse.de
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0