Further domain update updates

This commit is contained in:
Pinga 2023-12-04 16:02:55 +02:00
parent 9e02a7f7f7
commit 46cebdf3c6
3 changed files with 52 additions and 26 deletions

View file

@ -936,18 +936,6 @@ class DomainsController extends Controller
$authInfo = $data['authInfo'] ?? null;
foreach ($nameservers as $index => $nameserver) {
if (preg_match("/^-|^\.-|-\.$|^\.$/", $nameserver)) {
$this->container->get('flash')->addMessage('error', 'Invalid hostName');
return $response->withHeader('Location', '/domain/update/'.$domainName)->withStatus(302);
}
if (!preg_match('/^([A-Z0-9]([A-Z0-9-]{0,61}[A-Z0-9]){0,1}\.){1,125}[A-Z0-9]([A-Z0-9-]{0,61}[A-Z0-9])$/i', $nameserver) && strlen($nameserver) < 254) {
$this->container->get('flash')->addMessage('error', 'Invalid hostName');
return $response->withHeader('Location', '/domain/update/'.$domainName)->withStatus(302);
}
}
if ($contactRegistrant) {
$validRegistrant = validate_identifier($contactRegistrant);
$row = $db->selectRow('SELECT id, clid FROM contact WHERE identifier = ?', [$contactRegistrant]);
@ -1098,9 +1086,9 @@ class DomainsController extends Controller
return $response->withHeader('Location', '/domain/update/'.$domainName)->withStatus(302);
}
$validDigests = [
1 => 40, // SHA-1
2 => 64, // SHA-256
4 => 96 // SHA-384
1 => 40, // SHA-1
2 => 64, // SHA-256
4 => 96 // SHA-384
];
if (!empty($validDigests[$dsDigestType])) {
$this->container->get('flash')->addMessage('error', 'Unsupported digest type');
@ -1156,6 +1144,16 @@ class DomainsController extends Controller
}
foreach ($nameservers as $index => $nameserver) {
if (preg_match("/^-|^\.-|-\.$|^\.$/", $nameserver)) {
$this->container->get('flash')->addMessage('error', 'Invalid hostName');
return $response->withHeader('Location', '/domain/update/'.$domainName)->withStatus(302);
}
if (!preg_match('/^([A-Z0-9]([A-Z0-9-]{0,61}[A-Z0-9]){0,1}\.){1,125}[A-Z0-9]([A-Z0-9-]{0,61}[A-Z0-9])$/i', $nameserver) && strlen($nameserver) < 254) {
$this->container->get('flash')->addMessage('error', 'Invalid hostName');
return $response->withHeader('Location', '/domain/update/'.$domainName)->withStatus(302);
}
$hostName_already_exist = $db->selectValue(
'SELECT id FROM host WHERE name = ? LIMIT 1',
[$nameserver]

View file

@ -132,16 +132,23 @@
<input type="text" class="form-control mb-2" placeholder="{{ __('Key Tag') }}" name="dsKeyTag" id="dsKeyTag">
<select class="form-control mb-2" name="dsAlg">
<option value="" disabled selected>{{ __('Select Algorithm') }}</option>
<option value="1">RSA/MD5 (deprecated)</option>
<option value="2">Diffie-Hellman</option>
<option value="3">DSA/SHA1</option>
<option value="5">RSA/SHA-1</option>
<!-- Add other algorithms as required -->
<option value="6">DSA-NSEC3-SHA1</option>
<option value="7">RSASHA1-NSEC3-SHA1</option>
<option value="8">RSA/SHA-256</option>
<option value="10">RSA/SHA-512</option>
<option value="13">ECDSA Curve P-256 with SHA-256</option>
<option value="14">ECDSA Curve P-384 with SHA-384</option>
<option value="15">Ed25519</option>
<option value="16">Ed448</option>
</select>
<select class="form-control mb-2" name="dsDigestType">
<option value="" disabled selected>{{ __('Select Digest Type') }}</option>
<option value="1">SHA-1</option>
<option value="2">SHA-256</option>
<!-- Add other digest types as required -->
<option value="4">SHA-384</option>
</select>
<input type="text" class="form-control mb-2" placeholder="{{ __('Digest') }}" name="dsDigest">
</div>
@ -152,10 +159,17 @@
<input type="number" class="form-control mb-2" placeholder="{{ __('Protocol') }}" name="dnskeyProtocol" value="3" readonly> <!-- Protocol is typically set to 3 -->
<select class="form-control mb-2" name="dnskeyAlg">
<option value="" disabled selected>{{ __('Select Algorithm') }}</option>
<option value="1">RSA/MD5 (deprecated)</option>
<option value="2">Diffie-Hellman</option>
<option value="3">DSA/SHA1</option>
<option value="5">RSA/SHA-1</option>
<!-- Add other algorithms as required -->
<option value="6">DSA-NSEC3-SHA1</option>
<option value="7">RSASHA1-NSEC3-SHA1</option>
<option value="8">RSA/SHA-256</option>
<option value="10">RSA/SHA-512</option>
<option value="13">ECDSA Curve P-256 with SHA-256</option>
<option value="14">ECDSA Curve P-384 with SHA-384</option>
<option value="15">Ed25519</option>
<option value="16">Ed448</option>
</select>
<input type="text" class="form-control mb-2" placeholder="{{ __('Public Key') }}" name="dnskeyPubKey">
</div>

View file

@ -151,16 +151,23 @@
<input type="text" class="form-control mb-2" placeholder="{{ __('Key Tag') }}" name="dsKeyTag" id="dsKeyTag">
<select class="form-control mb-2" name="dsAlg">
<option value="" disabled selected>{{ __('Select Algorithm') }}</option>
<option value="1">RSA/MD5 (deprecated)</option>
<option value="2">Diffie-Hellman</option>
<option value="3">DSA/SHA1</option>
<option value="5">RSA/SHA-1</option>
<!-- Add other algorithms as required -->
<option value="6">DSA-NSEC3-SHA1</option>
<option value="7">RSASHA1-NSEC3-SHA1</option>
<option value="8">RSA/SHA-256</option>
<option value="10">RSA/SHA-512</option>
<option value="13">ECDSA Curve P-256 with SHA-256</option>
<option value="14">ECDSA Curve P-384 with SHA-384</option>
<option value="15">Ed25519</option>
<option value="16">Ed448</option>
</select>
<select class="form-control mb-2" name="dsDigestType">
<option value="" disabled selected>{{ __('Select Digest Type') }}</option>
<option value="1">SHA-1</option>
<option value="2">SHA-256</option>
<!-- Add other digest types as required -->
<option value="4">SHA-384</option>
</select>
<input type="text" class="form-control mb-2" placeholder="{{ __('Digest') }}" name="dsDigest">
</div>
@ -171,10 +178,17 @@
<input type="number" class="form-control mb-2" placeholder="{{ __('Protocol') }}" name="dnskeyProtocol" value="3" readonly> <!-- Protocol is typically set to 3 -->
<select class="form-control mb-2" name="dnskeyAlg">
<option value="" disabled selected>{{ __('Select Algorithm') }}</option>
<option value="1">RSA/MD5 (deprecated)</option>
<option value="2">Diffie-Hellman</option>
<option value="3">DSA/SHA1</option>
<option value="5">RSA/SHA-1</option>
<!-- Add other algorithms as required -->
<option value="6">DSA-NSEC3-SHA1</option>
<option value="7">RSASHA1-NSEC3-SHA1</option>
<option value="8">RSA/SHA-256</option>
<option value="10">RSA/SHA-512</option>
<option value="13">ECDSA Curve P-256 with SHA-256</option>
<option value="14">ECDSA Curve P-384 with SHA-384</option>
<option value="15">Ed25519</option>
<option value="16">Ed448</option>
</select>
<input type="text" class="form-control mb-2" placeholder="{{ __('Public Key') }}" name="dnskeyPubKey">
</div>