mirror of
https://github.com/webmin/webmin.git
synced 2026-05-04 22:30:33 +01:00
Fix IP checking function calls in net module
This commit is contained in:
@@ -250,8 +250,7 @@ return $_[0] =~ /^(dhcp|netmask)$/;
|
||||
# Is some address valid for a bootup interface
|
||||
sub valid_boot_address
|
||||
{
|
||||
return 1 if (&check_ipaddress($_[0]));
|
||||
return gethostbyname($_[0]) ? 1 : 0;
|
||||
return &to_ipaddress($_[0]) ? 1 : 0;
|
||||
}
|
||||
|
||||
# get_dns_config()
|
||||
|
||||
@@ -521,9 +521,10 @@ for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
|
||||
local $netmask = $in{"netmask_$i"};
|
||||
local $gw = $in{"gw_$i"};
|
||||
$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
|
||||
gethostbyname($net) || &error(&text('routes_enet', $net));
|
||||
&check_ipaddress_any($netmask) || &error(&text('routes_emask', $netmask));
|
||||
gethostbyname($gw) || &error(&text('routes_egateway', $gw));
|
||||
&to_ipaddress($net) || &error(&text('routes_enet', $net));
|
||||
&check_ipaddress_any($netmask) ||
|
||||
&error(&text('routes_emask', $netmask));
|
||||
&to_ipaddress($gw) || &error(&text('routes_egateway', $gw));
|
||||
local $prefix = &mask_to_prefix($netmask);
|
||||
push(@{$st{$dev}}, [ "up", "ip route add $net/$prefix via $gw" ]);
|
||||
}
|
||||
@@ -533,9 +534,11 @@ for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
|
||||
local $netmask = $in{"lnetmask_$i"};
|
||||
next if (!$dev && !$net);
|
||||
$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
|
||||
gethostbyname($net) || $net =~ /^(\S+)\/(\d+)$/ && gethostbyname($1) ||
|
||||
&to_ipaddress($net) ||
|
||||
$net =~ /^(\S+)\/(\d+)$/ && &to_ipaddress("$1") ||
|
||||
&error(&text('routes_enet', $net));
|
||||
&check_ipaddress_any($netmask) || &error(&text('routes_emask', $netmask));
|
||||
&check_ipaddress_any($netmask) ||
|
||||
&error(&text('routes_emask', $netmask));
|
||||
local $prefix = &mask_to_prefix($netmask);
|
||||
push(@{$hr{$dev}}, [ "up", "ip route add $net/$prefix dev $dev" ]);
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ else { delete($conf{'IPFORWARDING'}); }
|
||||
local %ifcs = map { $_->{'fullname'}, 1 } &all_interfaces();
|
||||
|
||||
if (!$in{'gateway_def'}) {
|
||||
gethostbyname($in{'gateway'}) ||
|
||||
&to_ipaddress($in{'gateway'}) ||
|
||||
&error(&text('routes_edefault', $in{'gateway'}));
|
||||
$ifcs{$in{'gatewaydev'}} ||
|
||||
&error(&text('routes_edevice', $in{'gatewaydev'}));
|
||||
|
||||
@@ -428,7 +428,7 @@ local (%conf, @st, %sysctl, %st, @boot);
|
||||
if (!$supports_dev_gateway) {
|
||||
# Just update a single file
|
||||
if ($in{'gateway_def'}) { delete($conf{'GATEWAY'}); }
|
||||
elsif (!gethostbyname($in{'gateway'})) {
|
||||
elsif (!&to_ipaddress($in{'gateway'})) {
|
||||
&error(&text('routes_edefault', $in{'gateway'}));
|
||||
}
|
||||
else { $conf{'GATEWAY'} = $in{'gateway'}; }
|
||||
@@ -483,9 +483,9 @@ for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
|
||||
next if (!$dev);
|
||||
$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
|
||||
$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
|
||||
gethostbyname($net) || &error(&text('routes_enet', $net));
|
||||
&to_ipaddress($net) || &error(&text('routes_enet', $net));
|
||||
&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
|
||||
gethostbyname($gw) || &error(&text('routes_egateway', $gw));
|
||||
&to_ipaddress($gw) || &error(&text('routes_egateway', $gw));
|
||||
if ($netmask eq "255.255.255.255") {
|
||||
push(@st, "$dev host $net gw $gw\n");
|
||||
}
|
||||
@@ -498,7 +498,8 @@ for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
|
||||
$net = $in{"lnet_$i"}; $netmask = $in{"lnetmask_$i"};
|
||||
next if (!$dev && !$net);
|
||||
$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
|
||||
gethostbyname($net) || $net =~ /^(\S+)\/(\d+)$/ && gethostbyname($1) ||
|
||||
&to_ipaddress($net) ||
|
||||
$net =~ /^(\S+)\/(\d+)$/ && &to_ipaddress("$1") ||
|
||||
&error(&text('routes_enet', $net));
|
||||
&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
|
||||
if ($netmask eq "255.255.255.255") {
|
||||
|
||||
@@ -186,8 +186,7 @@ return $_[0] eq "dhcp";
|
||||
# Is some address valid for a bootup interface
|
||||
sub valid_boot_address
|
||||
{
|
||||
return 1 if (&check_ipaddress($_[0]));
|
||||
return gethostbyname($_[0]) ? 1 : 0;
|
||||
return &to_ipaddress($_[0]) ? 1 : 0;
|
||||
}
|
||||
|
||||
# get_dns_config()
|
||||
@@ -386,8 +385,8 @@ print &ui_table_row($text{'routes_forward'},
|
||||
sub parse_routing
|
||||
{
|
||||
local @defrt = split(/\s+/, $in{'defrt'});
|
||||
foreach $d (@defrt) {
|
||||
gethostbyname($d) || &error(&text('routes_edefault', $d));
|
||||
foreach my $d (@defrt) {
|
||||
&to_ipaddress($d) || &error(&text('routes_edefault', $d));
|
||||
}
|
||||
&lock_file("/etc/defaultrouter");
|
||||
if (@defrt) {
|
||||
|
||||
@@ -245,7 +245,7 @@ sub parse_routing
|
||||
# Parse route inputs
|
||||
local (@routes, $r, $i);
|
||||
if (!$in{'gateway_def'}) {
|
||||
gethostbyname($in{'gateway'}) ||
|
||||
&to_ipaddress($in{'gateway'}) ||
|
||||
&error(&text('routes_edefault', $in{'gateway'}));
|
||||
local @def = ( "default", $in{'gateway'}, undef, undef );
|
||||
if (!$in{'gatewaydev_def'}) {
|
||||
|
||||
@@ -332,7 +332,7 @@ sub parse_routing
|
||||
# Parse route inputs
|
||||
local (@routes, $r, $i);
|
||||
if (!$in{'gateway_def'}) {
|
||||
gethostbyname($in{'gateway'}) ||
|
||||
&to_ipaddress($in{'gateway'}) ||
|
||||
&error(&text('routes_edefault', $in{'gateway'}));
|
||||
local @def = ( "default", $in{'gateway'}, undef, undef );
|
||||
if (!$in{'gatewaydev_def'}) {
|
||||
|
||||
@@ -267,7 +267,7 @@ local $route = "# Generated by Webmin\n";
|
||||
for($i=0; defined($dev = $in{"lr_dev_$i"}); $i++) {
|
||||
$net = $in{"lr_net_$i"}; $mask = $in{"lr_mask_$i"};
|
||||
next if (!$dev && !$net && !$mask);
|
||||
gethostbyname($net) ||
|
||||
&to_ipaddress($net) ||
|
||||
&error(&text('routes_enet', $net));
|
||||
&check_ipaddress($mask) ||
|
||||
&error(&text('routes_emask', $mask));
|
||||
@@ -276,16 +276,16 @@ for($i=0; defined($dev = $in{"lr_dev_$i"}); $i++) {
|
||||
for($i=0; defined($gw = $in{"sr_gw_$i"}); $i++) {
|
||||
$net = $in{"sr_net_$i"}; $mask = $in{"sr_mask_$i"};
|
||||
next if (!$gw && !$net && !$mask);
|
||||
gethostbyname($gw) ||
|
||||
&to_ipaddress($gw) ||
|
||||
&error(&text('routes_egateway', $gw));
|
||||
gethostbyname($net) ||
|
||||
&to_ipaddress($net) ||
|
||||
&error(&text('routes_enet', $net));
|
||||
&check_ipaddress($mask) ||
|
||||
&error(&text('routes_emask', $mask));
|
||||
$route .= "$net\t\t$gw\t\t$mask\n";
|
||||
}
|
||||
if (!$in{'default_def'}) {
|
||||
gethostbyname($in{'default'}) ||
|
||||
&to_ipaddress($in{'default'}) ||
|
||||
&error(&text('routes_edefault', $in{'default'}));
|
||||
$route .= "default\t\t$in{'default'}\n";
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ sub parse_routing
|
||||
# Parse route inputs
|
||||
local (@routes, $r, $i);
|
||||
if (!$in{'gateway_def'}) {
|
||||
gethostbyname($in{'gateway'}) ||
|
||||
&to_ipaddress($in{'gateway'}) ||
|
||||
&error(&text('routes_edefault', $in{'gateway'}));
|
||||
local @def = ( "default", $in{'gateway'}, undef, undef );
|
||||
if (!$in{'gatewaydev_def'}) {
|
||||
|
||||
@@ -194,8 +194,7 @@ return $_[0] eq "dhcp";
|
||||
# Is some address valid for a bootup interface
|
||||
sub valid_boot_address
|
||||
{
|
||||
return 1 if (&check_ipaddress($_[0]));
|
||||
return gethostbyname($_[0]) ? 1 : 0;
|
||||
return &to_ipaddress($_[0]) ? 1 : 0;
|
||||
}
|
||||
|
||||
# get_dns_config()
|
||||
@@ -370,8 +369,8 @@ print &ui_table_row($text{'routes_forward'},
|
||||
sub parse_routing
|
||||
{
|
||||
local @defrt = split(/\s+/, $in{'defrt'});
|
||||
foreach $d (@defrt) {
|
||||
gethostbyname($d) || &error(&text('routes_edefault', $d));
|
||||
foreach my $d (@defrt) {
|
||||
&to_ipaddress($d) || &error(&text('routes_edefault', $d));
|
||||
}
|
||||
&lock_file("/etc/defaultrouter");
|
||||
if (@defrt) {
|
||||
|
||||
Reference in New Issue
Block a user