Author: mcalmer Date: Wed Nov 7 10:38:14 2007 New Revision: 41830 URL: http://svn.opensuse.org/viewcvs/yast?rev=41830&view=rev Log: Enable cloning of CA-management for use with AutoYaST Modified: branches/SuSE-SLE-10-SP2-Branch/ca-management/package/yast2-ca-management.changes branches/SuSE-SLE-10-SP2-Branch/ca-management/src/ca_mgm_auto.ycp Modified: branches/SuSE-SLE-10-SP2-Branch/ca-management/package/yast2-ca-management.changes URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP2-Branch/ca-management/package/yast2-ca-management.changes?rev=41830&r1=41829&r2=41830&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP2-Branch/ca-management/package/yast2-ca-management.changes (original) +++ branches/SuSE-SLE-10-SP2-Branch/ca-management/package/yast2-ca-management.changes Wed Nov 7 10:38:14 2007 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Wed Nov 7 10:37:49 CET 2007 - mc@suse.de + +- Enable cloning of CA-management for use with AutoYaST + +------------------------------------------------------------------- Wed Oct 10 12:39:02 CEST 2007 - mc@suse.de - version 2.13.33 Modified: branches/SuSE-SLE-10-SP2-Branch/ca-management/src/ca_mgm_auto.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP2-Branch/ca-management/src/ca_mgm_auto.ycp?rev=41830&r1=41829&r2=41830&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP2-Branch/ca-management/src/ca_mgm_auto.ycp (original) +++ branches/SuSE-SLE-10-SP2-Branch/ca-management/src/ca_mgm_auto.ycp Wed Nov 7 10:38:14 2007 @@ -167,7 +167,6 @@ UI::ChangeWidget (`id (`id_organisationUnit), `Enabled, false); UI::ChangeWidget (`id (`id_locality), `Enabled, false); UI::ChangeWidget (`id (`id_state), `Enabled, false); - UI::ChangeWidget (`id (`rootPassword), `Enabled, false); UI::ChangeWidget (`id (`pw1), `Enabled, false); UI::ChangeWidget (`id (`pw2), `Enabled, false); UI::ChangeWidget (`id (`localServerName), `Enabled, false); @@ -188,23 +187,14 @@ UI::ChangeWidget (`id (`id_organisationUnit), `Enabled, true); UI::ChangeWidget (`id (`id_locality), `Enabled, true); UI::ChangeWidget (`id (`id_state), `Enabled, true); - UI::ChangeWidget (`id (`rootPassword), `Enabled, true); UI::ChangeWidget (`id (`localServerName), `Enabled, true); UI::ChangeWidget (`id (`pathCert), `Enabled, false); UI::ChangeWidget (`id(`browseCert), `Enabled, false); UI::ChangeWidget (`id (`pw3), `Enabled, false); UI::ChangeWidget (`id (`pw4), `Enabled, false); - if ((boolean) UI::QueryWidget(`id(`rootPassword), `Value)) - { - UI::ChangeWidget (`id (`pw1), `Enabled, false); - UI::ChangeWidget (`id (`pw2), `Enabled, false); - } - else - { UI::ChangeWidget (`id (`pw1), `Enabled, true); UI::ChangeWidget (`id (`pw2), `Enabled, true); - } if ((boolean) UI::QueryWidget(`id(`localServerName), `Value)) { @@ -235,8 +225,7 @@ remove (CaMgm::autoYaSTSettings, "certificate"); boolean notImport = (boolean) (UI::QueryWidget(`id(`rb), `CurrentButton) == `notImport); - if (notImport - && !((boolean) UI::QueryWidget(`id(`rootPassword), `Value))) + if (notImport) { confirmPassword = (string) UI::QueryWidget(`id(`pw2), `Value); if ((string) UI::QueryWidget(`id(`pw1), `Value) != confirmPassword) @@ -637,7 +626,73 @@ return success; } +/** + * Read ca-management defaults + * @return true on success + */ +boolean Read() { + + map servercert = nil; + servercert = (map) YaPI::CaManagement::ReadFile( $["inFile":"/etc/ssl/servercerts/servercert.pem", + "type":"parsed", + "datatype":"CERTIFICATE", + "inForm":"PEM"]); + + boolean found = servercert != nil?true:false; + + string hostname = "linux"; + string domain = "site"; + map retmap = (map) SCR::Execute (.target.bash_output, + "/bin/hostname -s", + $[] ); + if (retmap["exit"]:1 == 0) + { + hostname = strip(retmap["stdout"]:"linux"); + } + + retmap = (map) SCR::Execute (.target.bash_output, + "/bin/hostname --domain", + $[] ); + + if (retmap["exit"]:1 == 0) + { + domain = strip(retmap["stdout"]:"site"); + } + + if(found) + { + map serverCertDN = servercert["DN_HASH"]:$[]; + map serverCertIssuer = servercert["ISSUER_HASH"]:$[]; + + + CaMgm::autoYaSTSettings["takeLocalServerName"] = false; + CaMgm::autoYaSTSettings["password"] = "ENTER PASSWORD HERE"; + CaMgm::autoYaSTSettings["server_commonName"] = ((list)serverCertDN["CN"]:[])[0]:(hostname + "." + domain); + CaMgm::autoYaSTSettings["CAName"] = "YaST_Default_CA"; + CaMgm::autoYaSTSettings["ca_commonName"] = ((list)serverCertIssuer["CN"]:[])[0]:("YaST Default CA " + "(" + domain + ")"); + CaMgm::autoYaSTSettings["server_email"] = ((list)serverCertDN["emailAddress"]:[])[0]:("postmaster@" + domain); + CaMgm::autoYaSTSettings["country"] = ((list)serverCertDN["C"]:[])[0]:"US"; + CaMgm::autoYaSTSettings["organisation"] = ((list)serverCertDN["O"]:[])[0]:""; + CaMgm::autoYaSTSettings["organisationUnit"] = ((list)serverCertDN["OU"]:[])[0]:""; + CaMgm::autoYaSTSettings["locality"] = ((list)serverCertDN["L"]:[])[0]:""; + CaMgm::autoYaSTSettings["state"] = ((list)serverCertDN["ST"]:[])[0]:""; + } + else + { + CaMgm::autoYaSTSettings["takeLocalServerName"] = true; + CaMgm::autoYaSTSettings["password"] = "ENTER PASSWORD HERE"; + CaMgm::autoYaSTSettings["CAName"] = "YaST_Default_CA"; + CaMgm::autoYaSTSettings["ca_commonName"] = "YaST Default CA " + "(" + domain + ")"; + CaMgm::autoYaSTSettings["server_email"] = "postmaster@" + domain; + CaMgm::autoYaSTSettings["country"] = Timezone::GetCountryForTimezone(""); + CaMgm::autoYaSTSettings["organisation"] = ""; + CaMgm::autoYaSTSettings["organisationUnit"] = ""; + CaMgm::autoYaSTSettings["locality"] = ""; + CaMgm::autoYaSTSettings["state"] = ""; + } + return true; +} //--------------------------------------------------------------------------- // MAIN @@ -694,6 +749,13 @@ ret = Write(); Progress::on(); } +/* Read settings */ +else if (func == "Read") { + import "Progress"; + Progress::off(); + ret = Read(); + Progress::on(); +} else if (func == "GetModified") { ret = CaMgm::autoYaSTModified; } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org