--- a/patches/system-tools-backends-04-network.diff Mon Nov 13 10:00:24 2006 +0000
+++ b/patches/system-tools-backends-04-network.diff Mon Nov 13 10:30:40 2006 +0000
@@ -13,8 +13,8 @@
Configures all network parameters and interfaces.
diff -u system-tools-backends-1.4.2/network.pl.in-orig system-tools-backends-1.4.2/network.pl.in
---- system-tools-backends-1.4.2/network.pl.in-orig 2006-01-02 15:50:54.000000000 +0000
-+++ system-tools-backends-1.4.2/network.pl.in 2006-09-07 08:09:48.625610000 +0100
+--- system-tools-backends-1.4.2/network.pl.in-orig Mon Nov 13 14:07:55 2006
++++ system-tools-backends-1.4.2/network.pl.in Mon Nov 13 13:49:14 2006
@@ -28,8 +28,10 @@
use Socket;
@@ -26,7 +26,7 @@
$SCRIPTSDIR = ".";
$DOTIN = ".in";
}
-@@ -117,6 +119,422 @@
+@@ -117,6 +119,447 @@
return \@ifaces;
}
@@ -446,10 +446,35 @@
+ return \@ifaces;
+}
+
++sub gst_network_get_sunos_ethernet_and_wireless_ifaces
++{
++ my ($fd, $dev);
++ my (@ifaces);
++
++ # First let's get all ethernet and wireless interfaces
++ $fd = &gst_file_run_pipe_read ("dladm show-dev");
++
++ unless ($fd eq undef) {
++ while (<$fd>)
++ {
++ chomp;
++ if (/^\s*(\S*)\s*link:*(.*)/)
++ {
++ push @ifaces, $1;
++ }
++ }
++ &gst_file_close ($fd);
++ }
++
++ &gst_report_leave ();
++ return \@ifaces;
++}
++
++
# Returns an array with the wireless devices found
sub gst_network_get_wireless_ifaces
{
-@@ -124,6 +542,7 @@
+@@ -124,6 +567,7 @@
return &gst_network_get_linux_wireless_ifaces if ($plat eq "Linux");
return &gst_network_get_freebsd_wireless_ifaces if ($plat eq "FreeBSD");
@@ -457,7 +482,7 @@
}
# set of functions for enabling an interface
-@@ -138,39 +557,88 @@
+@@ -138,23 +582,46 @@
if ($essid)
{
@@ -516,6 +541,7 @@
}
}
+@@ -161,17 +628,43 @@
sub gst_network_enable_iface
{
my ($hash, $dev, $command_ifconfig) = @_;
@@ -535,7 +561,7 @@
{
- if (&gst_file_locate_tool ("dhclient3"))
+ if ($$tool{"system"} eq "SunOS")
-+ {
+ {
+
+ &gst_file_run ("ifconfig $dev plumb"); # XXX - inet6???
+ if (&gst_network_get_interface_type($dev) eq "wireless" ) {
@@ -557,10 +583,11 @@
+ &gst_file_run ("cp -p $resolv_conf $SYSCONFDIR/inet/gnome-system-tools/resolv.conf.$dev.bak");
+ }
+ elsif (&gst_file_locate_tool ("dhclient3"))
- {
++ {
$command = "dhclient3 -pf /var/run/dhclient.$dev.pid $dev";
}
-@@ -189,11 +657,34 @@
+ elsif (&gst_file_locate_tool ("dhclient"))
+@@ -189,11 +682,34 @@
$command .= " $dev";
$command .= " $address" if ($address);
$command .= " netmask $netmask" if ($netmask);
@@ -597,7 +624,7 @@
}
sub gst_network_get_chat_file
-@@ -352,6 +843,10 @@
+@@ -352,6 +868,10 @@
{
@arr = ("/dev/modem", "/dev/cuaa0", "/dev/cuaa1", "/dev/cuaa2", "/dev/cuaa3");
}
@@ -608,7 +635,7 @@
foreach $tty (@arr) {
$temp = `pppd lcp-max-configure 1 nodetach noauth nocrtscts $tty connect \"chat -t1 \'\' AT OK\" 2>/dev/null`;
-@@ -480,7 +975,9 @@
+@@ -480,7 +1000,9 @@
my %cmd_map =
(
"debian-2.2" => "ping -c 2 -i 1 -n $bcast",
@@ -619,7 +646,7 @@
);
my %dist_map =
(
-@@ -499,6 +996,8 @@
+@@ -499,6 +1021,8 @@
"ubuntu-5.04" => "debian-2.2",
"ubuntu-5.10" => "debian-2.2",
"ubuntu-6.04" => "debian-2.2",
@@ -628,7 +655,16 @@
"mandrake-7.1" => "debian-2.2",
"mandrake-7.2" => "debian-2.2",
"mandrake-9.0" => "debian-2.2",
-@@ -804,7 +1303,7 @@
+@@ -778,6 +1302,8 @@
+ {
+ my ($dev) = @_;
+ my (@wireless_ifaces, $wi, $type);
++ my (@ethernet_ifaces, $eth, $type);
++ my ($plat) = $$tool{"system"};
+
+ return $types_cache{$dev} if (exists $types_cache{$dev});
+
+@@ -804,7 +1330,7 @@
$types_cache{$dev} = "modem";
}
}
@@ -637,7 +673,27 @@
{
$types_cache{$dev} = "ethernet";
}
-@@ -895,12 +1394,69 @@
+@@ -820,6 +1346,19 @@
+ {
+ $types_cache{$dev} = "loopback";
+ }
++ elsif ($plat eq "SunOS")
++ {
++ #check whether interface is ethernet
++ $ethernet_ifaces = &gst_network_get_sunos_ethernet_and_wireless_ifaces ();
++ foreach $eth (@$ethernet_ifaces)
++ {
++ if ($dev eq $eth)
++ {
++ $types_cache{$dev} = "ethernet";
++ return $types_cache{$dev};
++ }
++ }
++ }
+
+ return $types_cache{$dev};
+ }
+@@ -895,6 +1434,62 @@
return \%ifaces;
}
@@ -700,6 +756,7 @@
sub gst_network_interfaces_get_info
{
my (%ifaces);
+@@ -901,6 +1496,7 @@
$ifaces = &gst_network_linux_interfaces_get_info if ($$tool{"system"} eq "Linux");
$ifaces = &gst_network_freebsd_interfaces_get_info if ($$tool{"system"} eq "FreeBSD");
@@ -707,7 +764,7 @@
foreach $dev (keys %$ifaces)
{
-@@ -925,12 +1481,18 @@
+@@ -925,12 +1521,18 @@
&gst_report_enter ();
&gst_report ("network_iface_active_get");
@@ -727,7 +784,7 @@
s/:? .*//;
next if /^$/;
push @ret, $_;
-@@ -1182,6 +1744,198 @@
+@@ -1182,6 +1784,198 @@
return @ret;
}
@@ -926,7 +983,7 @@
sub gst_network_suse70_parse_iface_num
{
my ($file, $dev) = @_;
-@@ -1672,7 +2426,7 @@
+@@ -1672,7 +2466,7 @@
$dev = "ppp0" if ($$tool{"system"} eq "Linux");
$dev = "tun0" if ($$tool{"system"} eq "FreeBSD");
@@ -935,7 +992,7 @@
{
$$hash{$dev}{"dev"} = $dev;
$$hash{$dev}{"enabled"} = 0;
-@@ -1683,6 +2437,63 @@
+@@ -1683,6 +2477,63 @@
return \%$hash;
}
@@ -999,7 +1056,7 @@
sub gst_network_conf_get
{
my %dist_attrib;
-@@ -1743,6 +2554,12 @@
+@@ -1743,6 +2594,12 @@
return "$dev.$i";
}
@@ -1012,7 +1069,7 @@
sub gst_network_deb22_get_file
{
my ($iface) = @_;
-@@ -1816,6 +2633,8 @@
+@@ -1816,6 +2673,8 @@
"ubuntu-5.04" => \&gst_network_deb22_get_file,
"ubuntu-5.10" => \&gst_network_deb22_get_file,
"ubuntu-6.04" => \&gst_network_deb22_get_file,
@@ -1021,7 +1078,7 @@
"suse-7.0" => \&gst_network_suse70_get_file,
"suse-9.0" => \&gst_network_deb22_get_file,
"suse-9.1" => \&gst_network_deb22_get_file,
-@@ -1851,6 +2670,15 @@
+@@ -1851,6 +2710,15 @@
sub gst_network_get_gateway_data
{
@@ -1037,7 +1094,7 @@
my ($fd, $gateway, $dev);
$fd = &gst_file_run_pipe_read ("route -n");
-@@ -1868,6 +2696,25 @@
+@@ -1868,6 +2736,25 @@
return ($gateway, $dev);
}
@@ -1063,7 +1120,7 @@
sub gst_network_get_default_gatewaydev
{
my ($gateway, $dev) = &gst_network_get_gateway_data ();
-@@ -1890,10 +2737,15 @@
+@@ -1890,10 +2777,15 @@
# Just in case. This means that no static gateway is needed.
return if $gateway eq "";
@@ -1081,7 +1138,7 @@
{
$curr_gateway = $1;
if ($gatewaydev ne "")
-@@ -1910,8 +2762,14 @@
+@@ -1910,8 +2802,14 @@
if (($curr_gateway ne $gateway) ||
($curr_gatewaydev ne $gatewaydev))
{
@@ -1098,7 +1155,7 @@
}
}
-@@ -3822,28 +4680,57 @@
+@@ -3822,28 +4720,57 @@
return $dev;
}
@@ -1168,7 +1225,7 @@
return \@arr;
}
-@@ -3936,6 +4823,8 @@
+@@ -3936,6 +4863,8 @@
"ubuntu-5.04" => "lo",
"ubuntu-5.10" => "lo",
"ubuntu-6.04" => "lo",
@@ -1177,7 +1234,7 @@
"suse-7.0" => "",
"suse-9.0" => "",
"suse-9.1" => "",
-@@ -3970,7 +4859,7 @@
+@@ -3970,7 +4899,7 @@
my %iface = (
"auto" => 1,
"user" => 0,
@@ -1186,7 +1243,7 @@
"address" => "127.0.0.1",
"netmask" => "255.0.0.0",
"broadcast" => "127.255.255.255",
-@@ -4101,6 +4990,8 @@
+@@ -4101,6 +5030,8 @@
"ubuntu-5.04" => "debian-2.2",
"ubuntu-5.10" => "debian-2.2",
"ubuntu-6.04" => "debian-2.2",
@@ -1195,7 +1252,7 @@
"suse-7.0" => "suse-7.0",
"suse-9.0" => "suse-9.0",
"suse-9.1" => "suse-9.0",
-@@ -4479,6 +5370,79 @@
+@@ -4479,6 +5410,79 @@
[ "gatewaydev", \&gst_network_get_gateway_dev_from_address, "%interface%", "%gateway%" ],
]
},
@@ -1275,7 +1332,7 @@
);
my $dist = $dist_map{$gst_dist};
-@@ -4522,6 +5486,8 @@
+@@ -4522,6 +5526,8 @@
"ubuntu-5.04" => "debian-3.0",
"ubuntu-5.10" => "debian-3.0",
"ubuntu-6.04" => "debian-3.0",
@@ -1284,7 +1341,7 @@
"suse-7.0" => "suse-7.0",
"suse-9.0" => "suse-9.0",
"suse-9.1" => "suse-9.0",
-@@ -5318,7 +6284,115 @@
+@@ -5318,7 +6324,115 @@
[ "persist", \&gst_network_get_freebsd5_ppp_persist, [ STARTIF, IFACE ]],
]
},
@@ -1401,7 +1458,7 @@
my $dist = $dist_map{$gst_dist};
return %{$dist_tables{$dist}} if $dist;
-@@ -5360,6 +6434,8 @@
+@@ -5360,6 +6474,8 @@
"ubuntu-5.04" => "debian-2.2",
"ubuntu-5.10" => "debian-2.2",
"ubuntu-6.04" => "debian-2.2",
@@ -1410,7 +1467,7 @@
"suse-7.0" => "suse-7.0",
"suse-9.0" => "suse-9.0",
"suse-9.1" => "suse-9.0",
-@@ -5723,7 +6799,69 @@
+@@ -5723,7 +6839,69 @@
[ "gateway", \&gst_replace_sh, RC_CONF, "defaultrouter" ],
[ "interface", \&gst_network_interfaces_set, OLD_HASH ]
]
@@ -1481,7 +1538,7 @@
);
my $dist = $dist_map{$gst_dist};
-@@ -5766,6 +6904,8 @@
+@@ -5766,6 +6944,8 @@
"ubuntu-5.04" => "debian-3.0",
"ubuntu-5.10" => "debian-3.0",
"ubuntu-6.04" => "debian-3.0",
@@ -1490,7 +1547,7 @@
"suse-7.0" => "suse-7.0",
"suse-9.0" => "suse-9.0",
"suse-9.1" => "suse-9.0",
-@@ -6522,7 +7662,109 @@
+@@ -6522,7 +7702,109 @@
[ "dial_command", \&gst_network_replace_pppconf_dial_command, [ PPPCONF, STARTIF, IFACE ]],
[ "volume", \&gst_network_replace_pppconf_volume, [ PPPCONF, STARTIF, IFACE ]],
]
@@ -1601,4 +1658,3 @@
);
my $dist = $dist_map{$gst_dist};
-