Просмотр исходного кода

Merge branch 'main' of https://code.antopie.org/Niver/niver-php

Miraty 3 лет назад
Родитель
Сommit
9338b81dc7
3 измененных файлов с 19 добавлено и 21 удалено
  1. 0 1
      ns.php
  2. 13 14
      public/ns/dnssec.php
  3. 6 6
      public/ns/zone.php

+ 0 - 1
ns.php

@@ -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'])

+ 13 - 14
public/ns/dnssec.php

@@ -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"; ?>

+ 6 - 6
public/ns/zone.php

@@ -63,17 +63,17 @@ if (isset($_POST['zone']) AND isset($_SESSION['username'])) {
 
 	nsCheckZonePossession($_POST['zone']);
 
-	// Remove Knot zone file
-	unlink(KNOT_ZONES_PATH . "/" . $_POST['zone'] . "zone");
-
-	// Remove Knot tied data
-	exec(KNOTC_PATH . " zone-purge" . $_POST['zone']);
-
 	// Remove from Knot configuration
 	exec(KNOTC_PATH . " conf-begin");
 	exec(KNOTC_PATH . " conf-unset 'zone[" . $_POST['zone'] . "]'");
 	exec(KNOTC_PATH . " conf-commit");
 
+	// Remove Knot zone file
+	unlink(KNOT_ZONES_PATH . "/" . $_POST['zone'] . "zone");
+
+	// Remove Knot related data
+	exec(KNOTC_PATH . " zone-purge " . $_POST['zone']);
+
 	// Remove from Niver's database
 	$db = new PDO('sqlite:' . DB_PATH);
 	$stmt = $db->prepare("DELETE FROM zones WHERE zone = :zone AND username = :username");