IPv6 route management fixes
authorJamie Cameron <jcameron@webmin.com>
Thu, 20 Jan 2011 08:03:41 +0000 (00:03 -0800)
committerJamie Cameron <jcameron@webmin.com>
Thu, 20 Jan 2011 08:03:41 +0000 (00:03 -0800)
net/delete_routes.cgi
net/linux-lib.pl

index 628d1be..76c7f45 100755 (executable)
@@ -14,6 +14,6 @@ foreach $d (sort { $b <=> $a } @d) {
        &error($err) if ($err);
        }
 &webmin_log("delete", "routes", scalar(@d));
-&redirect("list_routes.cgi");
+&redirect("list_routes.cgi?mode=active");
 
 
index 86fd2d5..f838f07 100755 (executable)
@@ -274,7 +274,8 @@ sub delete_route
 {
 local ($route) = @_;
 local $cmd = "route ".
-       (&check_ip6address($route->{'dest'}) ? "-A inet6 ":"-A inet ")."del ";
+       (&check_ip6address($route->{'dest'}) || $route->{'dest'} eq '::' ?
+        "-A inet6 " : "-A inet ")."del ";
 if (!$route->{'dest'} || $route->{'dest'} eq '0.0.0.0' ||
     $route->{'dest'} eq '::') {
                $cmd .= " default";
@@ -307,7 +308,9 @@ sub create_route
 {
 local ($route) = @_;
 local $cmd = "route ".
-       (&check_ip6address($route->{'dest'}) ? "-A inet6 ":"-A inet ")."add ";
+       (&check_ip6address($route->{'dest'}) ||
+        &check_ip6address($route->{'gateway'}) ?
+        "-A inet6 " : "-A inet ")."add ";
 if (!$route->{'dest'} || $route->{'dest'} eq '0.0.0.0' ||
     $route->{'dest'} eq '::') {
        $cmd .= " default";