summaryrefslogtreecommitdiff
path: root/validator/validator.h
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2023-11-13 19:44:16 +0000
committerCy Schubert <cy@FreeBSD.org>2024-02-14 04:54:33 +0000
commit217a625642d38bfc0d3d03192b013d4bc7a32458 (patch)
tree01f59fd861e044c186217ca46cd4cf85156871b6 /validator/validator.h
parent16fd0b24910488e59ca1941387b9ac7fb646a837 (diff)
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 */