From 0f4930a55c481b845a3c7f39c0c0a0e5dd58db45 Mon Sep 17 00:00:00 2001
From: Jan Kadlec <jan.kadlec@nic.cz>
Date: Tue, 6 May 2014 12:12:08 +0200
Subject: [PATCH] zone-events: TSIG + IXFR-in.

---
 src/knot/nameserver/ixfr.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/knot/nameserver/ixfr.c b/src/knot/nameserver/ixfr.c
index c881af33d..163eed169 100644
--- a/src/knot/nameserver/ixfr.c
+++ b/src/knot/nameserver/ixfr.c
@@ -641,6 +641,7 @@ int ixfr_query(knot_pkt_t *pkt, struct query_data *qdata)
 int ixfr_process_answer(knot_pkt_t *pkt, struct answer_data *adata)
 {
 	if (adata->ext == NULL) {
+		NS_NEED_TSIG_SIGNED(&adata->param->tsig_ctx, 0);
 		if (!transfer_needed(adata->param->zone, pkt)) {
 			IXFRIN_LOG(LOG_INFO, "Server has newer zone.");
 			return NS_PROC_DONE;
@@ -653,10 +654,13 @@ int ixfr_process_answer(knot_pkt_t *pkt, struct answer_data *adata)
 			IXFRIN_LOG(LOG_ERR, "Failed - %s", knot_strerror(ret));
 			return NS_PROC_FAIL;
 		}
+	} else {
+		NS_NEED_TSIG_SIGNED(&adata->param->tsig_ctx, 100);
 	}
 
 	int ret = process_ixfrin_packet(pkt, adata);
 	if (ret == NS_PROC_DONE) {
+		NS_NEED_TSIG_SIGNED(&adata->param->tsig_ctx, 0);
 		int fret = ixfrin_finalize(adata);
 		if (fret != KNOT_EOK) {
 			IXFRIN_LOG(LOG_ERR, "Failed - %s", knot_strerror(ret));
-- 
GitLab