mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
DNS forwarder validator
DNS forwarder's value can consist of IP address and a port. The syntax is '<IP ADDRESS> port <PORT>'. A new validator was created for this purpose. It is based on IP address validator. https://fedorahosted.org/freeipa/ticket/2490
This commit is contained in:
parent
1b0ede0776
commit
661d82ad75
@ -49,7 +49,7 @@ IPA.dns.config_entity = function(spec) {
|
|||||||
{
|
{
|
||||||
type: 'multivalued',
|
type: 'multivalued',
|
||||||
name: 'idnsforwarders',
|
name: 'idnsforwarders',
|
||||||
validators: [IPA.ip_address_validator()]
|
validators: [IPA.dnsforwarder_validator()]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'checkboxes',
|
type: 'checkboxes',
|
||||||
@ -167,7 +167,7 @@ IPA.dns.zone_entity = function(spec) {
|
|||||||
{
|
{
|
||||||
type: 'multivalued',
|
type: 'multivalued',
|
||||||
name: 'idnsforwarders',
|
name: 'idnsforwarders',
|
||||||
validators: [IPA.ip_address_validator()]
|
validators: [IPA.dnsforwarder_validator()]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'checkboxes',
|
type: 'checkboxes',
|
||||||
@ -2170,7 +2170,6 @@ IPA.dns.ptr_redirection_dialog = function(spec) {
|
|||||||
return that;
|
return that;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
IPA.ip_address_validator = function(spec) {
|
IPA.ip_address_validator = function(spec) {
|
||||||
|
|
||||||
spec = spec || {};
|
spec = spec || {};
|
||||||
@ -2202,6 +2201,8 @@ IPA.ip_address_validator = function(spec) {
|
|||||||
(that.address_type === 'IPv6' && net_type === 'v6'));
|
(that.address_type === 'IPv6' && net_type === 'v6'));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
that.ip_address_validate = that.validate;
|
||||||
|
|
||||||
return that;
|
return that;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2221,6 +2222,36 @@ IPA.ip_v6_address_validator = function(spec) {
|
|||||||
return IPA.ip_address_validator(spec);
|
return IPA.ip_address_validator(spec);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
IPA.dnsforwarder_validator = function(spec) {
|
||||||
|
|
||||||
|
spec = spec || {};
|
||||||
|
var that = IPA.ip_address_validator(spec);
|
||||||
|
|
||||||
|
that.validate = function(value) {
|
||||||
|
|
||||||
|
var address_part = value;
|
||||||
|
|
||||||
|
if (value.indexOf(' ') > - 1) {
|
||||||
|
var parts = value.split(' ');
|
||||||
|
|
||||||
|
if (parts.length !== 3 || parts[1] !== 'port') return that.false_result();
|
||||||
|
|
||||||
|
address_part = parts[0];
|
||||||
|
var port = parts[2];
|
||||||
|
|
||||||
|
if (!port.match(/^[1-9]\d*$|^0$/) || port < 0 || port > 65535) {
|
||||||
|
var message = IPA.messages.widget.validation.port;
|
||||||
|
message = message.replace('${port}', port);
|
||||||
|
return that.false_result(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return that.ip_address_validate(address_part);
|
||||||
|
};
|
||||||
|
|
||||||
|
return that;
|
||||||
|
};
|
||||||
|
|
||||||
IPA.network_validator = function(spec) {
|
IPA.network_validator = function(spec) {
|
||||||
|
|
||||||
spec = spec || {};
|
spec = spec || {};
|
||||||
|
@ -452,6 +452,7 @@
|
|||||||
"max_value": "Maximum value is ${value}",
|
"max_value": "Maximum value is ${value}",
|
||||||
"min_value": "Minimum value is ${value}",
|
"min_value": "Minimum value is ${value}",
|
||||||
"net_address": "Not a valid network address",
|
"net_address": "Not a valid network address",
|
||||||
|
"port": "'${port}' is not a valid port",
|
||||||
"required": "Required field",
|
"required": "Required field",
|
||||||
"unsupported": "Unsupported value"
|
"unsupported": "Unsupported value"
|
||||||
}
|
}
|
||||||
|
@ -591,6 +591,7 @@ class i18n_messages(Command):
|
|||||||
"max_value": _("Maximum value is ${value}"),
|
"max_value": _("Maximum value is ${value}"),
|
||||||
"min_value": _("Minimum value is ${value}"),
|
"min_value": _("Minimum value is ${value}"),
|
||||||
"net_address": _("Not a valid network address"),
|
"net_address": _("Not a valid network address"),
|
||||||
|
"port": _("'${port}' is not a valid port"),
|
||||||
"required": _("Required field"),
|
"required": _("Required field"),
|
||||||
"unsupported": _("Unsupported value"),
|
"unsupported": _("Unsupported value"),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user