Electroneum
val_qstate Struct Reference

#include <validator.h>

Collaboration diagram for val_qstate:

Public Types

enum  dlv_status { dlv_error, dlv_success, dlv_ask_higher, dlv_there_is_no_dlv }
 

Public Attributes

enum val_state state
 
struct dns_msgorig_msg
 
int restart_count
 
struct sock_listchain_blacklist
 
struct query_info qchase
 
struct reply_infochase_reply
 
size_t rrset_skip
 
uint8_ttrust_anchor_name
 
int trust_anchor_labs
 
size_t trust_anchor_len
 
struct ub_packed_rrset_keyds_rrset
 
uint8_tempty_DS_name
 
size_t empty_DS_len
 
struct key_entry_keykey_entry
 
enum val_classification subtype
 
uint8_tsigner_name
 
size_t signer_len
 
int wait_prime_ta
 
int dlv_checked
 
uint8_tdlv_lookup_name
 
size_t dlv_lookup_name_len
 
uint8_tdlv_insecure_at
 
size_t dlv_insecure_at_len
 
enum val_qstate::dlv_status dlv_status
 

Detailed Description

Per query state for the validator module.

Definition at line 147 of file validator.h.

Member Enumeration Documentation

◆ dlv_status

status of DLV lookup. Indication to VAL_DLV_STATE what to do

Enumerator
dlv_error 
dlv_success 
dlv_ask_higher 
dlv_there_is_no_dlv 

Definition at line 235 of file validator.h.

235  {
236  dlv_error, /* server failure */
237  dlv_success, /* got a DLV */
238  dlv_ask_higher, /* ask again */
239  dlv_there_is_no_dlv /* got no DLV, sure of it */
240  } dlv_status;

Member Data Documentation

◆ chain_blacklist

struct sock_list* val_qstate::chain_blacklist

The blacklist saved for chainoftrust elements

Definition at line 163 of file validator.h.

◆ chase_reply

struct reply_info* val_qstate::chase_reply

The chased reply, extract from original message. Can be: o CNAME o DNAME + CNAME o answer plus authority, additional (nsecs) that have same signature.

Definition at line 177 of file validator.h.

◆ dlv_checked

int val_qstate::dlv_checked

have we already checked the DLV?

Definition at line 222 of file validator.h.

◆ dlv_insecure_at

uint8_t* val_qstate::dlv_insecure_at

Name at which chain of trust stopped with insecure, starting DLV DLV must result in chain going further down

Definition at line 231 of file validator.h.

◆ dlv_insecure_at_len

size_t val_qstate::dlv_insecure_at_len

length of dlv insecure point name

Definition at line 233 of file validator.h.

◆ dlv_lookup_name

uint8_t* val_qstate::dlv_lookup_name

The name for which the DLV is looked up. For the current message or for the current RRset (for CNAME, REFERRAL types). If there is signer name, that may be it, else a domain name

Definition at line 226 of file validator.h.

◆ dlv_lookup_name_len

size_t val_qstate::dlv_lookup_name_len

length of dlv lookup name

Definition at line 228 of file validator.h.

◆ dlv_status

◆ ds_rrset

struct ub_packed_rrset_key* val_qstate::ds_rrset

the DS rrset

Definition at line 200 of file validator.h.

◆ empty_DS_len

size_t val_qstate::empty_DS_len

length of empty_DS_name

Definition at line 205 of file validator.h.

◆ empty_DS_name

uint8_t* val_qstate::empty_DS_name

domain name for empty nonterminal detection

Definition at line 203 of file validator.h.

◆ key_entry

struct key_entry_key* val_qstate::key_entry

the current key entry

Definition at line 208 of file validator.h.

◆ orig_msg

struct dns_msg* val_qstate::orig_msg

The original message we have been given to validate.

Definition at line 156 of file validator.h.

◆ qchase

struct query_info val_qstate::qchase

The query name we have chased to; qname after following CNAMEs

Definition at line 168 of file validator.h.

◆ restart_count

int val_qstate::restart_count

The query restart count

Definition at line 161 of file validator.h.

◆ rrset_skip

size_t val_qstate::rrset_skip

The cname skip value; the number of rrsets that have been skipped due to chasing cnames. This is the offset into the orig_msg->rep->rrsets array, into the answer section. starts at 0 - for the full original message. if it is >0 - qchase followed the cname, chase_reply setup to be that message and relevant authority rrsets.

The skip is also used for referral messages, where it will range from 0, over the answer, authority and additional sections.

Definition at line 190 of file validator.h.

◆ signer_len

size_t val_qstate::signer_len

length of signer_name

Definition at line 216 of file validator.h.

◆ signer_name

uint8_t* val_qstate::signer_name

signer name

Definition at line 214 of file validator.h.

◆ state

enum val_state val_qstate::state

State of the validator module.

Definition at line 151 of file validator.h.

◆ subtype

enum val_classification val_qstate::subtype

subtype

Definition at line 211 of file validator.h.

◆ trust_anchor_labs

int val_qstate::trust_anchor_labs

trust anchor labels

Definition at line 195 of file validator.h.

◆ trust_anchor_len

size_t val_qstate::trust_anchor_len

trust anchor length

Definition at line 197 of file validator.h.

◆ trust_anchor_name

uint8_t* val_qstate::trust_anchor_name

trust anchor name

Definition at line 193 of file validator.h.

◆ wait_prime_ta

int val_qstate::wait_prime_ta

true if this state is waiting to prime a trust anchor

Definition at line 219 of file validator.h.


The documentation for this struct was generated from the following file: