mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
36 lines
1010 B
Perl
Executable File
36 lines
1010 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Create a new active route
|
|
|
|
require './net-lib.pl';
|
|
$access{'routes'} || &error($text{'routes_ecannot'});
|
|
&ReadParse();
|
|
&error_setup($text{'routes_cerr'});
|
|
|
|
# Validate and parse inputs
|
|
$route = { };
|
|
$in{'dest_def'} || &check_ipaddress_any($in{'dest'}) ||
|
|
&error($text{'routes_ecdest'});
|
|
$route->{'dest'} = $in{'dest_def'} ? undef : $in{'dest'};
|
|
$in{'netmask_def'} || &check_netmask($in{'netmask'},$in{'dest'}) ||
|
|
&error($text{'routes_ecnetmask'});
|
|
if ($in{'dest_def'}) {
|
|
$in{'netmask_def'} || &error($text{'routes_ecnetmask2'});
|
|
}
|
|
$route->{'netmask'} = $in{'netmask_def'} ? undef : $in{'netmask'};
|
|
if ($in{'via'}) {
|
|
# Via gateway
|
|
&check_ipaddress_any($in{'gateway'}) || &error($text{'routes_ecgw'});
|
|
$route->{'gateway'} = $in{'gateway'};
|
|
}
|
|
else {
|
|
# Local interface
|
|
$route->{'iface'} = $in{'iface'};
|
|
}
|
|
|
|
# Create the route
|
|
$err = &create_route($route);
|
|
&error($err) if ($err);
|
|
&webmin_log("create", "route", $route->{'dest'}, $route);
|
|
&redirect("list_routes.cgi?mode=active");
|
|
|