aboutsummaryrefslogtreecommitdiff
path: root/contrib/unbound/services/authzone.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/unbound/services/authzone.h')
-rw-r--r--contrib/unbound/services/authzone.h17
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.
*/