summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--routers/bird.php4
-rw-r--r--routers/cisco.php4
-rw-r--r--routers/juniper.php4
-rw-r--r--routers/quagga.php6
-rw-r--r--utils.php8
5 files changed, 13 insertions, 13 deletions
diff --git a/routers/bird.php b/routers/bird.php
index 9b0923f..b964367 100644
--- a/routers/bird.php
+++ b/routers/bird.php
@@ -31,9 +31,9 @@ final class Bird extends Router {
switch ($command) {
case 'bgp':
- if (match_ipv4($parameters)) {
+ if (match_ipv4($parameters, false)) {
$commands[] = $birdc.' \'show route for '.$parameters.'\'';
- } else if (match_ipv6($parameters)) {
+ } else if (match_ipv6($parameters, false)) {
$commands[] = $birdc6.' \'show route for '.$parameters.'\'';
} else {
throw new Exception('The parameter is not an IPv4/IPv6 address.');
diff --git a/routers/cisco.php b/routers/cisco.php
index bebec78..fa010e1 100644
--- a/routers/cisco.php
+++ b/routers/cisco.php
@@ -28,9 +28,9 @@ final class Cisco extends Router {
switch ($command) {
case 'bgp':
- if (match_ipv4($parameters)) {
+ if (match_ipv4($parameters, false)) {
$commands[] = 'show bgp ipv4 unicast '.$parameters;
- } else if (match_ipv6($parameters)) {
+ } else if (match_ipv6($parameters, false)) {
$commands[] = 'show bgp ipv6 unicast '.$parameters;
} else {
throw new Exception('The parameter is not an IPv4/IPv6 address.');
diff --git a/routers/juniper.php b/routers/juniper.php
index 32330e4..30d783b 100644
--- a/routers/juniper.php
+++ b/routers/juniper.php
@@ -28,10 +28,10 @@ final class Juniper extends Router {
switch ($command) {
case 'bgp':
- if (match_ipv4($parameters)) {
+ if (match_ipv4($parameters, false)) {
$commands[] = 'show route '.$parameters.
' protocol bgp table inet.0 active-path';
- } else if (match_ipv6($parameters)) {
+ } else if (match_ipv6($parameters, false)) {
$commands[] = 'show route '.$parameters.
' protocol bgp table inet6.0 active-path';
} else {
diff --git a/routers/quagga.php b/routers/quagga.php
index a9fe99b..c905a5e 100644
--- a/routers/quagga.php
+++ b/routers/quagga.php
@@ -30,9 +30,9 @@ final class Quagga extends Router {
switch ($command) {
case 'bgp':
- if (match_ipv4($parameters)) {
+ if (match_ipv4($parameters, false)) {
$commands[] = $vtysh.'show bgp ipv4 unicast '.$parameters.'"';
- } else if (match_ipv6($parameters)) {
+ } else if (match_ipv6($parameters, false)) {
$commands[] = $vtysh.'show bgp ipv6 unicast '.$parameters.'"';
} else {
throw new Exception('The parameter is not an IPv4/IPv6 address.');
@@ -85,4 +85,4 @@ final class Quagga extends Router {
}
}
-// End of cisco.php
+// End of quagga.php
diff --git a/utils.php b/utils.php
index 99a6a06..b6fc061 100644
--- a/utils.php
+++ b/utils.php
@@ -21,8 +21,8 @@
require_once 'config.php';
-function match_ipv4($ip) {
- if (strrpos($ip, '/')) {
+function match_ipv4($ip, $ip_only = true) {
+ if (strrpos($ip, '/') && !$ip_only) {
$ip_and_mask = explode('/', $ip, 2);
return filter_var($ip_and_mask[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) &&
@@ -32,8 +32,8 @@ function match_ipv4($ip) {
}
}
-function match_ipv6($ip) {
- if (strrpos($ip, '/')) {
+function match_ipv6($ip, $ip_only = true) {
+ if (strrpos($ip, '/') && !$ip_only) {
$ip_and_mask = explode('/', $ip, 2);
return filter_var($ip_and_mask[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) &&