mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-17 02:33:13 +00:00
improve gui cidr matching
with this fix, we (again) allow ipv4 cidr to be as low as 8 also check the cidr for ipv6 and show the valid ranges in the error text Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
95d9342296
commit
368df92e0d
@ -14,9 +14,12 @@ Ext.apply(Ext.form.field.VTypes, {
|
||||
IPAddressMask: /[\d\.]/i,
|
||||
|
||||
IPCIDRAddress: function(v) {
|
||||
return IP4_cidr_match.test(v);
|
||||
var result = IP4_cidr_match.exec(v);
|
||||
// limits according to JSON Schema see
|
||||
// pve-common/src/PVE/JSONSchema.pm
|
||||
return (result !== null && result[1] >= 8 && result[1] <= 32);
|
||||
},
|
||||
IPCIDRAddressText: gettext('Example') + ': 192.168.1.1/24',
|
||||
IPCIDRAddressText: gettext('Example') + ': 192.168.1.1/24' + "<br>" + gettext('Valid CIDR Range') + ': 8-32',
|
||||
IPCIDRAddressMask: /[\d\.\/]/i,
|
||||
|
||||
IP6Address: function(v) {
|
||||
@ -26,9 +29,12 @@ Ext.apply(Ext.form.field.VTypes, {
|
||||
IP6AddressMask: /[A-Fa-f0-9:]/,
|
||||
|
||||
IP6CIDRAddress: function(v) {
|
||||
return IP6_cidr_match.test(v);
|
||||
var result = IP6_cidr_match.exec(v);
|
||||
// limits according to JSON Schema see
|
||||
// pve-common/src/PVE/JSONSchema.pm
|
||||
return (result !== null && result[1] >= 8 && result[1] <= 120);
|
||||
},
|
||||
IP6CIDRAddressText: gettext('Example') + ': 2001:DB8::42/64',
|
||||
IP6CIDRAddressText: gettext('Example') + ': 2001:DB8::42/64' + "<br>" + gettext('Valid CIDR Range') + ': 8-120',
|
||||
IP6CIDRAddressMask: /[A-Fa-f0-9:\/]/,
|
||||
|
||||
IP6PrefixLength: function(v) {
|
||||
|
@ -36,7 +36,7 @@ var IPV6_LS32 = "(?:(?:" + IPV6_H16 + ":" + IPV6_H16 + ")|" + IPV4_REGEXP + ")";
|
||||
|
||||
|
||||
var IP4_match = new RegExp("^(?:" + IPV4_REGEXP + ")$");
|
||||
var IP4_cidr_match = new RegExp("^(?:" + IPV4_REGEXP + ")\/[1-3][0-9]?$");
|
||||
var IP4_cidr_match = new RegExp("^(?:" + IPV4_REGEXP + ")\/([0-9]{1,2})$");
|
||||
|
||||
var IPV6_REGEXP = "(?:" +
|
||||
"(?:(?:" + "(?:" + IPV6_H16 + ":){6})" + IPV6_LS32 + ")|" +
|
||||
@ -51,7 +51,7 @@ var IPV6_REGEXP = "(?:" +
|
||||
")";
|
||||
|
||||
var IP6_match = new RegExp("^(?:" + IPV6_REGEXP + ")$");
|
||||
var IP6_cidr_match = new RegExp("^(?:" + IPV6_REGEXP + ")\/[0-9]{1,3}?$");
|
||||
var IP6_cidr_match = new RegExp("^(?:" + IPV6_REGEXP + ")\/([0-9]{1,3})$");
|
||||
var IP6_bracket_match = new RegExp("^\\[(" + IPV6_REGEXP + ")\\]");
|
||||
|
||||
var IP64_match = new RegExp("^(?:" + IPV6_REGEXP + "|" + IPV4_REGEXP + ")$");
|
||||
|
Loading…
Reference in New Issue
Block a user