From e1969cca04178ae7257d25e1e8949f6233a1f9be Mon Sep 17 00:00:00 2001
From: Jan Vcelak <jan.vcelak@nic.cz>
Date: Wed, 20 Aug 2014 20:42:25 +0200
Subject: [PATCH] semantic checks: convert signer name in RRSIG to lowercase

---
 src/knot/zone/semantic-check.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 12931df6e..be0821ae1 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -345,17 +345,19 @@ static int check_rrsig_rdata(err_handler_t *handler,
 	}
 
 	/* signer's name is same as in the zone apex */
-	const knot_dname_t *signer_name =
-		knot_rrsig_signer_name(rrsig, rr_pos);
+	knot_dname_t *signer = knot_dname_copy(knot_rrsig_signer_name(rrsig, rr_pos), NULL);
+	knot_dname_to_lower(signer);
 
 	/* dnskey is in the apex node */
 	if (!knot_rrset_empty(dnskey_rrset) &&
-	    !knot_dname_is_equal(signer_name, dnskey_rrset->owner)) {
+	    !knot_dname_is_equal(signer, dnskey_rrset->owner)) {
 		err_handler_handle_error(handler, zone, node,
 		                         ZC_ERR_RRSIG_RDATA_DNSKEY_OWNER,
 		                         info_str);
 	}
 
+	knot_dname_free(&signer, NULL);
+
 	/* Compare algorithm, key tag and signer's name with DNSKEY rrset
 	 * one of the records has to match. Signer name has been checked
 	 * before */
-- 
GitLab