From 65b5b2bacf5f41545a1d72bca200f63309d16614 Mon Sep 17 00:00:00 2001
From: Jan Kadlec <jan.kadlec@nic.cz>
Date: Fri, 21 Feb 2014 15:58:04 +0100
Subject: [PATCH] Removed semantic checks magic.

---
 src/knot/zone/semantic-check.c | 4 ++--
 src/knot/zone/semantic-check.h | 6 ++++++
 src/knot/zone/zone-create.c    | 6 +++---
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 9ff3f0788..79242cf61 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -1081,9 +1081,9 @@ static int do_checks_in_tree(knot_node_t *node, void *data)
 		return KNOT_EOK;
 	}
 
-	if (do_checks > 1) {
+	if (do_checks == SEM_CHECK_NSEC || do_checks == SEM_CHECK_NSEC3) {
 		semantic_checks_dnssec(zone, node, last_node,
-				       handler, do_checks == 3);
+				       handler, do_checks == SEM_CHECK_NSEC3);
 	}
 
 	return KNOT_EOK;
diff --git a/src/knot/zone/semantic-check.h b/src/knot/zone/semantic-check.h
index c5fa439ad..6d2520e1b 100644
--- a/src/knot/zone/semantic-check.h
+++ b/src/knot/zone/semantic-check.h
@@ -30,6 +30,12 @@
 #include "knot/zone/node.h"
 #include "knot/zone/zone-contents.h"
 
+enum check_levels {
+	SEM_CHECK_UNSIGNED = 1,
+	SEM_CHECK_NSEC = 2,
+	SEM_CHECK_NSEC3 = 3
+};
+
 /*!
  *\brief Internal error constants. General errors are added for convenience,
  *       so that code does not have to change if new errors are added.
diff --git a/src/knot/zone/zone-create.c b/src/knot/zone/zone-create.c
index ff2800db2..e48af3e1e 100644
--- a/src/knot/zone/zone-create.c
+++ b/src/knot/zone/zone-create.c
@@ -277,7 +277,7 @@ knot_zone_contents_t *zonefile_load(zloader_t *loader)
 	}
 
 	if (loader->semantic_checks) {
-		int check_level = 1;
+		int check_level = SEM_CHECK_UNSIGNED;
 		const knot_rrset_t *soa_rr =
 			knot_node_rrset(zc->z->apex,
 		                        KNOT_RRTYPE_SOA);
@@ -287,9 +287,9 @@ knot_zone_contents_t *zonefile_load(zloader_t *loader)
 		                        KNOT_RRTYPE_NSEC3PARAM);
 		if (knot_zone_contents_is_signed(zc->z) && nsec3param_rr == NULL) {
 			/* Set check level to DNSSEC. */
-			check_level = 2;
+			check_level = SEM_CHECK_NSEC;
 		} else if (knot_zone_contents_is_signed(zc->z) && nsec3param_rr) {
-			check_level = 3;
+			check_level = SEM_CHECK_NSEC3;
 		}
 		err_handler_t err_handler;
 		err_handler_init(&err_handler);
-- 
GitLab