diff options
Diffstat (limited to 'contrib/unbound/services/authzone.h')
-rw-r--r-- | contrib/unbound/services/authzone.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/contrib/unbound/services/authzone.h b/contrib/unbound/services/authzone.h index 722781a063a8..d38cf9d26622 100644 --- a/contrib/unbound/services/authzone.h +++ b/contrib/unbound/services/authzone.h @@ -118,6 +118,8 @@ struct auth_zone { char* zonefile; /** fallback to the internet on failure or ttl-expiry of auth zone */ int fallback_enabled; + /** the time when zone was transferred from upstream */ + time_t soa_zone_acquired; /** the zone has expired (enabled by the xfer worker), fallback * happens if that option is enabled. */ int zone_expired; @@ -261,6 +263,8 @@ struct auth_xfer { int zone_expired; /** do we have a zone (if 0, no zone data at all) */ int have_zone; + /** the time when zone was transferred from upstream */ + time_t soa_zone_acquired; /** current serial (from SOA), if we have no zone, 0 */ uint32_t serial; @@ -550,9 +554,10 @@ int auth_zones_lookup(struct auth_zones* az, struct query_info* qinfo, * @param temp: temporary storage region. * @return false if not answered */ -int auth_zones_answer(struct auth_zones* az, struct module_env* env, +int auth_zones_downstream_answer(struct auth_zones* az, struct module_env* env, struct query_info* qinfo, struct edns_data* edns, - struct comm_reply* repinfo, struct sldns_buffer* buf, struct regional* temp); + struct comm_reply* repinfo, struct sldns_buffer* buf, + struct regional* temp); /** * Find the auth zone that is above the given qname. @@ -800,6 +805,14 @@ void auth_xfer_pickup_initial_zone(struct auth_xfer* x, struct module_env* env); /** + * Initial pick up of the auth zone, it sets the acquired time. + * @param z: the zone, write locked by caller. + * @param env: environment of the worker, with current time. + */ +void auth_zone_pickup_initial_zone(struct auth_zone* z, + struct module_env* env); + +/** * Delete auth xfer structure * @param xfr: delete this xfer and its tasks. */ |