summaryrefslogtreecommitdiffstats
path: root/install/ui
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2012-01-03 09:37:17 +0100
committerEndi S. Dewata <edewata@redhat.com>2012-01-03 21:28:53 -0600
commitceee08faa182af9cc24d16ee217d71a5d163775d (patch)
treea0d6138f47da597c74f62058209d8d39575611fb /install/ui
parentc7ae0c20db86aeace6224425f3ccf7e4726d6b46 (diff)
downloadfreeipa-ceee08faa182af9cc24d16ee217d71a5d163775d.tar.gz
freeipa-ceee08faa182af9cc24d16ee217d71a5d163775d.tar.xz
freeipa-ceee08faa182af9cc24d16ee217d71a5d163775d.zip
Fixed IPv6 validation special case: single colon
IPv6 parsing was incorrectly evaluating ':' as a valid IPv6 address. https://fedorahosted.org/freeipa/ticket/1466
Diffstat (limited to 'install/ui')
-rw-r--r--install/ui/net.js5
-rw-r--r--install/ui/test/ip_tests.js3
2 files changed, 8 insertions, 0 deletions
diff --git a/install/ui/net.js b/install/ui/net.js
index 6b4b20cfa..9eba6dc7a 100644
--- a/install/ui/net.js
+++ b/install/ui/net.js
@@ -125,6 +125,11 @@ NET.ip_address = function(spec) {
var i;
+ //usecases like ':'
+ if (that.parts.length <= 2) {
+ return that.set_error('invalid format');
+ }
+
for (i=0; i<that.parts.length; i++) {
var part = that.parts[i];
diff --git a/install/ui/test/ip_tests.js b/install/ui/test/ip_tests.js
index 8bac3a6ad..74fe7c2be 100644
--- a/install/ui/test/ip_tests.js
+++ b/install/ui/test/ip_tests.js
@@ -156,6 +156,9 @@ test('Testing incorrect IPv6 addresses', function() {
address = NET.ip_address('2001:db8:85a3:0:0:8a2e:370');
ok(!address.valid, 'Missing part - 2001:db8:85a3:0:0:8a2e:370');
+ address = NET.ip_address(':');
+ ok(!address.valid, 'Address - :');
+
address = NET.ip_address('::1::');
ok(!address.valid, 'Address - ::1::');