From 590af604d9a278a1c0f8741530cacc0a65b93de1 Mon Sep 17 00:00:00 2001
From: Lubos Slovak <lubos.slovak@nic.cz>
Date: Thu, 22 Aug 2013 16:39:04 +0200
Subject: [PATCH] Reverted wrong fix (4c4815e).

refs #4
---
 src/libknot/dnssec/nsec3.h     |  4 ++++
 src/libknot/dnssec/zone-nsec.c | 11 +++++++----
 src/libknot/zone/node.c        |  7 +++++--
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/libknot/dnssec/nsec3.h b/src/libknot/dnssec/nsec3.h
index 30236df20..e8f526b96 100644
--- a/src/libknot/dnssec/nsec3.h
+++ b/src/libknot/dnssec/nsec3.h
@@ -37,6 +37,10 @@
 
 /*!
  * \brief Length of raw NSEC3 hash in bytes.
+ *
+ * \todo May change later, when other hash algorithms are allowed, thus
+ *       not good as a constant. That's why there's 'hash length' field in
+ *       NSEC3 RDATA.
  */
 #define KNOT_NSEC3_HASH_LENGTH 20
 
diff --git a/src/libknot/dnssec/zone-nsec.c b/src/libknot/dnssec/zone-nsec.c
index 3d43e2fc4..bcf4a38e1 100644
--- a/src/libknot/dnssec/zone-nsec.c
+++ b/src/libknot/dnssec/zone-nsec.c
@@ -485,8 +485,7 @@ static knot_node_t *create_nsec3_node(knot_dname_t *owner,
 		return NULL;
 
 	knot_rrset_t *nsec3_rrset;
-	knot_dname_t *rrowner = knot_dname_copy(rrowner);
-	nsec3_rrset = create_nsec3_rrset(rrowner, nsec3_params, rr_types, ttl);
+	nsec3_rrset = create_nsec3_rrset(owner, nsec3_params, rr_types, ttl);
 	if (!nsec3_rrset) {
 		knot_node_free(&new_node);
 		return NULL;
@@ -503,6 +502,9 @@ static knot_node_t *create_nsec3_node(knot_dname_t *owner,
 
 /*!
  * \brief Get position of hash field in NSEC3 rdata.
+ *
+ * \todo Redundant - usage should be replaced by
+ *       knot_rrset_rdata_nsec3_next_hashed().
  */
 static uint8_t *nsec3_rdata_hash(uint8_t *rdata)
 {
@@ -770,10 +772,11 @@ int knot_zone_create_nsec_chain(const knot_zone_contents_t *zone,
 
 	int result;
 
-	if (is_nsec3_enabled(zone))
+	if (is_nsec3_enabled(zone)) {
 		result = create_nsec3_chain(zone, nsec_ttl, changeset);
-	else
+	} else {
 		result = create_nsec_chain(zone, nsec_ttl, changeset);
+	}
 
 	return result;
 }
diff --git a/src/libknot/zone/node.c b/src/libknot/zone/node.c
index 39b91aff2..aed0adfb2 100644
--- a/src/libknot/zone/node.c
+++ b/src/libknot/zone/node.c
@@ -79,8 +79,11 @@ knot_node_t *knot_node_new(const knot_dname_t *owner, knot_node_t *parent,
 		return NULL;
 	}
 
-	/* This is a subject to refactoring. Since owner is both at the RRSet
-	 * and node, we need to decide which should have it. Not both. */
+	/*! \todo This is inconsistent: knot_rrset_new() does not copy owner.
+	 *        Either copy in all _new() functions, or in none. I vote for
+	 *        the former, as it should be responsibility of the caller to
+	 *        do the copying (or not if he decides to do so).
+	 */
 	if (owner) {
 		ret->owner = knot_dname_copy(owner);
 	}
-- 
GitLab