From: Daniel Salzman Date: Wed, 6 Apr 2022 15:30:26 +0000 (+0200) Subject: zonedb: preserve all zone flags (including zone XFR freeze) during reload X-Git-Tag: v3.3.dev~150^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ef2fd8334cf01e20fac78669f01432a98218f33;p=thirdparty%2Fknot-dns.git zonedb: preserve all zone flags (including zone XFR freeze) during reload --- diff --git a/src/knot/zone/zone.h b/src/knot/zone/zone.h index 1abcac7a43..4eafe5fd3f 100644 --- a/src/knot/zone/zone.h +++ b/src/knot/zone/zone.h @@ -34,6 +34,8 @@ struct zone_backup_ctx; /*! * \brief Zone flags. + * + * When updating check create_zone_reload() if the flag mask is ok. */ typedef enum { ZONE_FORCE_AXFR = 1 << 0, /*!< Force AXFR as next transfer. */ diff --git a/src/knot/zone/zonedb-load.c b/src/knot/zone/zonedb-load.c index 66e87f48ea..e3a8411246 100644 --- a/src/knot/zone/zonedb-load.c +++ b/src/knot/zone/zonedb-load.c @@ -91,7 +91,7 @@ static zone_t *create_zone_reload(conf_t *conf, const knot_dname_t *name, } zone->contents = old_zone->contents; - zone_set_flag(zone, zone_get_flag(old_zone, ZONE_IS_CATALOG | ZONE_IS_CAT_MEMBER, false)); + zone_set_flag(zone, zone_get_flag(old_zone, ~0, false)); zone->timers = old_zone->timers; zone_timers_sanitize(conf, zone);