Author: mzugec
Date: Wed Jun 18 12:17:20 2008
New Revision: 48381
URL: http://svn.opensuse.org/viewcvs/yast?rev=48381&view=rev
Log:
initial support for IPv6
prefix parameter in CLI
support for "/24" syntax as prefixlen
Modified:
trunk/network/VERSION
trunk/network/package/yast2-network.changes
trunk/network/src/clients/lan.ycp
trunk/network/src/lan/address.ycp
trunk/network/src/lan/cmdline.ycp
trunk/network/src/modules/LanItems.ycp
trunk/network/yast2-network.spec.in
Modified: trunk/network/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/VERSION?rev=48381&r1=48380&r2=48381&view=diff
==============================================================================
--- trunk/network/VERSION (original)
+++ trunk/network/VERSION Wed Jun 18 12:17:20 2008
@@ -1 +1 @@
-2.17.0
+2.17.1
Modified: trunk/network/package/yast2-network.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/package/yast2-network.changes?rev=48381&r1=48380&r2=48381&view=diff
==============================================================================
--- trunk/network/package/yast2-network.changes (original)
+++ trunk/network/package/yast2-network.changes Wed Jun 18 12:17:20 2008
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Wed Jun 18 12:16:54 CEST 2008 - mzugec@suse.de
+
+- initial support for IPv6
+- prefix parameter in CLI
+- support for "/24" syntax as prefixlen
+- 2.17.1
+
+-------------------------------------------------------------------
Fri Jun 13 17:07:11 CEST 2008 - mzugec@suse.cz
- network installation broken (bnc#399645)
Modified: trunk/network/src/clients/lan.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/clients/lan.ycp?rev=48381&r1=48380&r2=48381&view=diff
==============================================================================
--- trunk/network/src/clients/lan.ycp (original)
+++ trunk/network/src/clients/lan.ycp Wed Jun 18 12:17:20 2008
@@ -122,12 +122,17 @@
"help": _("Network mask"),
"type": "netmask"
],
+ "prefix" : $[
+ /* Commandline option help */
+ "help": _("Prefix lenght"),
+ "type": "string"
+ ],
],
"mappings" : $[
"list" : [ "configured", "unconfigured" ],
"show" : [ "id" ],
- "add" : [ "type", "bootproto", "ip", "netmask" ],
- "edit" : [ "id", "type", "bootproto", "ip", "netmask" ],
+ "add" : [ "type", "bootproto", "ip", "netmask", "prefix" ],
+ "edit" : [ "id", "type", "bootproto", "ip", "netmask", "prefix" ],
"delete": [ "id" ],
]
];
Modified: trunk/network/src/lan/address.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/lan/address.ycp?rev=48381&r1=48380&r2=48381&view=diff
==============================================================================
--- trunk/network/src/lan/address.ycp (original)
+++ trunk/network/src/lan/address.ycp Wed Jun 18 12:17:20 2008
@@ -112,7 +112,7 @@
void StoreBridge(string key, map event)
{
settings["BRIDGE_PORTS"] = mergestring((list<string>)UI::QueryWidget (`id("BRIDGE_PORTS"), `SelectedItems), " ");
-y2internal("store bridge %1 : %2", key, settings["BRIDGE_PORTS"]:"");
+y2milestone("store bridge %1 : %2", key, settings["BRIDGE_PORTS"]:"");
}
@@ -195,7 +195,9 @@
switch(settings["BOOTPROTO"]:""){
case "static": UI::ChangeWidget(`id(`bootproto), `CurrentButton, `static);
UI::ChangeWidget(`id(`ipaddr), `Value, settings["IPADDR"]:"");
- UI::ChangeWidget(`id(`netmask), `Value, settings["NETMASK"]:"");
+ if (size(settings["PREFIXLEN"]:"")>0)
+ UI::ChangeWidget(`id(`netmask), `Value, sformat("/%1", settings["PREFIXLEN"]:""));
+ else UI::ChangeWidget(`id(`netmask), `Value, settings["NETMASK"]:"");
UI::ChangeWidget(`id(`hostname), `Value, settings["HOSTNAME"]:"");
break;
case "dhcp" : UI::ChangeWidget(`id(`bootproto), `CurrentButton, `dynamic);
@@ -234,10 +236,13 @@
case `none : settings["BOOTPROTO"]="none";
settings["IPADDR"] = "";
settings["NETMASK"] = "";
+ settings["PREFIXLEN"] = "";
break;
case `static: settings["BOOTPROTO"]="static";
settings["IPADDR"]=(string)UI::QueryWidget(`ipaddr, `Value);
- settings["NETMASK"]=(string)UI::QueryWidget(`netmask, `Value);
+ string mask = (string)UI::QueryWidget(`netmask, `Value);
+ if(substring(mask, 0,1)=="/") settings["PREFIXLEN"]=substring(mask, 1);
+ else settings["NETMASK"]=mask;
settings["HOSTNAME"]=(string)UI::QueryWidget(`hostname, `Value);
break;
default : switch ((symbol)UI::QueryWidget(`dyn, `Value)){
@@ -393,11 +398,20 @@
UI::SetFocus(`ipaddr);
return false;
}
- if (!Netmask::Check4((string) UI::QueryWidget (`netmask, `Value))){
- Popup::Error(_("No valid netmask."));
- UI::SetFocus(`netmask);
- return false;
+
+ string mask=(string) UI::QueryWidget (`netmask, `Value);
+ boolean valid_mask=false;
+ if (Netmask::Check4(mask)) valid_mask=true;
+ else if (regexpmatch(mask, "^/[[:digit:]]{1,2}$")) valid_mask=true;
+ else if (Netmask::Check6(mask)) valid_mask=true;
+ else if (regexpmatch(mask, "^/[[:digit:]]{1,3}$")) valid_mask=true;
+
+ if(!valid_mask){
+ Popup::Error(_("No valid netmask or prefix lenght."));
+ UI::SetFocus(`netmask);
+ return false;
}
+
string h = (string) UI::QueryWidget(`hostname, `Value );
if ( h != "" && !Hostname::CheckFQ(h)) {
Popup::Error(_("No valid hostname."));
@@ -686,6 +700,7 @@
"BOOTPROTO": LanItems::bootproto,
"IPADDR": LanItems::ipaddr,
"NETMASK": LanItems::netmask,
+ "PREFIXLEN": LanItems::prefix,
"REMOTEIP": LanItems::remoteip,
"HOSTNAME": hostname_initial,
Modified: trunk/network/src/lan/cmdline.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/lan/cmdline.ycp?rev=48381&r1=48380&r2=48381&view=diff
==============================================================================
--- trunk/network/src/lan/cmdline.ycp (original)
+++ trunk/network/src/lan/cmdline.ycp Wed Jun 18 12:17:20 2008
@@ -28,9 +28,9 @@
foreach(integer position,any row, LanItems::Items, {
LanItems::current = position;
confList = add(confList, $[tostring(size(confList )) : $["id" : position,
- "rich_descr" : LanItems::getCurrentItem()["table_descr", "rich_descr"]:"",
- "descr" : LanItems::getCurrentItem()["table_descr", "table_descr", 0]:"",
- "addr" : LanItems::getCurrentItem()["table_descr", "table_descr", 1]:""]]);
+ "rich_descr" : LanItems::getCurrentItem()["table_descr", "rich_descr"]:"",
+ "descr" : LanItems::getCurrentItem()["table_descr", "table_descr", 0]:"",
+ "addr" : LanItems::getCurrentItem()["table_descr", "table_descr", 1]:""]]);
// count = count + 1;
});
return confList;
@@ -104,7 +104,6 @@
// create plain text from formated HTML
string text = sformat("echo \"%1\"|sed s/'<br>'/'\\n'/g|sed s/'<\\/li>'/'\\n'/g|sed s/'<[/a-z]*>'/''/g", value["rich_descr"]:"");
map