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.   */ | 
