Author: mzugec
Date: Fri Jul 20 18:24:47 2007
New Revision: 39580
URL: http://svn.opensuse.org/viewcvs/yast?rev=39580&view=rev
Log:
disable to configure card without kernel device
fixed interface proposal (#292401)
write ipv6 correctly (#288744)
improved firmware database
Modified:
trunk/network/VERSION
trunk/network/package/yast2-network.changes
trunk/network/src/lan/complex.ycp
trunk/network/src/modules/Lan.ycp
trunk/network/src/modules/LanItems.ycp
trunk/network/src/routines/complex.ycp
trunk/network/testsuite/tests/Internet.out
Modified: trunk/network/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/VERSION?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/VERSION (original)
+++ trunk/network/VERSION Fri Jul 20 18:24:47 2007
@@ -1 +1 @@
-2.15.49
+2.15.50
Modified: trunk/network/package/yast2-network.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/package/yast2-network.changes?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/package/yast2-network.changes (original)
+++ trunk/network/package/yast2-network.changes Fri Jul 20 18:24:47 2007
@@ -1,4 +1,13 @@
-------------------------------------------------------------------
+Fri Jul 20 18:19:27 CEST 2007 - mzugec@suse.de
+
+- disable to configure card without kernel device
+- fixed interface proposal (#292401)
+- write ipv6 correctly (#288744)
+- improved firmware database
+- 2.15.50
+
+-------------------------------------------------------------------
Wed Jul 18 14:50:48 CEST 2007 - mzugec@suse.cz
- disallow to configure card without kernel device
Modified: trunk/network/src/lan/complex.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/lan/complex.ycp?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/src/lan/complex.ycp (original)
+++ trunk/network/src/lan/complex.ycp Fri Jul 20 18:24:47 2007
@@ -116,20 +116,21 @@
//non-empty keys are firmware packages shipped by SUSE
map request_firmware = $[
"atmel_pci" : "atmel-firmware",
- "atmel_cs" : "atmel-firmware",
- "bcm43xx" : "",
+ "atmel_cs" : "atmel-firmware",
+ "at76_usb" : "atmel-firmware",
"ipw2100" : "ipw-firmware",
"ipw2200" : "ipw-firmware",
+ "ipw3945" : "ipw-firmware",
+ "iwlwifi" : "ipw-firmware",
+ "bcm43xx" : "",
"prism54" : "",
"spectrum_cs" : "",
"zd1201" : "",
"zd1211rw" : "",
"acx" : "",
- "at76_usb" : "atmel-firmware",
- "ipw3945" : "ipw-firmware",
"rt61pci" : "",
"rt73usb" : "",
- "rt73" : "",
+ "prism54usb":""
];
Lan::Add ();
@@ -183,12 +184,18 @@
}
-define void IPv6Init (string key) {
+define void initIPv6 (string key) {
UI::ChangeWidget (`id (`ipv6), `Value, Lan::ipv6 ? true : false);
}
-define void IPv6Store (string key, map event) {
- if ((boolean) UI::QueryWidget (`id (`ipv6), `Value))
+
+define symbol handleIPv6( string key, map event ) {
+ if (event["EventReason"]:""=="ValueChanged") Lan::SetIPv6((boolean)UI::QueryWidget (`id (`ipv6), `Value));
+ return nil;
+}
+
+define void storeIPv6 (string key, map event) {
+ if ((boolean) UI::QueryWidget (`id (`ipv6), `Value))
Lan::SetIPv6(true);
else
Lan::SetIPv6(false);
@@ -343,12 +350,13 @@
"widget": `custom,
"custom_widget" :
`Frame ( _("IPv6 Protocol Settings"),
- `Left(`CheckBox(`id(`ipv6), _("Enable IPv6")))
+ `Left(`CheckBox(`id(`ipv6), `opt(`notify), _("Enable IPv6")))
),
"opt": [],
"help": help["ipv6"]:"",
- "init": IPv6Init,
- "store": IPv6Store,
+ "init": initIPv6,
+ "handle": handleIPv6,
+ "store": storeIPv6,
],
"OVERVIEW" : $[
"widget" : `custom,
Modified: trunk/network/src/modules/Lan.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/modules/Lan.ycp?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/src/modules/Lan.ycp (original)
+++ trunk/network/src/modules/Lan.ycp Fri Jul 20 18:24:47 2007
@@ -292,18 +292,14 @@
global void SetIPv6(boolean status){
if(ipv6 != status) {
ipv6=status;
+ Popup::Warning(_("To apply this change reboot is needed."));
LanItems::SetModified();
}
}
void writeIPv6(){
- if (ipv6){
- SCR::Execute(.target.string, "#install ipv6 /bin/true", "/etc/modprobe.d/ipv6");
- SCR::Write(.sysconfig.windowmanager.KDE_USE_IPV6, "yes");
- } else {
- SCR::Execute(.target.string, "install ipv6 /bin/true", "/etc/modprobe.d/ipv6");
- SCR::Write(.sysconfig.windowmanager.KDE_USE_IPV6, "no");
- }
+ SCR::Write(.target.string, "/etc/modprobe.d/ipv6", sformat("%1install ipv6 /bin/true", ipv6?"#":""));
+ SCR::Write(.sysconfig.windowmanager.KDE_USE_IPV6, ipv6?"yes":"no");
}
@@ -517,7 +513,8 @@
boolean split = (mode == "split");
- list sum = BuildSummary("netcard", LanItems::Hardware, split, mode == "proposal");
+// list sum = BuildSummary("netcard", LanItems::Hardware, split, mode == "proposal");
+ list sum = LanItems::BuildLanOverview();
/* Testing improved summary */
if(mode == "summary")
@@ -609,7 +606,6 @@
LanItems::interfacename = NetworkDevices::Name;
return true;
}
-
/**
* Delete the given device
* @param name device to delete
@@ -656,6 +652,8 @@
boolean nm_installed = Package::Installed ("NetworkManager");
y2milestone ("NetworkManager wanted: %1, installed: %2", nm_default, nm_installed);
+// NETWORK MANAGER force disabled
+nm_default=false;
return nm_default && nm_installed;
}
@@ -666,17 +664,16 @@
*/
define void ProposeNMInterfaces () {
y2milestone ("Minimal ifcfgs for NM");
- foreach (map hwitem, LanItems::Hardware, {
- Add ();
-
- LanItems::SelectHWMap (hwitem);
- LanItems::SetDefaultsForHW ();
- LanItems::ipaddr = "";
- LanItems::bootproto = "dhcp";
- // will say "Device already present" for existing because of Add,
- // which is what we want
- LanItems::Commit ();
+ foreach (integer number, any lanitem, LanItems::Items, {
+ if (hasAnyValue(((map)lanitem)["hwinfo", "dev_name"]:"")) {
+ LanItems::current = number;
+ if (!LanItems::IsItemConfigured()){
+y2internal("not configured - will configure %1", LanItems::getCurrentItem());
+ LanItems::ProposeItemConfiguration();
+ }
+ }
});
+
}
/**
@@ -706,31 +703,51 @@
return true;
}
+
/* Something is already configured -> do nothing */
- list<string> devs = NetworkDevices::List("netcard");
- if(size(devs) > 0) {
- y2milestone("Something already configured: don't propose.");
- y2milestone("devs=%1", devs);
- return false;
- }
+ foreach (integer number, any lanitem, LanItems::Items, {
+// if (hasAnyValue(((map)lanitem)["hwinfo", "dev_name"]:"")) {
+ LanItems::current = number;
+ if (LanItems::IsItemConfigured()){
+ y2milestone("Something already configured: don't propose.");
+// y2milestone("devs=%1", devs);
+ return false;
+ }
+// }
+ });
+
+
+ foreach (integer number, any lanitem, LanItems::Items, {
+ if (hasAnyValue(((map)lanitem)["hwinfo", "dev_name"]:"")) {
+ LanItems::current = number;
+ if (!LanItems::IsItemConfigured()){
+y2internal("not configured - will configure");
+ LanItems::ProposeItemConfiguration();
+ break;
+ }
+ }
+ });
+
- Add();
- map tosel = nil;
+
+// Add();
+
+// map tosel = nil;
/* Some HW found -> use it for proposal */
- if(size(LanItems::Hardware) > 0) {
+// if(size(LanItems::Hardware) > 0) {
// if (Arch::s390()){
// tosel = FindMatchingDevice( $["device":sformat("%1-id-%2",InstallInf["module"]:"", InstallInf["hwaddr"]:"")] );
// }
// else
- tosel = LanItems::FindMatchingDevice($[]);
+// tosel = LanItems::FindMatchingDevice($[]);
- }
+// }
- y2debug("Hardware=%1", LanItems::Hardware);
- y2milestone ("Selected HW w/o install.inf patches: %1", tosel);
+// y2debug("Hardware=%1", LanItems::Hardware);
+// y2milestone ("Selected HW w/o install.inf patches: %1", tosel);
/*
// do not select a card without a driver, #29296
@@ -800,56 +817,57 @@
// This is proposal. also need to do it with
// - add from ui: detected and undetected
// - autoyast
- LanItems::SetDefaultsForHW ();
+// LanItems::SetDefaultsForHW ();
// #145041
// ethtool_options = InstallInf["ethtool_options"]:"";
// #176804
+/*
if (NetworkStorage::isDiskOnNetwork ( NetworkStorage::getDevice("/") ))
{
LanItems::startmode = "nfsroot";
y2milestone ("startmode nfsroot");
}
-
+*/
// ipaddr = InstallInf["ipaddr"]:"";
// bootproto = InstallInf["bootproto"]:"static";
- y2debug("ipaddr,bootproto=%1,%2", LanItems::ipaddr, LanItems::bootproto);
- if(LanItems::bootproto == "static" && LanItems::ipaddr != "" && LanItems::ipaddr != nil) {
+// y2debug("ipaddr,bootproto=%1,%2", LanItems::ipaddr, LanItems::bootproto);
+// if(LanItems::bootproto == "static" && LanItems::ipaddr != "" && LanItems::ipaddr != nil) {
- y2milestone("static proposal");
+// y2milestone("static proposal");
/* propose address setup from /etc/install.inf */
// netmask = InstallInf["netmask"]:"";
- if(LanItems::netmask == nil || LanItems::netmask == "")
- LanItems::netmask = "255.255.255.0";
- }
- else {
+// if(LanItems::netmask == nil || LanItems::netmask == "")
+// LanItems::netmask = "255.255.255.0";
+// }
+// else {
/* Propose static config in case of DSL hardware is found */
- list pppoe = (list) SCR::Read(.probe.pppoe);
+// list pppoe = (list) SCR::Read(.probe.pppoe);
// FIXME: testing pppoe = [ $["a" : "b"] ];
- map pppoedev = pppoe[0]:$[];
- y2milestone ("pppoe=%1", pppoe);
- if(pppoe != nil && size(pppoe) > 0) {
- y2milestone("DSL proposal");
- LanItems::ipaddr = "";
- LanItems::bootproto = "static";
- }
- else {
+// map pppoedev = pppoe[0]:$[];
+// y2milestone ("pppoe=%1", pppoe);
+// if(pppoe != nil && size(pppoe) > 0) {
+// y2milestone("DSL proposal");
+// LanItems::ipaddr = "";
+// LanItems::bootproto = "static";
+// }
+// else {
// Open Enterprise Server does not like DHCP (#50524).
// In that case, we cannot propose.
- if (ProductFeatures::GetBooleanFeature ("network", "force_static_ip"))
- {
- y2milestone ("Static config forced but no info available -> no proposal.");
- return false;
- }
- y2milestone("DHCP proposal");
- LanItems::ipaddr = "";
- LanItems::bootproto = "dhcp";
- }
- }
+// if (ProductFeatures::GetBooleanFeature ("network", "force_static_ip"))
+// {
+// y2milestone ("Static config forced but no info available -> no proposal.");
+// return false;
+// }
+// y2milestone("DHCP proposal");
+// LanItems::ipaddr = "";
+// LanItems::bootproto = "dhcp";
+// }
+// }
- LanItems::Commit();
+// LanItems::Commit();
y2milestone("NetworkConfig::Config=%1", NetworkConfig::Config);
y2milestone("NetworkConfig::DHCP=%1", NetworkConfig::DHCP);
Modified: trunk/network/src/modules/LanItems.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/modules/LanItems.ycp?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/src/modules/LanItems.ycp (original)
+++ trunk/network/src/modules/LanItems.ycp Fri Jul 20 18:24:47 2007
@@ -6,6 +6,7 @@
import "NetworkDevices";
import "ProductFeatures";
import "NetworkConfig";
+import "NetworkStorage";
include "network/complex.ycp";
include "network/routines.ycp";
@@ -240,7 +241,9 @@
return descr;
}
-void BuildLanOverview() {
+global list BuildLanOverview() {
+ list<string> overview=[];
+ list<string> links=[];
map startmode_descrs = $[
// summary description of STARTMODE=auto
"auto": _("Started automatically at boot"),
@@ -264,10 +267,11 @@
if (hasAnyValue(Items[key, "ifcfg"]:"") ){
NetworkDevices::Select(Items[key, "ifcfg"]:"");
- type = NetworkDevices::device_type(NetworkDevices::Name);
+// type = NetworkDevices::device_type(NetworkDevices::Name);
+ type = Items[key, "hwinfo", "type"]:"";
string dev = NetworkDevices::device_name(type, NetworkDevices::Name);
ip = DeviceProtocol(NetworkDevices::Current);
-
+ string status = DeviceStatus(type, NetworkDevices::device_num(NetworkDevices::Name), NetworkDevices::Current);
string startmode_descr = startmode_descrs[NetworkDevices::Current["STARTMODE"]:""]:_("Started manually");
@@ -308,8 +312,26 @@
bullets = bullets + [_("Bond slaves")+ " : " + slaves];
*/
}
+y2internal("%1\n%2", type, NetworkDevices::Current);
+ if (type == "wlan" &&
+ !(NetworkDevices::Current["WIRELESS_AUTH_MODE"]:"" != "open") &&
+ !hasAnyValue(NetworkDevices::Current["WIRELESS_KEY_0"]:""))
+ {
+ // avoid colons
+ dev = mergestring (splitstring (dev, ":"), "/");
+ string href = "lan--wifi-encryption-" + dev;
+ // interface summary: WiFi without encryption
+ string warning = HTML::Colorize (_("Warning: no encryption is used."), "red");
+ status = status + " " + warning + " " +
+ // Hyperlink: Change the configuration of an interface
+ Hyperlink (href, _("Change."));
+ links = add (links, href);
+ }
+
+ overview = add(overview, Summary::Device(descr, status));
+ } else
+ overview = add(overview, Summary::Device(descr, Summary::NotConfigured()));
- }
string conn = HTML::Bold ( (Items[key, "hwinfo", "link"]:false == true)?"":_("(not connected)") );
string mac_dev="";
if (hasAnyValue(Items[key, "hwinfo", "mac"]:"")) mac_dev= HTML::Bold ("MAC : ") + Items[key, "hwinfo", "mac"]:"" + "<br>";
@@ -329,6 +351,7 @@
"table_descr": [descr, ip]
];
});
+ return [ Summary::DevicesList(overview), links ];
}
@@ -503,6 +526,7 @@
* must be in sync with @ref GetDefaultsForHW
*/
global define void SetDefaultsForHW () {
+y2internal("SetDefaultsForHW type %1", type);
if (type == "wlan")
{
usercontrol = true;
@@ -511,12 +535,13 @@
{
mtu = "1492";
}
-
+/*
if (!needHwcfg(hw)){
nm_name_old = nm_name;
nm_name = "";
}
y2milestone("hwcfg name %1", nm_name);
+*/
}
string GetDeviceVar (map primary, map fallback, string key) {
@@ -677,7 +702,7 @@
y2debug("dev=%1", dev);
map devmap = $[];
/* dev=="" -> Add */
- if(dev == "") {
+// if(dev == "") {
// defaults for a new device
devmap = $[
"STARTMODE": "auto", // #115448, #156388
@@ -696,12 +721,13 @@
devmap["STARTMODE"] = product_startmode;
}
- type = "eth";
+ type = LanItems::Items[LanItems::current, "hwinfo", "type"]:"eth";
+// type = "eth0";
device = NetworkDevices::GetFreeDevice(type);
// FIXME: MOD AddModule(type);
- NetworkModules::AddM();
- nm_name = NetworkModules::GetFreeName("static-");
+// NetworkModules::AddM();
+// nm_name = NetworkModules::GetFreeName("static-");
NetworkDevices::Name = GetItemUdev()[1]:"";
LanItems::Items[LanItems::current, "ifcfg"] = NetworkDevices::Name;
@@ -711,29 +737,21 @@
/* FIXME: alias: how to prefill new alias? */
alias = "";
- }
+// }
/* dev!="" -> Edit */
+/* FIXME: NI:
else {
- /* FIXME: NI:
if(!CheckDevice(dev)) {
y2error("Device not found: %1", dev);
return false;
}
- */
NetworkDevices::Edit(dev);
devmap = NetworkDevices::Current;
type = NetworkDevices::device_type(dev);
device = NetworkDevices::device_num(dev);
alias = NetworkDevices::alias_num(dev);
- nm_name = devmap["_nm_name"]:"";
-
- if (nm_name==""){
- nm_name="";
- NetworkModules::AddM();
- nm_name_old = NetworkModules::GetFreeName("static-");
- }
}
-
+*/
/* general stuff */
description = BuildDescription (type, device, devmap, Hardware);
@@ -834,7 +852,7 @@
}
// if(unique != "" && unique != nil) newdev["udi"] = unique;
-
+/*
if(hotplug == "") {
if(alias == "") {
// FIXME: MOD ChangeModule(NetworkDevices::device_name(type, device), operation == `add);
@@ -903,6 +921,7 @@
else Items[current, "hwcfg"]="";
}
}
+*/
if(hotplug == "pcmcia") newdev["DHCLIENT_SET_DOWN_LINK"] = "yes";
@@ -966,7 +985,7 @@
newdev["WIRELESS_POWER"] = wl_power ? "yes" : "no";
}
- if(hasAnyValue(nm_name)) newdev["_nm_name"] = nm_name;
+// if(hasAnyValue(nm_name)) newdev["_nm_name"] = nm_name;
if(DriverType (type) == "ctc")
if(NetworkConfig::Config["WAIT_FOR_INTERFACES"]:nil == nil || NetworkConfig::Config["WAIT_FOR_INTERFACES"]:0 < 40)
@@ -982,15 +1001,10 @@
newdev["_aliases"] = aliases;
y2milestone("aliases %1", aliases);
}
-// NetworkDevices::Name = NetworkDevices::device_name(NetworkDevices::RealType(type, hotplug), device);
-// NetworkDevices::Name = interfacename;
-// }
-// else
-// NetworkDevices::Name = NetworkDevices::alias_name(NetworkDevices::RealType(type, hotplug), device, alias);
NetworkDevices::Name = interfacename;
NetworkDevices::Current = newdev;
- NetworkDevices::Commit();
+ if (NetworkDevices::Commit()) Items[current, "ifcfg"]=interfacename;
}
else {
y2error("Unknown operation: %1", operation);
@@ -1215,7 +1229,7 @@
interfacename = Items[current, "ifcfg"]:"";
NetworkDevices::Edit(Items[current, "ifcfg"]:"");
map devmap = NetworkDevices::Current;
- type = NetworkDevices::device_type(Items[current, "ifcfg"]:"");
+ type = Items[current, "hwinfo", "type"]:"";
device = NetworkDevices::device_num(Items[current, "ifcfg"]:"");
alias = NetworkDevices::alias_num(Items[current, "ifcfg"]:"");
nm_name = Items[current, "hwcfg"]:"";
@@ -1275,4 +1289,25 @@
current = size(Items)+1;
}
+global boolean ProposeItemConfiguration(){
+ y2milestone("Propose configuration for %1", getCurrentItem());
+ operation = nil;
+ if(Select("") != true) return false;
+ SetDefaultsForHW ();
+ ipaddr = "";
+ bootproto = "dhcp";
+ // #176804
+ if (NetworkStorage::isDiskOnNetwork ( NetworkStorage::getDevice("/") ))
+ {
+ startmode = "nfsroot";
+ y2milestone ("startmode nfsroot");
+ }
+ NetworkDevices::Add();
+ operation = `edit;
+ interfacename=getCurrentItem()["hwinfo", "dev_name"]:"";
+ Commit ();
+ y2milestone("After configuration propose %1", getCurrentItem());
+ return true;
+}
+
}
Modified: trunk/network/src/routines/complex.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/routines/complex.ycp?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/src/routines/complex.ycp (original)
+++ trunk/network/src/routines/complex.ycp Fri Jul 20 18:24:47 2007
@@ -184,7 +184,8 @@
*/
define list<any> BuildSummary(string devregex, list<map> Hardware, boolean split, boolean link) {
map Devs = NetworkDevices::FilterDevices (devregex);
- return BuildSummaryDevs (Devs, Hardware, split, link);
+ list <any> ret = BuildSummaryDevs (Devs, Hardware, split, link);
+ return ret;
}
/**
Modified: trunk/network/testsuite/tests/Internet.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/testsuite/tests/Internet.out?rev=39580&r1=39579&r2=39580&view=diff
==============================================================================
--- trunk/network/testsuite/tests/Internet.out (original)
+++ trunk/network/testsuite/tests/Internet.out Fri Jul 20 18:24:47 2007
@@ -1,56 +1,90 @@
Read .target.tmpdir "/tmp"
Dump Fastest
Dir .network.section: ["dsl0", "eth0"]
+Log typ dsl, num 0
Dir .network.value."dsl0": ["DEVICE"]
Read .network.value."dsl0".DEVICE "eth0"
+Log typ eth, num 0
Dir .network.value."eth0": []
+Log typ dsl, num 0
+Log typ eth, num 0
Return true
Dump dsl0
Dump dsl
Dir .network.section: ["dsl0", "eth0"]
+Log typ dsl, num 0
Dir .network.value."dsl0": []
+Log typ eth, num 0
Dir .network.value."eth0": []
+Log typ dsl, num 0
+Log typ eth, num 0
Return true
Dump dsl0
Dump dsl
Dir .network.section: ["eth1", "tr0"]
+Log typ eth, num 1
Dir .network.value."eth1": []
+Log typ tr, num 0
Dir .network.value."tr0": []
+Log typ eth, num 1
+Log typ tr, num 0
Return true
Dump eth1
Dump netcard
Dir .network.section: ["dsl0", "tr0"]
+Log typ dsl, num 0
Dir .network.value."dsl0": []
+Log typ tr, num 0
Dir .network.value."tr0": []
+Log typ dsl, num 0
+Log typ tr, num 0
Return true
Dump dsl0
Dump dsl
Dir .network.section: ["dsl0", "ppp0"]
+Log typ dsl, num 0
Dir .network.value."dsl0": []
+Log typ ppp, num 0
Dir .network.value."ppp0": []
+Log typ dsl, num 0
+Log typ ppp, num 0
Return true
Dump dsl0
Dump dsl
Dir .network.section: ["ppp0", "tr1"]
+Log typ ppp, num 0
Dir .network.value."ppp0": []
+Log typ tr, num 1
Dir .network.value."tr1": []
+Log typ ppp, num 0
+Log typ tr, num 1
Return true
Dump ppp0
Dump modem
Dir .network.section: ["ppp0"]
+Log typ ppp, num 0
Dir .network.value."ppp0": []
+Log typ ppp, num 0
Return true
Dump ppp0
Dump modem
Dir .network.section: ["ippp0", "tr1"]
+Log typ ippp, num 0
Dir .network.value."ippp0": []
+Log typ tr, num 1
Dir .network.value."tr1": []
+Log typ ippp, num 0
+Log typ tr, num 1
Return true
Dump ippp0
Dump isdn
Dir .network.section: ["ippp0", "ppp0"]
+Log typ ippp, num 0
Dir .network.value."ippp0": []
+Log typ ppp, num 0
Dir .network.value."ppp0": []
+Log typ ippp, num 0
+Log typ ppp, num 0
Return true
Dump ippp0
Dump isdn
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org