[yast-commit] r41619 - /trunk/ca-management/src/ca_mgm_auto.ycp
Author: mcalmer Date: Mon Oct 29 16:12:21 2007 New Revision: 41619 URL: http://svn.opensuse.org/viewcvs/yast?rev=41619&view=rev Log: implement Read for autoyast to support cloning Modified: trunk/ca-management/src/ca_mgm_auto.ycp Modified: trunk/ca-management/src/ca_mgm_auto.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/ca_mgm_auto.ycp?rev=41619&r1=41618&r2=41619&view=diff ============================================================================== --- trunk/ca-management/src/ca_mgm_auto.ycp (original) +++ trunk/ca-management/src/ca_mgm_auto.ycp Mon Oct 29 16:12:21 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
participants (1)
-
mcalmer@svn.opensuse.org