33 lines
1.1 KiB
PHP
33 lines
1.1 KiB
PHP
<?php
|
|
|
|
// This file is used by 'ns' and 'reg'
|
|
|
|
// Example IP adresses (for placeholders)
|
|
define("IPV6_EXAMPLE", "2001:db8::3"); // See RFC3849: IPv6 Address Prefix Reserved for Documentation
|
|
define("IPV4_EXAMPLE", "203.0.113.42"); // See RFC5737: IPv4 Address Blocks Reserved for Documentation
|
|
|
|
define("KNOTC_PATH", "/usr/sbin/knotc");
|
|
|
|
function checkIpFormat($ip) {
|
|
if (!filter_var($ip, FILTER_VALIDATE_IP))
|
|
exit("ERROR: wrong IP address");
|
|
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE))
|
|
exit("ERROR: IP address is on the private range");
|
|
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE))
|
|
exit("ERROR: IP address is on the reserved range");
|
|
}
|
|
|
|
function checkAbsoluteDomainFormat($domain) {
|
|
// If the domain must end with a dot
|
|
if (!filter_var($domain, FILTER_VALIDATE_DOMAIN) OR !preg_match("/^([a-z0-9_-]{1,63}\.){2,127}$/", $domain))
|
|
exit("ERROR: wrong domain");
|
|
}
|
|
|
|
function checkAction($action) {
|
|
if ($action === "delete")
|
|
return "un";
|
|
else if ($action === "add")
|
|
return "";
|
|
else
|
|
exit("ERROR: wrong value for action");
|
|
}
|