From 5f45f83c1ddfa036b087ccf53138cdc6b07b65bc Mon Sep 17 00:00:00 2001 From: Pinga Date: Tue, 29 Apr 2025 01:25:19 +0300 Subject: [PATCH] Even more RST fixes --- automation/escrow.php | 30 ++++++++++++++++++++---------- epp/src/helpers.php | 14 ++++++++++++++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/automation/escrow.php b/automation/escrow.php index aec2b9a..abdfe34 100644 --- a/automation/escrow.php +++ b/automation/escrow.php @@ -110,14 +110,14 @@ try { // Array of objURI values $objURIs = [ - 'urn:ietf:params:xml:ns:rdeHeader-1.0', 'urn:ietf:params:xml:ns:rdeContact-1.0', 'urn:ietf:params:xml:ns:rdeHost-1.0', 'urn:ietf:params:xml:ns:rdeDomain-1.0', 'urn:ietf:params:xml:ns:rdeRegistrar-1.0', 'urn:ietf:params:xml:ns:rdeIDN-1.0', 'urn:ietf:params:xml:ns:rdeNNDN-1.0', - 'urn:ietf:params:xml:ns:rdeEppParams-1.0' + 'urn:ietf:params:xml:ns:rdeEppParams-1.0', + 'urn:ietf:params:xml:ns:rdePolicy-1.0' ]; // Write each rde:objURI element @@ -157,17 +157,22 @@ try { $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0'); - $xml->text('0'); + $xml->text('1'); $xml->endElement(); $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeNNDN-1.0'); $xml->text('0'); $xml->endElement(); - + + $xml->startElement('rdeHeader:count'); + $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdePolicy-1.0'); + $xml->text('1'); + $xml->endElement(); + $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeEppParams-1.0'); - $xml->text('0'); + $xml->text('1'); $xml->endElement(); $xml->endElement(); // Closing rdeHeader:header @@ -666,14 +671,14 @@ try { // Array of objURI values $objURIs = [ - 'urn:ietf:params:xml:ns:rdeHeader-1.0', 'urn:ietf:params:xml:ns:rdeContact-1.0', 'urn:ietf:params:xml:ns:rdeHost-1.0', 'urn:ietf:params:xml:ns:rdeDomain-1.0', 'urn:ietf:params:xml:ns:rdeRegistrar-1.0', 'urn:ietf:params:xml:ns:rdeIDN-1.0', 'urn:ietf:params:xml:ns:rdeNNDN-1.0', - 'urn:ietf:params:xml:ns:rdeEppParams-1.0' + 'urn:ietf:params:xml:ns:rdeEppParams-1.0', + 'urn:ietf:params:xml:ns:rdePolicy-1.0' ]; // Write each rde:objURI element @@ -713,17 +718,22 @@ try { $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0'); - $xml->text('0'); + $xml->text('1'); $xml->endElement(); $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeNNDN-1.0'); $xml->text('0'); $xml->endElement(); - + + $xml->startElement('rdeHeader:count'); + $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdePolicy-1.0'); + $xml->text('1'); + $xml->endElement(); + $xml->startElement('rdeHeader:count'); $xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeEppParams-1.0'); - $xml->text('0'); + $xml->text('1'); $xml->endElement(); $xml->endElement(); // Closing rdeHeader:header diff --git a/epp/src/helpers.php b/epp/src/helpers.php index a43e316..0135998 100644 --- a/epp/src/helpers.php +++ b/epp/src/helpers.php @@ -1035,9 +1035,23 @@ function validateHostName(string $hostName): bool } function ipMatches($ip, $cidr) { + if (strpos($cidr, '/') === false) { + return false; // invalid CIDR + } + list($subnet, $mask) = explode('/', $cidr); + if (!is_numeric($mask) || $mask < 0 || $mask > 32) { + return false; // invalid mask + } + $ipLong = ip2long($ip); $subnetLong = ip2long($subnet); + + if ($ipLong === false || $subnetLong === false) { + return false; // invalid IP + } + $maskLong = -1 << (32 - (int)$mask); + return ($ipLong & $maskLong) === ($subnetLong & $maskLong); } \ No newline at end of file