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