diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/100-ixfr-Fix-fallback-to-axfr-in-XFR_TYPE_ERROR-case.patch | 31 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/debian/patches/100-ixfr-Fix-fallback-to-axfr-in-XFR_TYPE_ERROR-case.patch b/debian/patches/100-ixfr-Fix-fallback-to-axfr-in-XFR_TYPE_ERROR-case.patch new file mode 100644 index 0000000..af87999 --- /dev/null +++ b/debian/patches/100-ixfr-Fix-fallback-to-axfr-in-XFR_TYPE_ERROR-case.patch @@ -0,0 +1,31 @@ +From c2f4982b39bb268255ae9a686933e383770f5e8f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= <dxld@darkboxed.org> +Date: Sat, 25 Sep 2021 12:40:04 +0200 +Subject: [PATCH 1/2] ixfr: Fix fallback to axfr in XFR_TYPE_ERROR case + +--- + src/knot/events/handlers/refresh.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/knot/events/handlers/refresh.c b/src/knot/events/handlers/refresh.c +index 88c8daf27..865ef6deb 100644 +--- a/src/knot/events/handlers/refresh.c ++++ b/src/knot/events/handlers/refresh.c +@@ -1196,12 +1196,12 @@ static int try_refresh(conf_t *conf, zone_t *zone, const conf_remote_t *master, + + int timeout = conf->cache.srv_tcp_remote_io_timeout; + +- int ret; ++ int ret, i=0; + + // while loop runs 0x or 1x; IXFR to AXFR failover + while (ret = knot_requestor_exec(&requestor, req, timeout), + ret = (data.ret == KNOT_EOK ? ret : data.ret), +- ixfr_error_failover(ret) && data.xfr_type == XFR_TYPE_IXFR && ++ ixfr_error_failover(ret) && i++ <= 1 && + data.state != STATE_SOA_QUERY) { + REFRESH_LOG(LOG_WARNING, data.zone->name, data.remote, + "fallback to AXFR (%s)", knot_strerror(ret)); +-- +2.30.2 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..b4e2eda --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +100-ixfr-Fix-fallback-to-axfr-in-XFR_TYPE_ERROR-case.patch |