Electroneum
ub_result Struct Reference

#include <unbound.h>

Public Attributes

char * qname
 
int qtype
 
int qclass
 
char ** data
 
int * len
 
char * canonname
 
int rcode
 
void * answer_packet
 
int answer_len
 
int havedata
 
int nxdomain
 
int secure
 
int bogus
 
char * why_bogus
 
int ttl
 

Detailed Description

The validation and resolution results. Allocated by the resolver, and need to be freed by the application with ub_resolve_free().

Definition at line 123 of file unbound.h.

Member Data Documentation

◆ answer_len

int ub_result::answer_len

length of the answer packet in octets.

Definition at line 160 of file unbound.h.

◆ answer_packet

void* ub_result::answer_packet

The DNS answer packet. Network formatted. Can contain DNSSEC types.

Definition at line 158 of file unbound.h.

◆ bogus

int ub_result::bogus

If the result was not secure (secure==0), and this result is due to a security failure, bogus is true. This means the data has been actively tampered with, signatures failed, expected signatures were not present, timestamps on signatures were out of date and so on.

If !secure and !bogus, this can happen if the data is not secure because security is disabled for that domain name. This means the data is from a domain where data is not signed.

Definition at line 196 of file unbound.h.

◆ canonname

char* ub_result::canonname

canonical name for the result (the final cname). zero terminated string. May be NULL if no canonical name exists.

Definition at line 147 of file unbound.h.

◆ data

char** ub_result::data

a list of network order DNS rdata items, terminated with a NULL pointer, so that data[0] is the first result entry, data[1] the second, and the last entry is NULL. If there was no data, data[0] is NULL.

Definition at line 137 of file unbound.h.

◆ havedata

int ub_result::havedata

If there is any data, this is true. If false, there was no data (nxdomain may be true, rcode can be set).

Definition at line 166 of file unbound.h.

◆ len

int* ub_result::len

the length in bytes of the data items, len[i] for data[i]

Definition at line 140 of file unbound.h.

◆ nxdomain

int ub_result::nxdomain

If there was no data, and the domain did not exist, this is true. If it is false, and there was no data, then the domain name is purported to exist, but the requested data type is not available.

Definition at line 173 of file unbound.h.

◆ qclass

int ub_result::qclass

the class asked for

Definition at line 129 of file unbound.h.

◆ qname

char* ub_result::qname

The original question, name text string.

Definition at line 125 of file unbound.h.

◆ qtype

int ub_result::qtype

the type asked for

Definition at line 127 of file unbound.h.

◆ rcode

int ub_result::rcode

DNS RCODE for the result. May contain additional error code if there was no data due to an error. 0 (NOERROR) if okay.

Definition at line 153 of file unbound.h.

◆ secure

int ub_result::secure

True, if the result is validated securely. False, if validation failed or domain queried has no security info.

It is possible to get a result with no data (havedata is false), and secure is true. This means that the non-existence of the data was cryptographically proven (with signatures).

Definition at line 183 of file unbound.h.

◆ ttl

int ub_result::ttl

TTL for the result, in seconds. If the security is bogus, then you also cannot trust this value.

Definition at line 210 of file unbound.h.

◆ why_bogus

char* ub_result::why_bogus

If the result is bogus this contains a string (zero terminated) that describes the failure. There may be other errors as well as the one described, the description may not be perfectly accurate. Is NULL if the result is not bogus.

Definition at line 204 of file unbound.h.


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