From c9b64e3a2d1ca8a41f7a71d38adee71e1ff08f66 Mon Sep 17 00:00:00 2001
From: Jan Kadlec <jan.kadlec@nic.cz>
Date: Wed, 7 May 2014 16:36:30 +0200
Subject: [PATCH] zone-events: Fixed error code mismatch during AXFR-in
 finalization.

---
 src/knot/nameserver/axfr.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/knot/nameserver/axfr.c b/src/knot/nameserver/axfr.c
index a4656ce4f..d8f07c60e 100644
--- a/src/knot/nameserver/axfr.c
+++ b/src/knot/nameserver/axfr.c
@@ -352,9 +352,11 @@ int axfr_process_answer(knot_pkt_t *pkt, struct answer_data *data)
 			AXFRIN_LOG(LOG_INFO, "Zone is up-to-date.");
 			return NS_PROC_DONE;
 		}
+		AXFRIN_LOG(LOG_INFO, "Starting.\n");
 
 		ret = axfr_answer_init(data);
 		if (ret != KNOT_EOK) {
+			AXFRIN_LOG(LOG_ERR, "Failed.\n");
 			return NS_PROC_FAIL;
 		}
 	} else {
@@ -366,12 +368,14 @@ int axfr_process_answer(knot_pkt_t *pkt, struct answer_data *data)
 	if (ret == NS_PROC_DONE) {
 		NS_NEED_TSIG_SIGNED(&data->param->tsig_ctx, 0);
 		/* This was the last packet, finalize zone and publish it. */
-		ret = axfr_answer_finalize(data);
-		if (ret != KNOT_EOK) {
-			return NS_PROC_FAIL;
+		int fret = axfr_answer_finalize(data);
+		if (fret != KNOT_EOK) {
+			ret = NS_PROC_FAIL;
 		}
+	}
 
-		return ret;
+	if (ret == NS_PROC_FAIL) {
+		AXFRIN_LOG(LOG_ERR, "Failed.\n");
 	}
 
 	return ret;
-- 
GitLab