summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i2
-rw-r--r--interface-definitions/include/interface/address-ipv4-ipv6.xml.i2
-rwxr-xr-xsrc/validators/interface-address9
3 files changed, 10 insertions, 3 deletions
diff --git a/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i
index 5057ed9ae..6e96185e7 100644
--- a/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i
+++ b/interface-definitions/include/interface/address-ipv4-ipv6-dhcp.xml.i
@@ -22,7 +22,7 @@
<description>Dynamic Host Configuration Protocol for IPv6</description>
</valueHelp>
<constraint>
- <validator name="ip-host"/>
+ <validator name="interface-address"/>
<regex>(dhcp|dhcpv6)</regex>
</constraint>
<multi/>
diff --git a/interface-definitions/include/interface/address-ipv4-ipv6.xml.i b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i
index d689da5aa..48802c4dc 100644
--- a/interface-definitions/include/interface/address-ipv4-ipv6.xml.i
+++ b/interface-definitions/include/interface/address-ipv4-ipv6.xml.i
@@ -11,7 +11,7 @@
<description>IPv6 address and prefix length</description>
</valueHelp>
<constraint>
- <validator name="ip-host"/>
+ <validator name="interface-address"/>
</constraint>
<multi/>
</properties>
diff --git a/src/validators/interface-address b/src/validators/interface-address
index 2a2583fc3..3ea18b91f 100755
--- a/src/validators/interface-address
+++ b/src/validators/interface-address
@@ -1,3 +1,10 @@
#!/bin/sh
-ipaddrcheck --is-any-host "$1"
+ipaddrcheck --allow-loopback --is-valid-intf-address "$1"
+
+if [ $? -gt 0 ]; then
+ echo "Error: $1 is not a valid network interface address"
+ exit 1
+fi
+
+exit 0