From 3cc43c45de46154f1300de9bba69f8120c901957 Mon Sep 17 00:00:00 2001
From: Jan Kadlec <jan.kadlec@nic.cz>
Date: Fri, 14 Feb 2014 16:08:45 +0100
Subject: [PATCH] Dump NSEC3 RRSIGs into extra section in the zone file.

---
 src/knot/zone/zone-dump.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/knot/zone/zone-dump.c b/src/knot/zone/zone-dump.c
index 40ff7aa03c..4472e92a01 100644
--- a/src/knot/zone/zone-dump.c
+++ b/src/knot/zone/zone-dump.c
@@ -110,6 +110,11 @@ static int node_dump_text(knot_node_t *node, void *data)
 				break;
 			}
 			continue;
+		case KNOT_RRTYPE_NSEC3:
+			if (params->dump_nsec) {
+				break;
+			}
+			continue;
 		default:
 			if (params->dump_nsec || params->dump_rrsig) {
 				continue;
@@ -182,6 +187,16 @@ int zone_dump_text(knot_zone_contents_t *zone, const sockaddr_t *from, FILE *fil
 	if (knot_is_nsec3_enabled(zone)) {
 		fprintf(file, ";; DNSSEC NSEC3 chain\n");
 
+		params.dump_rrsig = false;
+		params.dump_nsec = true;
+		ret = knot_zone_contents_nsec3_apply_inorder(zone, node_dump_text,
+		                                             &params);
+		if (ret != KNOT_EOK) {
+			return ret;
+		}
+
+		fprintf(file, ";; DNSSEC NSEC3 signatures\n");
+
 		params.dump_rrsig = true;
 		params.dump_nsec = false;
 		ret = knot_zone_contents_nsec3_apply_inorder(zone, node_dump_text,
-- 
GitLab