From 6ae669da0676b77d6ed101f79cbd4cff1eec7616 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 20 Dec 2011 02:44:32 +0000 Subject: [PATCH] libs/web: improve ip6addr datype validation, accept both CIDR and IP/Mask notation --- libs/web/htdocs/luci-static/resources/cbi.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/web/htdocs/luci-static/resources/cbi.js b/libs/web/htdocs/luci-static/resources/cbi.js index 4b8cd5c90..3826753ed 100644 --- a/libs/web/htdocs/luci-static/resources/cbi.js +++ b/libs/web/htdocs/luci-static/resources/cbi.js @@ -49,13 +49,15 @@ var cbi_validators = { 'ip4addr': function(v) { - if( v.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\/(\d+))?$/) ) + if (v.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})(\/(\S+))?$/)) { return (RegExp.$1 >= 0) && (RegExp.$1 <= 255) && (RegExp.$2 >= 0) && (RegExp.$2 <= 255) && (RegExp.$3 >= 0) && (RegExp.$3 <= 255) && (RegExp.$4 >= 0) && (RegExp.$4 <= 255) && - (!RegExp.$5 || ((RegExp.$6 >= 0) && (RegExp.$6 <= 32))) + ((RegExp.$6.indexOf('.') < 0) + ? ((RegExp.$6 >= 0) && (RegExp.$6 <= 32)) + : (cbi_validators.ip4addr(RegExp.$6))) ; } -- 2.11.0