summaryrefslogtreecommitdiff
path: root/validator/validator.h
diff options
context:
space:
mode:
Diffstat (limited to 'validator/validator.h')
-rw-r--r--validator/validator.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/validator/validator.h b/validator/validator.h
index 694e4c89529e..72f44b16e382 100644
--- a/validator/validator.h
+++ b/validator/validator.h
@@ -45,11 +45,13 @@
#include "util/module.h"
#include "util/data/msgreply.h"
#include "validator/val_utils.h"
+#include "validator/val_nsec3.h"
struct val_anchors;
struct key_cache;
struct key_entry_key;
struct val_neg_cache;
struct config_strlist;
+struct comm_timer;
/**
* This is the TTL to use when a trust anchor fails to prime. A trust anchor
@@ -215,6 +217,19 @@ struct val_qstate {
/** true if this state is waiting to prime a trust anchor */
int wait_prime_ta;
+
+ /** State to continue with RRSIG validation in a message later */
+ int msg_signatures_state;
+ /** The rrset index for the msg signatures to continue from */
+ size_t msg_signatures_index;
+ /** Cache table for NSEC3 hashes */
+ struct nsec3_cache_table nsec3_cache_table;
+ /** DS message from sub if it got suspended from NSEC3 calculations */
+ struct dns_msg* sub_ds_msg;
+ /** The timer to resume processing msg signatures */
+ struct comm_timer* suspend_timer;
+ /** Number of suspends */
+ int suspend_count;
};
/**
@@ -262,4 +277,7 @@ void val_clear(struct module_qstate* qstate, int id);
*/
size_t val_get_mem(struct module_env* env, int id);
+/** Timer callback for msg signatures continue timer */
+void validate_suspend_timer_cb(void* arg);
+
#endif /* VALIDATOR_VALIDATOR_H */