Add IPv6 support for static DHCP lease management

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2025-07-15 20:07:16 +02:00
parent 320c8d9973
commit 69b461ae8e
3 changed files with 30 additions and 8 deletions

View File

@@ -201,6 +201,13 @@ function validateIPv4CIDR(ip) {
return ipv4validator.test(ip);
}
function validateIPv4(ip) {
// Add pseudo-CIDR to the IPv4
const ipv4WithCIDR = ip.includes("/") ? ip : ip + "/32";
// Validate the IPv4/CIDR
return validateIPv4CIDR(ipv4WithCIDR);
}
// Pi-hole IPv6/CIDR validator by DL6ER, see regexr.com/50csn
function validateIPv6CIDR(ip) {
// One IPv6 element is 16bit: 0000 - FFFF
@@ -216,6 +223,13 @@ function validateIPv6CIDR(ip) {
return ipv6validator.test(ip);
}
function validateIPv6(ip) {
// Add pseudo-CIDR to the IPv6
const ipv6WithCIDR = ip.includes("/") ? ip : ip + "/128";
// Validate the IPv6/CIDR
return validateIPv6CIDR(ipv6WithCIDR);
}
function validateMAC(mac) {
const macvalidator = /^([\da-fA-F]{2}:){5}([\da-fA-F]{2})$/;
return macvalidator.test(mac);
@@ -682,7 +696,9 @@ globalThis.utils = (function () {
disableAll,
enableAll,
validateIPv4CIDR,
validateIPv4,
validateIPv6CIDR,
validateIPv6,
setBsSelectDefaults,
stateSaveCallback,
stateLoadCallback,