ns/dnssec.php: read zone file instead of using keymgr

This commit is contained in:
Miraty 2022-04-24 00:26:02 +02:00
parent 6a50bc07a7
commit 37b280692c
2 changed files with 13 additions and 15 deletions

1
ns.php
View File

@ -3,7 +3,6 @@
require "dns.php";
define("KNOT_ZONES_PATH", "/srv/ns");
define("KEYMGR_PATH", "/usr/sbin/keymgr");
function nsCommonRequirements() {
if (isset($_POST['action'])

View File

@ -29,10 +29,14 @@ if (isset($_POST['zone']) AND isset($_SESSION['username'])) {
nsCheckZonePossession($_POST['zone']);
exec(KEYMGR_PATH . " " . $_POST['zone'] . " ds", $output);
$zoneContent = file_get_contents(KNOT_ZONES_PATH . "/" . $_POST['zone'] . "zone");
$l0 = explode(" ", $output[0]);
$l1 = explode(" ", $output[1]);
preg_match("#\n" . preg_quote($_POST['zone']) . "\s+0\s+CDS\s+([0-9]{1,5})\s+([0-9]{1,2})\s+([0-9])\s+([0-9A-F]{64})\n#", $zoneContent, $matches);
$tag = $matches[1];
$algo = $matches[2];
$digestType = $matches[3];
$digest = $matches[4];
?>
@ -45,31 +49,26 @@ if (isset($_POST['zone']) AND isset($_SESSION['username'])) {
<dt>Tag</dt>
<dd>
<code><?= $l0[2] ?></code>
<code><?= $tag ?></code>
</dd>
<dt>Algorithme</dt>
<dd>
<code>15</code> (Ed25519)
<code><?= $algo ?></code><?php if ($algo === "15") echo " (Ed25519)"; ?>
</dd>
<dt>Condensat de type <code>2</code> (SHA-256)</dt>
<dt>Type de condensat</dt>
<dd>
<code><?= $l0[5] ?></code>
<code><?= $digestType ?></code><?php if ($digestType === "2") echo " (SHA-256)"; ?>
</dd>
<dt>Condensat de type <code>4</code> (SHA-384 ; optionnel)</dt>
<dt>Condensat</dt>
<dd>
<code><?= $l1[5] ?></code>
<code><?= $digest ?></code>
</dd>
</dl>
<details>
<summary>Données brutes</summary>
<code><?= $output[0] ?></code><br><code><?= $output[1] ?></code>
</details>
<?php } ?>
<?php require "../../common/bottom.php"; ?>