Skip to content

Commit

Permalink
Pull request: 5208-dhcp-range
Browse files Browse the repository at this point in the history
Merge in DNS/adguard-home from 5208-dhcp-range to master

Closes AdguardTeam#5208.

Squashed commit of the following:

commit b7bd646
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Dec 6 18:55:03 2022 +0300

    client: restore non-en locales

commit 8e30620
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Dec 6 18:45:51 2022 +0300

    client: rm unused locales

commit 087cf2e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Dec 6 18:25:54 2022 +0300

    all: log changes

commit f1f9d79
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Dec 6 18:23:06 2022 +0300

    client: imp dhcp err msgs

commit b9d8d70
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Dec 6 15:44:44 2022 +0300

    WIP
  • Loading branch information
EugeneOne1 authored and heyxkhoa committed Mar 17, 2023
1 parent 9e317d2 commit 68cd6e4
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 18 deletions.
5 changes: 1 addition & 4 deletions client/src/__locales/en.json
Expand Up @@ -37,8 +37,6 @@
"dhcp_ipv6_settings": "DHCP IPv6 Settings",
"form_error_required": "Required field",
"form_error_ip4_format": "Invalid IPv4 address",
"form_error_ip4_range_start_format": "Invalid IPv4 address of the range start",
"form_error_ip4_range_end_format": "Invalid IPv4 address of the range end",
"form_error_ip4_gateway_format": "Invalid IPv4 address of the gateway",
"form_error_ip6_format": "Invalid IPv6 address",
"form_error_ip_format": "Invalid IP address",
Expand All @@ -51,9 +49,8 @@
"out_of_range_error": "Must be out of range \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Must be lower than range start",
"greater_range_start_error": "Must be greater than range start",
"greater_range_end_error": "Must be greater than range end",
"subnet_error": "Addresses must be in one subnet",
"gateway_or_subnet_invalid": "Subnet mask invalid",
"gateway_or_subnet_invalid": "Invalid subnet mask",
"dhcp_form_gateway_input": "Gateway IP",
"dhcp_form_subnet_input": "Subnet mask",
"dhcp_form_range_title": "Range of IP addresses",
Expand Down
3 changes: 0 additions & 3 deletions client/src/components/Settings/Dhcp/FormDHCPv4.js
Expand Up @@ -74,7 +74,6 @@ const FormDHCPv4 = ({
className="form-control"
placeholder={t(ipv4placeholders.subnet_mask)}
validate={[
validateIpv4,
validateRequired,
validateGatewaySubnetMask,
]}
Expand All @@ -97,7 +96,6 @@ const FormDHCPv4 = ({
placeholder={t(ipv4placeholders.range_start)}
validate={[
validateIpv4,
validateGatewaySubnetMask,
validateIpForGatewaySubnetMask,
]}
disabled={!isInterfaceIncludesIpv4}
Expand All @@ -113,7 +111,6 @@ const FormDHCPv4 = ({
validate={[
validateIpv4,
validateIpv4RangeEnd,
validateGatewaySubnetMask,
validateIpForGatewaySubnetMask,
]}
disabled={!isInterfaceIncludesIpv4}
Expand Down
18 changes: 7 additions & 11 deletions client/src/helpers/validators.js
Expand Up @@ -77,11 +77,11 @@ export const validateNotInRange = (value, allValues) => {
const { range_start, range_end } = allValues.v4;

if (range_start && validateIpv4(range_start)) {
return 'form_error_ip4_range_start_format';
return undefined;
}

if (range_end && validateIpv4(range_end)) {
return 'form_error_ip4_range_end_format';
return undefined;
}

const isAboveMin = range_start && ip4ToInt(value) >= ip4ToInt(range_start);
Expand All @@ -94,14 +94,6 @@ export const validateNotInRange = (value, allValues) => {
});
}

if (!range_end && isAboveMin) {
return 'lower_range_start_error';
}

if (!range_start && isBelowMax) {
return 'greater_range_end_error';
}

return undefined;
};

Expand All @@ -118,7 +110,7 @@ export const validateGatewaySubnetMask = (_, allValues) => {
const { subnet_mask, gateway_ip } = allValues.v4;

if (validateIpv4(gateway_ip)) {
return 'form_error_ip4_gateway_format';
return 'gateway_or_subnet_invalid';
}

return parseSubnetMask(subnet_mask) ? undefined : 'gateway_or_subnet_invalid';
Expand All @@ -138,6 +130,10 @@ export const validateIpForGatewaySubnetMask = (value, allValues) => {
gateway_ip, subnet_mask,
} = allValues.v4;

if ((gateway_ip && validateIpv4(gateway_ip)) || (subnet_mask && validateIpv4(subnet_mask))) {
return undefined;
}

const subnetPrefix = parseSubnetMask(subnet_mask);

if (!isIpInCidr(value, `${gateway_ip}/${subnetPrefix}`)) {
Expand Down

0 comments on commit 68cd6e4

Please sign in to comment.