Author: mcalmer
Date: Tue Aug 26 15:19:34 2008
New Revision: 50380
URL: http://svn.opensuse.org/viewcvs/yast?rev=50380&view=rev
Log:
version 2.17.0 -- Netconfig patch for fine-grained merging of static and DHCP-supplied data
Modified:
trunk/nis-client/VERSION
trunk/nis-client/package/yast2-nis-client.changes
trunk/nis-client/src/Nis.ycp
trunk/nis-client/src/nis.ycp
trunk/nis-client/src/ui.ycp
trunk/nis-client/testsuite/tests/readwrite.out
Modified: trunk/nis-client/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/VERSION?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/VERSION (original)
+++ trunk/nis-client/VERSION Tue Aug 26 15:19:34 2008
@@ -1 +1 @@
-2.16.3
+2.17.0
Modified: trunk/nis-client/package/yast2-nis-client.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/package/yast2-nis-client.changes?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/package/yast2-nis-client.changes (original)
+++ trunk/nis-client/package/yast2-nis-client.changes Tue Aug 26 15:19:34 2008
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Aug 26 14:21:23 CEST 2008 - mc@suse.de
+
+- 2.17.0
+- Netconfig patch for fine-grained merging of static and
+ DHCP-supplied data
+
+-------------------------------------------------------------------
Tue May 20 15:27:26 CEST 2008 - jsuchome@suse.cz
- pass correct service name to SuSEFirewallServices
Modified: trunk/nis-client/src/Nis.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/src/Nis.ycp?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/src/Nis.ycp (original)
+++ trunk/nis-client/src/Nis.ycp Tue Aug 26 15:19:34 2008
@@ -68,7 +68,7 @@
/**
* IP addresses of NIS servers.
*/
- global list<string> servers = [];
+ global list <string> servers = [];
/**
* @return Access the servers as a string
@@ -111,10 +111,250 @@
global map slp_domain = $[];
+ global boolean manual = false;
+
+ global string policy = "auto";
+
string domain = "";
string old_domain = nil;
boolean domain_changed = false;
+ list<string> static_keylist = [];
+
+ global define void getNetconfigValues() ``{
+
+ y2milestone("getNetconfigValues called");
+
+ policy = (string)SCR::Read(.sysconfig.network.config.NETCONFIG_NIS_POLICY);
+
+ map > staticVals = $[];
+
+ list<string> keylist = SCR::Dir(.sysconfig.network.config);
+
+ y2milestone("KEYLIST: %1", keylist);
+
+ foreach (string key, keylist, ``{
+ if (!issubstring(key, "NETCONFIG_NIS_STATIC_DOMAIN") &&
+ !issubstring(key, "NETCONFIG_NIS_STATIC_SERVERS"))
+ continue;
+
+
+ string value = (string)SCR::Read(add(.sysconfig.network.config, key));
+
+ y2milestone("Found %1 = %2", key, value);
+
+ string num = "";
+
+ if(key == "NETCONFIG_NIS_STATIC_DOMAIN")
+ {
+ staticVals["0"] = add(staticVals["0"]:$[], "DOMAIN", value );
+ }
+ else if (key == "NETCONFIG_NIS_STATIC_SERVERS")
+ {
+ staticVals["0"] = add(staticVals["0"]:$[], "SERVERS", value );
+ }
+ else
+ {
+ static_keylist = add(static_keylist, key);
+
+ num = regexpsub(key, "^NETCONFIG_STATIC_NIS_(DOMAIN|SERVERS)_(.*)", "\\2");
+
+ y2milestone("try to get the number: %1", num);
+
+ if( issubstring(key, "NETCONFIG_NIS_STATIC_DOMAIN"))
+ {
+ staticVals[num] = add(staticVals[num]:$[], "DOMAIN", value );
+ }
+ else if( issubstring(key, "NETCONFIG_NIS_STATIC_SERVERS"))
+ {
+ staticVals[num] = add(staticVals[num]:$[], "SERVERS", value );
+ }
+ }
+ });
+
+ y2milestone("STATIC VALS: %1", staticVals);
+
+ foreach (string key, map value, staticVals, ``{
+ if(value["DOMAIN"]:nil == "")
+ {
+ if(value["SERVERS"]:"" != "")
+ {
+ string sr = GetServers()+" "+value["SERVERS"]:"" ;
+ SetServers(sr);
+ }
+ }
+ else if(value["DOMAIN"]:nil == "broadcast")
+ {
+ default_broadcast = true;
+ }
+ else if(value["DOMAIN"]:"" != "")
+ {
+ if(value["SERVERS"]:nil == "broadcast")
+ {
+ multidomain_broadcast = add(multidomain_broadcast, value["DOMAIN"]:"", true);
+ }
+ else if(value["SERVERS"]:nil == "slp")
+ {
+ slp_domain = add(slp_domain, value["DOMAIN"]:"", true);
+ }
+ else if(value["SERVERS"]:"" != "")
+ {
+ multidomain_servers = add(multidomain_servers, value["DOMAIN"]:"",
+ splitstring(value["SERVERS"]:"", " "));
+ }
+ }
+ });
+ foreach (string domain, list<string> value, multidomain_servers, ``{
+ if(!haskey(multidomain_broadcast, domain))
+ {
+ multidomain_broadcast = add(multidomain_broadcast, domain, false);
+ }
+ });
+
+ foreach (string domain, any value, (map)multidomain_broadcast, ``{
+ if(!haskey(multidomain_servers, domain))
+ {
+ multidomain_servers = add(multidomain_servers, domain, []);
+ }
+ });
+
+ foreach (string domain, any value, (map)slp_domain, ``{
+ if(!haskey(multidomain_servers, domain))
+ {
+ multidomain_servers = add(multidomain_servers, domain, []);
+ }
+ });
+
+ y2milestone("Servers: %1", servers);
+ y2milestone("multidomain_servers: %1", multidomain_servers);
+ y2milestone("multidomain_broadcast: %1", multidomain_broadcast);
+ y2milestone("slp_domain: %1", slp_domain);
+ y2milestone("default_broadcast: %1", default_broadcast);
+
+ }
+
+
+ global define void setNetconfigValues() ``{
+
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_POLICY, policy);
+
+ foreach (string domain, list value, (map)multidomain_servers, ``{
+ if(!haskey(multidomain_broadcast, domain))
+ {
+ multidomain_broadcast = add(multidomain_broadcast, domain, false);
+ }
+ });
+
+ foreach (string domain, boolean value, (map)multidomain_broadcast, ``{
+ if(!haskey(multidomain_servers, domain))
+ {
+ multidomain_servers = add(multidomain_servers, domain, []);
+ }
+ });
+
+ foreach (string domain, boolean value, (map)slp_domain, ``{
+ if(!haskey(multidomain_servers, domain))
+ {
+ multidomain_servers = add(multidomain_servers, domain, []);
+ }
+ });
+
+ foreach(string key, static_keylist, ``{
+ y2milestone("Remove : %1", key);
+ SCR::Write(add(.sysconfig.network.config, key), nil);
+ });
+ /* remove the content of this */
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, "");
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, "");
+
+ integer cnt = 0;
+
+ y2milestone("Servers: %1", servers);
+ y2milestone("multidomain_servers: %1", multidomain_servers);
+ y2milestone("multidomain_broadcast: %1", multidomain_broadcast);
+ y2milestone("slp_domain: %1", slp_domain);
+ y2milestone("default_broadcast: %1", default_broadcast);
+
+ if(size(servers) > 0)
+ {
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, "");
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, mergestring(servers, " "));
+ cnt = cnt + 1;
+ }
+
+ foreach( string dom, list<string> srvs, multidomain_servers, ``{
+ if(dom == "")
+ continue;
+
+ if(size(srvs) > 0)
+ {
+ if(cnt == 0)
+ {
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, dom);
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, mergestring(srvs, " "));
+ }
+ else
+ {
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_DOMAIN_"+cnt), dom);
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_SERVERS_"+cnt), mergestring(srvs, " "));
+ }
+ cnt = cnt + 1;
+ }
+
+ if(multidomain_broadcast[dom]:false == true)
+ {
+ if(cnt == 0)
+ {
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, dom);
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, "broadcast");
+ }
+ else
+ {
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_DOMAIN_"+cnt), dom);
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_SERVERS_"+cnt), "broadcast");
+ }
+ cnt = cnt + 1;
+ }
+
+ if(slp_domain[dom]:false == true)
+ {
+ if(cnt == 0)
+ {
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, dom);
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, "slp");
+ }
+ else
+ {
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_DOMAIN_"+cnt), dom);
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_SERVERS_"+cnt), "slp");
+ }
+ cnt = cnt + 1;
+ }
+
+ });
+ if(default_broadcast == true)
+ {
+ if(cnt == 0)
+ {
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN, "broadcast");
+ SCR::Write(.sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS, "");
+ }
+ else
+ {
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_DOMAIN_"+cnt), "broadcast");
+ SCR::Write(add(.sysconfig.network.config, "NETCONFIG_NIS_STATIC_SERVERS_"+cnt), "");
+ }
+ cnt = cnt + 1;
+ }
+
+ if (! SCR::Write(.sysconfig.network.config, nil))
+ {
+ Report::Error (Message::ErrorWritingFile ("/etc/sysconfig/network/config"));
+ }
+ }
+
+
+
/**
* If the domain has changed from a nonempty one, it may only be
* changed at boot time. Use this to warn the user.
@@ -151,7 +391,7 @@
* It will be turned off if dhcp_possible is off
* (the user can override it)
*/
- global boolean dhcp_wanted = false;
+ /* global boolean dhcp_wanted = false; */
/**
* #35654: if the server is running and sysconfig wants NIS data,
@@ -367,7 +607,7 @@
domain = settings["nis_domain"]:"";
old_domain = domain;
- dhcp_wanted = settings["nis_by_dhcp"]:false;
+ //dhcp_wanted = settings["nis_by_dhcp"]:false;
// we have to hope the config will be available
dhcp_possible = true;
// we don't know what the state will be before Write, so restart it
@@ -468,7 +708,7 @@
"nis_other_domains": other_domains,
- "nis_by_dhcp": dhcp_wanted,
+ //"nis_by_dhcp": dhcp_wanted,
"nis_local_only": local_only,
"nis_broken_server": broken_server,
@@ -535,14 +775,12 @@
summary = Summary::AddLine(summary, (start) ? _("Yes") : nc);
// summary header
summary = Summary::AddHeader(summary, _("NIS Domain"));
- summary = Summary::AddLine(summary,
- dhcp_wanted ? dhcp :
- ((domain != "") ? domain : nc));
- // summary header
+ summary = Summary::AddLine(summary,((domain != "") ? domain : nc));
+
+
+ // summary header
summary = Summary::AddHeader(summary, _("NIS Servers"));
- summary = Summary::AddLine(summary,
- dhcp_wanted ? dhcp :
- ((servers !=[]) ? mergestring(servers,"<br>") : nc));
+ summary = Summary::AddLine(summary, ((servers !=[]) ? mergestring(servers,"<br>") : nc));
// summary header
summary = Summary::AddHeader(summary, _("Broadcast"));
// summary item: an option is turned on
@@ -592,11 +830,9 @@
string nc = Summary::NotConfigured ();
summary =
// summary item
- BrItem (_("Servers"), dhcp_wanted ? dhcp :
- ((servers !=[]) ? GetServers() : nc)) +
+ BrItem (_("Servers"), ((servers !=[]) ? GetServers() : nc)) +
// summary item
- BrItem (_("Domain"), dhcp_wanted ? dhcp :
- ((domain != "") ? domain : nc)) +
+ BrItem (_("Domain"), ((domain != "") ? domain : nc)) +
// summary item (yes/no follows)
BrItem (_("Client Enabled"), start ? _("Yes"): _("No"));
@@ -610,11 +846,8 @@
global define boolean Read () ``{
start = Service::Enabled("ypbind");
- servers = (list<string>) SCR::Read (.etc.yp_conf.servers);
- default_broadcast = (boolean) SCR::Read (.etc.yp_conf.defaultbroadcast);
- multidomain_servers = (map) SCR::Read (.etc.yp_conf.domainservers);
- multidomain_broadcast = (map) SCR::Read (.etc.yp_conf.broadcast);
- slp_domain = (map) SCR::Read (.etc.yp_conf.slp);
+ getNetconfigValues();
+
if (servers == nil) servers = [];
if (default_broadcast == nil) default_broadcast = false;
if (multidomain_servers == nil) multidomain_servers = $[];
@@ -625,11 +858,12 @@
domain = deletechars (out["stdout"]:"", "\n");
old_domain = domain;
+
boolean servers_by_dhcp_wanted = SCR::Read (
.sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF) == "yes";
boolean domain_by_dhcp_wanted = SCR::Read (
.sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME) == "yes";
- dhcp_wanted = servers_by_dhcp_wanted && domain_by_dhcp_wanted;
+ //dhcp_wanted = servers_by_dhcp_wanted && domain_by_dhcp_wanted;
dhcpcd_running =
SCR::Execute (.target.bash, "ls /var/run/dhcpcd-*.pid") == 0;
@@ -641,12 +875,14 @@
dhcp_possible = servers_by_dhcp_possible && domain_by_dhcp_possible;
// we do it here instead of in the ui so that the user can override it
// in the ui or switch single/multiple domains
+ /*
if (dhcp_wanted && !dhcp_possible)
{
dhcp_wanted = false;
Touch (true);
}
-
+ */
+
local_only = SCR::Read (.sysconfig.ypbind.YPBIND_LOCAL_ONLY) == "yes";
global_broadcast = SCR::Read (.sysconfig.ypbind.YPBIND_BROADCAST) == "yes";
broken_server = SCR::Read (.sysconfig.ypbind.YPBIND_BROKEN_SERVER) == "yes";
@@ -691,7 +927,7 @@
];
domain = "example.com";
old_domain = domain;
- dhcp_wanted = false;
+ //dhcp_wanted = false;
dhcp_possible = false; // to see the warning popup
local_only = false;
global_broadcast = false;
@@ -873,8 +1109,10 @@
Service::Enable("portmap");
Service::Enable("ypbind");
+ /*
if (!dhcp_wanted)
{
+ */
if (!SCR::Write (.etc.defaultdomain, domain))
{
Report::Error (
@@ -885,17 +1123,11 @@
// so that dhcpcd cannot restore it
SCR::Execute (.target.remove, "/etc/yp.conf.sv");
- SCR::Write (.etc.yp_conf.servers, servers);
- SCR::Write (.etc.yp_conf.defaultbroadcast, default_broadcast);
- SCR::Write (.etc.yp_conf.domainservers, multidomain_servers);
- SCR::Write (.etc.yp_conf.broadcast, multidomain_broadcast);
- SCR::Write (.etc.yp_conf.slp, slp_domain);
- if (! SCR::Write (.etc.yp_conf, nil))
- {
- Report::Error (Message::ErrorWritingFile ("/etc/yp.conf"));
- return false;
- }
- }
+ setNetconfigValues();
+
+ SCR::Execute(.target.bash, "/sbin/netconfig update");
+
+ //}
SCR::Write (.sysconfig.ypbind.YPBIND_LOCAL_ONLY, local_only? "yes":"no");
SCR::Write (.sysconfig.ypbind.YPBIND_BROADCAST, global_broadcast? "yes":"no");
SCR::Write (.sysconfig.ypbind.YPBIND_BROKEN_SERVER, broken_server? "yes":"no");
@@ -908,9 +1140,9 @@
}
SCR::Write (.sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME,
- dhcp_wanted? "yes":"no");
- SCR::Write (.sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF,
- dhcp_wanted? "yes":"no");
+ !manual? "yes":"no");
+ SCR::Write (.sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF, "no");
+
if (! SCR::Write (.sysconfig.network.dhcp, nil))
{
Report::Error (Message::ErrorWritingFile (
Modified: trunk/nis-client/src/nis.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/src/nis.ycp?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/src/nis.ycp (original)
+++ trunk/nis-client/src/nis.ycp Tue Aug 26 15:19:34 2008
@@ -104,8 +104,8 @@
boolean ret = NisChangeConfiguration (options);
Nis::start = true;
- if (Nis::GetDomain () == "" || Nis::GetServers () == "")
- Nis::dhcp_wanted = true;
+ //if (Nis::GetDomain () == "" || Nis::GetServers () == "")
+ //Nis::dhcp_wanted = true;
return true;
}
Modified: trunk/nis-client/src/ui.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/src/ui.ycp?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/src/ui.ycp (original)
+++ trunk/nis-client/src/ui.ycp Tue Aug 26 15:19:34 2008
@@ -238,7 +238,7 @@
help_text = help_text + firewall_widget["help"]:"";
- boolean dhcp_wanted = Nis::dhcp_wanted || NetworkService::IsManaged ();
+ //boolean dhcp_wanted = Nis::dhcp_wanted || NetworkService::IsManaged ();
string domain = Nis::GetDomain ();
string servers = Nis::GetServers ();
@@ -287,12 +287,23 @@
term nis_frame = `Frame (_("NIS client"), `HBox (`HSpacing (0.4),
`VBox (
`VSpacing (0.2),
- `RadioButtonGroup (`id (`dhcpg), `VBox (
- `Left (`RadioButton (`id (`dhcpyes), `opt (`notify),
- automatic_label, dhcp_wanted)),
- // radio button label
- `Left (`RadioButton (`id (`dhcpno), `opt (`notify), _("&Static Setup"), !dhcp_wanted))
- )),
+ `HBox (
+ `ComboBox(`id(`policy), `opt (`notify), _("Nis &Policy"),
+ [`item(`id(`nomodify), "manual"),
+ `item(`id(`auto), "auto"),
+ `item(`id(`custom), "custom")]),
+ `TextEntry(`id(`custompolicy), `opt(`hstrech), _("C&ustom Policy"), "")
+ ),
+
+
+// `RadioButtonGroup (`id (`dhcpg), `VBox (
+// `Left (`RadioButton (`id (`dhcpyes), `opt (`notify),
+// automatic_label, dhcp_wanted)),
+// radio button label
+// `Left (`RadioButton (`id (`dhcpno), `opt (`notify), _("&Static Setup"), !dhcp_wanted))
+// )),
+
+
`VSpacing (0.2),
// text entry label
`TextEntry (`id (`domain), _("N&IS Domain"), domain),
@@ -364,38 +375,81 @@
UI::ChangeWidget (`id (`autofs), `Enabled, Nis::_autofs_allowed);
+ if(Nis::policy == "")
+ {
+ UI::ChangeWidget (`id (`policy), `Value, `id(`nomodify));
+ UI::ChangeWidget (`id (`custompolicy), `Enabled, false);
+ }
+ else if(Nis::policy == "auto" || Nis::policy == "STATIC *")
+ {
+ UI::ChangeWidget (`id (`policy), `Value, `id(`auto));
+ UI::ChangeWidget (`id (`custompolicy), `Enabled, false);
+ }
+ else
+ {
+ UI::ChangeWidget (`id (`policy), `Value, `id(`custom));
+ UI::ChangeWidget (`id (`custompolicy), `Enabled, true);
+ UI::ChangeWidget (`id (`custompolicy), `Value, Nis::policy);
+ }
+
map event = $[];
symbol result = nil;
repeat
{
+ y2milestone("LOOP: %1", result);
+
yp_client = ((symbol) UI::QueryWidget (`id (`rd), `CurrentButton) != `nisno);
UI::ChangeWidget (`id (`expert), `Enabled, yp_client);
- UI::ChangeWidget (`id (`dhcpno), `Enabled, yp_client);
- UI::ChangeWidget (`id (`dhcpyes), `Enabled, yp_client);
+ UI::ChangeWidget (`id (`policy), `Enabled, yp_client);
+ //UI::ChangeWidget (`id (`custompolicy), `Enabled, yp_client);
UI::ChangeWidget (`id (`autofs), `Enabled, yp_client);
- dhcp_wanted = ((symbol) UI::QueryWidget (`id (`dhcpg), `CurrentButton) == `dhcpyes);
- UI::ChangeWidget (`id (`domain), `Enabled, !dhcp_wanted && yp_client);
- UI::ChangeWidget (`id (`servers), `Enabled, !dhcp_wanted && yp_client);
- UI::ChangeWidget (`id (`broadcast), `Enabled, !dhcp_wanted && yp_client);
- UI::ChangeWidget (`id (`find), `Enabled, !dhcp_wanted && yp_client);
- UI::ChangeWidget (`id (`edit), `Enabled, !dhcp_wanted && yp_client);
- UI::ChangeWidget (`id (`adddomains), `Enabled, !dhcp_wanted && yp_client);
+ //dhcp_wanted = ((symbol) UI::QueryWidget (`id (`dhcpg), `CurrentButton) == `dhcpyes);
+ Nis::manual = ((symbol) UI::QueryWidget (`id (`policy), `Value) == `nomodify);
+ UI::ChangeWidget (`id (`domain), `Enabled, !Nis::manual && yp_client);
+ UI::ChangeWidget (`id (`servers), `Enabled, !Nis::manual && yp_client);
+ UI::ChangeWidget (`id (`broadcast), `Enabled, !Nis::manual && yp_client);
+ UI::ChangeWidget (`id (`find), `Enabled, !Nis::manual && yp_client);
+ UI::ChangeWidget (`id (`edit), `Enabled, !Nis::manual && yp_client);
+ UI::ChangeWidget (`id (`adddomains), `Enabled, !Nis::manual && yp_client);
+
+ if(result == `policy)
+ {
+ symbol mode = (symbol)UI::QueryWidget(`id(`policy), `Value);
+ y2milestone("mode: %1", mode);
+ if(mode == `nomodify || mode == `auto)
+ {
+ y2milestone("Disable custompolicy");
+ UI::ChangeWidget (`id (`custompolicy), `Value, "");
+ UI::ChangeWidget (`id (`custompolicy), `Enabled, false);
+ }
+ else
+ {
+ y2milestone("Enable custompolicy");
+ UI::ChangeWidget (`id (`custompolicy), `Value, Nis::policy);
+ UI::ChangeWidget (`id (`custompolicy), `Enabled, (true && yp_client));
+ }
+ }
+
event = UI::WaitForEvent ();
result = (symbol) event["ID"]:nil;
CWMFirewallInterfaces::OpenFirewallHandle(firewall_widget,"",event);
- if (result == `cancel)
+ if (result == `cancel)
{
result = `abort;
}
+ /*
if (result == `dhcpyes)
{
WarnIfDhcpNotServed ();
}
- else if (result == `find)
+ else
+ */
+
+ if (result == `find)
{
domain = (string) UI::QueryWidget (`id (`domain), `Value);
if (domain == "")
@@ -432,11 +486,24 @@
}
}
+ if(UI::QueryWidget (`id (`policy), `Value) == `custom)
+ {
+ Nis::policy = (string)UI::QueryWidget (`id (`custompolicy), `Value);
+ }
+ else if(UI::QueryWidget (`id (`policy), `Value) == `auto)
+ {
+ Nis::policy = "auto";
+ }
+ else
+ {
+ Nis::policy = "";
+ }
+
domain = (string) UI::QueryWidget (`id (`domain), `Value);
servers = (string) UI::QueryWidget (`id (`servers), `Value);
default_broadcast = (boolean) UI::QueryWidget (`id (`broadcast), `Value);
- if (yp_client && !dhcp_wanted &&
+ if (yp_client && !Nis::manual &&
!Nis::check_nisdomainname (domain))
{
UI::SetFocus (`id (`domain));
@@ -447,7 +514,7 @@
list<string> temp_ad = filter (
string a, splitstring (servers, " "), ``(a != ""));
- if (yp_client && !dhcp_wanted && !default_broadcast &&
+ if (yp_client && !Nis::manual && !default_broadcast &&
(size (temp_ad) == 0 ||
find (string a, temp_ad,
``(!Nis::check_address_nis (a))) != nil))
@@ -471,11 +538,14 @@
Nis::Touch (Nis::start != yp_client);
Nis::start = yp_client;
+ Nis::dhcp_restart = false;
+ /*
Nis::dhcp_restart = Nis::dhcp_restart ||
(Nis::dhcp_wanted != dhcp_wanted);
Nis::Touch (Nis::dhcp_restart);
Nis::dhcp_wanted = dhcp_wanted;
-
+ */
+
Nis::SetDomain (domain);
Nis::SetServers (servers);
Nis::Touch (Nis::default_broadcast != default_broadcast);
@@ -1043,7 +1113,7 @@
* It is done only after read.
*/
define void FitIntoSingle () ``{
- if (Nis::dhcp_wanted && Nis::dhcpcd_running)
+ if (!Nis::manual && Nis::dhcpcd_running)
{
string d = Nis::GetDomain ();
if (size (Nis::multidomain_servers) == 1)
Modified: trunk/nis-client/testsuite/tests/readwrite.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/nis-client/testsuite/tests/readwrite.out?rev=50380&r1=50379&r2=50380&view=diff
==============================================================================
--- trunk/nis-client/testsuite/tests/readwrite.out (original)
+++ trunk/nis-client/testsuite/tests/readwrite.out Tue Aug 26 15:19:34 2008
@@ -1,11 +1,8 @@
Dump DHCP off
Read .init.scripts.exists "ypbind" true
Read .init.scripts.runlevel "ypbind" $["autofs":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]], "ypbind":$["start":["3", "5"], "stop":["3", "5"]]]
-Read .etc.yp_conf.servers ["10.20.30.40", "10.20.30.80"]
-Read .etc.yp_conf.defaultbroadcast false
-Read .etc.yp_conf.domainservers $["otherdomain":["1.2.3.4"]]
-Read .etc.yp_conf.broadcast $["otherdomain":true]
-Read .etc.yp_conf.slp $["slpdomain":true]
+Read .sysconfig.network.config.NETCONFIG_NIS_POLICY nil
+Dir .sysconfig.network.config: []
Execute .target.bash_output "/bin/ypdomainname" $["exit":0, "stderr":"", "stdout":"mydomain\n"]
Read .sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF "no"
Read .sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME "no"
@@ -42,18 +39,17 @@
Read .init.scripts.comment "ypbind" $["autofs":$[], "portmap":$[], "ypbind":$[]]
Write .etc.defaultdomain "mydomain" true
Execute .target.remove "/etc/yp.conf.sv" true
-Write .etc.yp_conf.servers ["10.20.30.40", "10.20.30.80"] true
-Write .etc.yp_conf.defaultbroadcast false true
-Write .etc.yp_conf.domainservers $["otherdomain":["1.2.3.4"]] true
-Write .etc.yp_conf.broadcast $["otherdomain":true] true
-Write .etc.yp_conf.slp $["slpdomain":true] true
-Write .etc.yp_conf nil true
+Write .sysconfig.network.config.NETCONFIG_NIS_POLICY nil true
+Write .sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN "" true
+Write .sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS "" true
+Write .sysconfig.network.config nil true
+Execute .target.bash "/sbin/netconfig update" 0
Write .sysconfig.ypbind.YPBIND_LOCAL_ONLY "no" true
Write .sysconfig.ypbind.YPBIND_BROADCAST "no" true
Write .sysconfig.ypbind.YPBIND_BROKEN_SERVER "no" true
Write .sysconfig.ypbind.YPBIND_OPTIONS "" true
Write .sysconfig.ypbind nil true
-Write .sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME "no" true
+Write .sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME "yes" true
Write .sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF "no" true
Write .sysconfig.network.dhcp nil true
Read .etc.nsswitch_conf."passwd" "compat"
@@ -99,11 +95,8 @@
Dump DHCP on
Read .init.scripts.exists "ypbind" true
Read .init.scripts.runlevel "ypbind" $["autofs":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]], "ypbind":$["start":["3", "5"], "stop":["3", "5"]]]
-Read .etc.yp_conf.servers ["10.20.30.40", "10.20.30.80"]
-Read .etc.yp_conf.defaultbroadcast false
-Read .etc.yp_conf.domainservers $["otherdomain":["1.2.3.4"]]
-Read .etc.yp_conf.broadcast $["otherdomain":true]
-Read .etc.yp_conf.slp $["slpdomain":true]
+Read .sysconfig.network.config.NETCONFIG_NIS_POLICY nil
+Dir .sysconfig.network.config: []
Execute .target.bash_output "/bin/ypdomainname" $["exit":0, "stderr":"", "stdout":"mydomain\n"]
Read .sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF "yes"
Read .sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME "yes"
@@ -135,13 +128,20 @@
Read .init.scripts.exists "ypbind" true
Read .init.scripts.runlevel "ypbind" $["autofs":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]], "ypbind":$["start":["3", "5"], "stop":["3", "5"]]]
Read .init.scripts.comment "ypbind" $["autofs":$[], "portmap":$[], "ypbind":$[]]
+Write .etc.defaultdomain "mydomain" true
+Execute .target.remove "/etc/yp.conf.sv" true
+Write .sysconfig.network.config.NETCONFIG_NIS_POLICY nil true
+Write .sysconfig.network.config.NETCONFIG_NIS_STATIC_DOMAIN "" true
+Write .sysconfig.network.config.NETCONFIG_NIS_STATIC_SERVERS "" true
+Write .sysconfig.network.config nil true
+Execute .target.bash "/sbin/netconfig update" 0
Write .sysconfig.ypbind.YPBIND_LOCAL_ONLY "no" true
Write .sysconfig.ypbind.YPBIND_BROADCAST "no" true
Write .sysconfig.ypbind.YPBIND_BROKEN_SERVER "no" true
Write .sysconfig.ypbind.YPBIND_OPTIONS "" true
Write .sysconfig.ypbind nil true
Write .sysconfig.network.dhcp.DHCLIENT_SET_DOMAINNAME "yes" true
-Write .sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF "yes" true
+Write .sysconfig.network.dhcp.DHCLIENT_MODIFY_NIS_CONF "no" true
Write .sysconfig.network.dhcp nil true
Read .etc.nsswitch_conf."passwd" "compat"
Write .etc.nsswitch_conf."passwd_compat" nil true
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org