wire2str.c File Reference

Contains functions to translate the wireformat to text representation, as well as functions to print them. More...

#include "config.h"
#include "sldns/wire2str.h"
#include "sldns/str2wire.h"
#include "sldns/rrdef.h"
#include "sldns/pkthdr.h"
#include "sldns/parseutil.h"
#include "sldns/sbuffer.h"
#include "sldns/keyraw.h"
#include "util/data/dname.h"
#include <sys/time.h>
#include <stdarg.h>
#include <ctype.h>

Functions

char * sldns_wire2str_pkt (uint8_t *data, size_t len)
 Convert wireformat packet to a string representation. More...
 
char * sldns_wire2str_rr (uint8_t *rr, size_t len)
 Convert wireformat RR to a string representation. More...
 
char * sldns_wire2str_type (uint16_t rrtype)
 Convert wire RR type to a string, 'MX', 'TYPE1234'... More...
 
char * sldns_wire2str_class (uint16_t rrclass)
 Convert wire RR class to a string, 'IN', 'CLASS1'. More...
 
char * sldns_wire2str_dname (uint8_t *dname, size_t dname_len)
 Convert wire dname to a string. More...
 
char * sldns_wire2str_rcode (int rcode)
 Convert wire packet rcode to a string, 'NOERROR', 'NXDOMAIN'... More...
 
int sldns_wire2str_pkt_buf (uint8_t *d, size_t dlen, char *s, size_t slen)
 Convert wireformat packet to a string representation with user buffer It appends every RR with default comments. More...
 
int sldns_wire2str_rr_buf (uint8_t *d, size_t dlen, char *s, size_t slen)
 Convert RR to string presentation format, on one line. More...
 
int sldns_wire2str_rrquestion_buf (uint8_t *d, size_t dlen, char *s, size_t slen)
 Convert question RR to string presentation format, on one line. More...
 
int sldns_wire2str_rdata_buf (uint8_t *rdata, size_t rdata_len, char *str, size_t str_len, uint16_t rrtype)
 Convert RDATA to string presentation format, on one line. More...
 
int sldns_wire2str_rr_unknown_buf (uint8_t *d, size_t dlen, char *s, size_t slen)
 3597 printout of an RR in unknown rr format. More...
 
int sldns_wire2str_rr_comment_buf (uint8_t *rr, size_t rrlen, size_t dname_len, char *s, size_t slen)
 This creates the comment to print after the RR. More...
 
int sldns_wire2str_type_buf (uint16_t rrtype, char *s, size_t slen)
 Convert wire RR type to a string, 'MX', 'TYPE12'. More...
 
int sldns_wire2str_class_buf (uint16_t rrclass, char *s, size_t slen)
 Convert wire RR class to a string, 'IN', 'CLASS12'. More...
 
int sldns_wire2str_rcode_buf (int rcode, char *s, size_t slen)
 Convert wire RR rcode to a string, 'NOERROR', 'NXDOMAIN'. More...
 
int sldns_wire2str_opcode_buf (int opcode, char *s, size_t slen)
 Convert host format opcode to a string. More...
 
int sldns_wire2str_dname_buf (uint8_t *d, size_t dlen, char *s, size_t slen)
 Convert wire dname to a string, "example.com.". More...
 
int sldns_str_vprint (char **str, size_t *slen, const char *format, va_list args)
 Print to string, move string along for next content. More...
 
int sldns_str_print (char **str, size_t *slen, const char *format,...)
 
static int print_hex_buf (char **s, size_t *slen, uint8_t *buf, size_t len)
 print hex format into text buffer for specified length
 
static int print_remainder_hex (const char *pref, uint8_t **d, size_t *dlen, char **s, size_t *slen)
 print remainder of buffer in hex format with prefixed text
 
int sldns_wire2str_pkt_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat packet to a string representation with user buffer It appends every RR with default comments. More...
 
static int sldns_rr_tcttl_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 scan type, class and ttl and printout, for rr
 
int sldns_wire2str_rr_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat rr to string, with user buffers. More...
 
int sldns_wire2str_rrquestion_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat question rr to string, with user buffers. More...
 
int sldns_wire2str_rr_unknown_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat RR to string in unknown RR format, with user buffers. More...
 
static int rr_comment_dnskey (char **s, size_t *slen, uint8_t *rr, size_t rrlen, size_t dname_off)
 print rr comment for type DNSKEY
 
static int rr_comment_rrsig (char **s, size_t *slen, uint8_t *rr, size_t rrlen, size_t dname_off)
 print rr comment for type RRSIG
 
static int rr_comment_nsec3 (char **s, size_t *slen, uint8_t *rr, size_t rrlen, size_t dname_off)
 print rr comment for type NSEC3
 
int sldns_wire2str_rr_comment_print (char **s, size_t *slen, uint8_t *rr, size_t rrlen, size_t dname_off, uint16_t rrtype)
 Print to string the RR-information comment in default format, with user buffers. More...
 
int sldns_wire2str_header_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat packet header to string, with user buffers. More...
 
int sldns_wire2str_rdata_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, uint16_t rrtype, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat rdata to string, with user buffers. More...
 
int sldns_wire2str_rdata_unknown_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat rdata to string in unknown format, with user buffers. More...
 
static int dname_char_print (char **s, size_t *slen, uint8_t c)
 print and escape one character for a domain dname
 
int sldns_wire2str_dname_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat domain name to string, with user buffers. More...
 
int sldns_wire2str_opcode_print (char **s, size_t *slen, int opcode)
 Print host format opcode to string. More...
 
int sldns_wire2str_rcode_print (char **s, size_t *slen, int rcode)
 Print host format rcode to string. More...
 
int sldns_wire2str_class_print (char **s, size_t *slen, uint16_t rrclass)
 Print host format rr class to string. More...
 
int sldns_wire2str_type_print (char **s, size_t *slen, uint16_t rrtype)
 Print host format rr type to string. More...
 
int sldns_wire2str_edns_option_code_print (char **s, size_t *slen, uint16_t opcode)
 Print host format EDNS0 option to string. More...
 
int sldns_wire2str_class_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat rr class to string, with user buffers. More...
 
int sldns_wire2str_type_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat rr type to string, with user buffers. More...
 
int sldns_wire2str_ttl_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Scan wireformat rr ttl to string, with user buffers. More...
 
static int sldns_print_svcparamkey (char **s, size_t *slen, uint16_t svcparamkey)
 
static int sldns_wire2str_svcparam_port2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
static int sldns_wire2str_svcparam_ipv4hint2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
static int sldns_wire2str_svcparam_ipv6hint2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
static int sldns_wire2str_svcparam_mandatory2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
static int sldns_wire2str_svcparam_alpn2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
static int sldns_wire2str_svcparam_ech2str (char **s, size_t *slen, uint16_t data_len, uint8_t *data)
 
int sldns_wire2str_svcparam_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen)
 Convert wire SVCB to a string with user buffer. More...
 
int sldns_wire2str_rdf_scan (uint8_t **d, size_t *dlen, char **s, size_t *slen, int rdftype, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat rdf field to string, with user buffers. More...
 
int sldns_wire2str_int8_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat int8 field to string, with user buffers. More...
 
int sldns_wire2str_int16_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat int16 field to string, with user buffers. More...
 
int sldns_wire2str_int32_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat int32 field to string, with user buffers. More...
 
int sldns_wire2str_period_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat period field to string, with user buffers. More...
 
int sldns_wire2str_tsigtime_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat tsigtime field to string, with user buffers. More...
 
int sldns_wire2str_a_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat ip4 A field to string, with user buffers. More...
 
int sldns_wire2str_aaaa_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat ip6 AAAA field to string, with user buffers. More...
 
static int str_char_print (char **s, size_t *sl, uint8_t c)
 printout escaped TYPE_STR character
 
int sldns_wire2str_str_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat str field to string, with user buffers. More...
 
int sldns_wire2str_apl_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat apl field to string, with user buffers. More...
 
int sldns_wire2str_b32_ext_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat b32_ext field to string, with user buffers. More...
 
static int sldns_wire2str_b64_scan_num (uint8_t **d, size_t *dl, char **s, size_t *sl, size_t num)
 scan number of bytes from wire into b64 presentation format
 
int sldns_wire2str_b64_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat b64 field to string, with user buffers. More...
 
int sldns_wire2str_hex_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat hex field to string, with user buffers. More...
 
int sldns_wire2str_nsec_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat nsec bitmap field to string, with user buffers. More...
 
int sldns_wire2str_nsec3_salt_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat nsec3_salt field to string, with user buffers. More...
 
int sldns_wire2str_cert_alg_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat cert_alg field to string, with user buffers. More...
 
int sldns_wire2str_alg_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat alg field to string, with user buffers. More...
 
int sldns_wire2str_unknown_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat type unknown field to string, with user buffers. More...
 
int sldns_wire2str_time_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat time field to string, with user buffers. More...
 
static int loc_cm_print (char **str, size_t *sl, uint8_t mantissa, uint8_t exponent)
 
int sldns_wire2str_loc_scan (uint8_t **d, size_t *dl, char **str, size_t *sl)
 Scan wireformat LOC field to string, with user buffers. More...
 
int sldns_wire2str_wks_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat WKS field to string, with user buffers. More...
 
int sldns_wire2str_nsap_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat NSAP field to string, with user buffers. More...
 
int sldns_wire2str_atma_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat ATMA field to string, with user buffers. More...
 
static int sldns_wire2str_ipseckey_scan_internal (uint8_t **d, size_t *dl, char **s, size_t *sl, uint8_t *pkt, size_t pktlen, int *comprloop)
 
int sldns_wire2str_ipseckey_scan (uint8_t **d, size_t *dl, char **s, size_t *sl, uint8_t *pkt, size_t pktlen, int *comprloop)
 Scan wireformat IPSECKEY field to string, with user buffers. More...
 
int sldns_wire2str_hip_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat HIP (algo, HIT, pubkey) field to string, with user buffers. More...
 
int sldns_wire2str_int16_data_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat int16_data field to string, with user buffers. More...
 
int sldns_wire2str_nsec3_next_owner_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat nsec3_next_owner field to string, with user buffers. More...
 
int sldns_wire2str_ilnp64_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat ILNP64 field to string, with user buffers. More...
 
int sldns_wire2str_eui48_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat EUI48 field to string, with user buffers. More...
 
int sldns_wire2str_eui64_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat EUI64 field to string, with user buffers. More...
 
int sldns_wire2str_tag_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat TAG field to string, with user buffers. More...
 
int sldns_wire2str_long_str_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat long_str field to string, with user buffers. More...
 
int sldns_wire2str_tsigerror_scan (uint8_t **d, size_t *dl, char **s, size_t *sl)
 Scan wireformat tsigerror field to string, with user buffers. More...
 
int sldns_wire2str_edns_llq_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS LLQ option data to string. More...
 
int sldns_wire2str_edns_ul_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS UL option data to string. More...
 
int sldns_wire2str_edns_nsid_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS NSID option data to string. More...
 
int sldns_wire2str_edns_dau_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS DAU option data to string. More...
 
int sldns_wire2str_edns_dhu_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS DHU option data to string. More...
 
int sldns_wire2str_edns_n3u_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS N3U option data to string. More...
 
int sldns_wire2str_edns_subnet_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS SUBNET option data to string. More...
 
static int sldns_wire2str_edns_keepalive_print (char **s, size_t *sl, uint8_t *data, size_t len)
 
int sldns_wire2str_edns_ede_print (char **s, size_t *sl, uint8_t *data, size_t len)
 Print EDNS EDE option data to string. More...
 
int sldns_wire2str_edns_option_print (char **s, size_t *sl, uint16_t option_code, uint8_t *optdata, size_t optlen)
 Print an EDNS option as OPT: VALUE. More...
 
static int print_edns_opts (char **s, size_t *sl, uint8_t *rdata, size_t rdatalen)
 print the edns options to string
 
int sldns_wire2str_edns_scan (uint8_t **data, size_t *data_len, char **str, size_t *str_len, uint8_t *pkt, size_t pktlen)
 Scan wireformat EDNS OPT to string, with user buffers. More...
 

Variables

static sldns_lookup_table sldns_algorithms_data []
 
sldns_lookup_tablesldns_algorithms = sldns_algorithms_data
 Taken from RFC 2535, section 7. More...
 
static sldns_lookup_table sldns_hashes_data []
 
sldns_lookup_tablesldns_hashes = sldns_hashes_data
 DS record hash algorithms.
 
static sldns_lookup_table sldns_cert_algorithms_data []
 
sldns_lookup_tablesldns_cert_algorithms = sldns_cert_algorithms_data
 Taken from RFC 2538, section 2.1. More...
 
static sldns_lookup_table sldns_rcodes_data []
 
sldns_lookup_tablesldns_rcodes = sldns_rcodes_data
 Response codes.
 
static sldns_lookup_table sldns_opcodes_data []
 
sldns_lookup_tablesldns_opcodes = sldns_opcodes_data
 Operation codes.
 
static sldns_lookup_table sldns_wireparse_errors_data []
 
sldns_lookup_tablesldns_wireparse_errors = sldns_wireparse_errors_data
 error string from wireparse
 
static sldns_lookup_table sldns_edns_flags_data []
 
sldns_lookup_tablesldns_edns_flags = sldns_edns_flags_data
 EDNS flags.
 
static sldns_lookup_table sldns_edns_options_data []
 
sldns_lookup_tablesldns_edns_options = sldns_edns_options_data
 EDNS option codes.
 
static sldns_lookup_table sldns_edns_ede_codes_data []
 
sldns_lookup_tablesldns_edns_ede_codes = sldns_edns_ede_codes_data
 EDNS EDE codes.
 
static sldns_lookup_table sldns_tsig_errors_data []
 
sldns_lookup_tablesldns_tsig_errors = sldns_tsig_errors_data
 tsig errors are the rcodes with extra (higher) values
 
const char * svcparamkey_strs []
 

Detailed Description

Contains functions to translate the wireformat to text representation, as well as functions to print them.

Function Documentation

◆ sldns_wire2str_pkt()

char* sldns_wire2str_pkt ( uint8_t *  data,
size_t  len 
)

Convert wireformat packet to a string representation.

Parameters
datawireformat packet data (starting at ID bytes).
lenlength of packet.
Returns
string(malloced) or NULL on failure.

References sldns_wire2str_pkt_buf().

Referenced by checkformerr(), dstest_entry(), match_all(), match_answer(), match_question(), nsec3_hash_test_entry(), pretty_output(), test_buffers(), and verifytest_entry().

◆ sldns_wire2str_rr()

char* sldns_wire2str_rr ( uint8_t *  rr,
size_t  len 
)

Convert wireformat RR to a string representation.

Parameters
rrthe wireformat RR, in uncompressed form. Starts at the domain name start, ends with the rdata of the RR.
lenlength of the rr wireformat.
Returns
string(malloced) or NULL on failure.

References sldns_wire2str_rr_buf().

◆ sldns_wire2str_type()

char* sldns_wire2str_type ( uint16_t  rrtype)

Convert wire RR type to a string, 'MX', 'TYPE1234'...

Parameters
rrtypethe RR type in host order.
Returns
malloced string with the RR type or NULL on malloc failure.

References sldns_wire2str_type_buf().

Referenced by do_dump_requestlist(), dump_msg(), dump_msg_ref(), and get_mesh_status().

◆ sldns_wire2str_class()

char* sldns_wire2str_class ( uint16_t  rrclass)

Convert wire RR class to a string, 'IN', 'CLASS1'.

Parameters
rrclassthe RR class in host order.
Returns
malloced string with the RR class or NULL on malloc failure.

References sldns_wire2str_class_buf().

Referenced by do_dump_requestlist(), dump_msg(), dump_msg_ref(), and get_mesh_status().

◆ sldns_wire2str_dname()

char* sldns_wire2str_dname ( uint8_t *  dname,
size_t  dname_len 
)

Convert wire dname to a string.

Parameters
dnamethe dname in uncompressed wireformat.
dname_lenlength of the dname.
Returns
string or NULL on failure.

References sldns_wire2str_dname_buf().

Referenced by auth_zone_read_zonefile(), dump_msg(), dump_msg_ref(), print_id(), and rpz_insert_rr().

◆ sldns_wire2str_rcode()

char* sldns_wire2str_rcode ( int  rcode)

Convert wire packet rcode to a string, 'NOERROR', 'NXDOMAIN'...

Parameters
rcodeas integer, host order
Returns
malloced string with the rcode or NULL on malloc failure.

References sldns_wire2str_rcode_buf().

Referenced by find_match().

◆ sldns_wire2str_pkt_buf()

int sldns_wire2str_pkt_buf ( uint8_t *  data,
size_t  data_len,
char *  str,
size_t  str_len 
)

Convert wireformat packet to a string representation with user buffer It appends every RR with default comments.

For more formatter options use the function: TBD(TODO)

Parameters
datawireformat packet data (starting at ID bytes).
data_lenlength of packet.
strthe string buffer for the output. If you pass NULL as the str the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_pkt_scan().

Referenced by sldns_wire2str_pkt().

◆ sldns_wire2str_rr_buf()

int sldns_wire2str_rr_buf ( uint8_t *  rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

Convert RR to string presentation format, on one line.

User buffer.

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_rr_scan().

Referenced by sldns_wire2str_rr().

◆ sldns_wire2str_rrquestion_buf()

int sldns_wire2str_rrquestion_buf ( uint8_t *  rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

Convert question RR to string presentation format, on one line.

User buffer.

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_rrquestion_scan().

◆ sldns_wire2str_rdata_buf()

int sldns_wire2str_rdata_buf ( uint8_t *  rdata,
size_t  rdata_len,
char *  str,
size_t  str_len,
uint16_t  rrtype 
)

Convert RDATA to string presentation format, on one line.

User buffer.

Parameters
rdatawireformat rdata part of an RR.
rdata_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire packet. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
rrtyperr type of the data
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

Referenced by do_print(), and print_rd().

◆ sldns_wire2str_rr_unknown_buf()

int sldns_wire2str_rr_unknown_buf ( uint8_t *  rr,
size_t  rr_len,
char *  str,
size_t  str_len 
)

3597 printout of an RR in unknown rr format.

There are more format and comment options available for printout with the function: TBD(TODO)

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire rr. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_rr_unknown_scan().

◆ sldns_wire2str_rr_comment_buf()

int sldns_wire2str_rr_comment_buf ( uint8_t *  rr,
size_t  rr_len,
size_t  dname_len,
char *  str,
size_t  str_len 
)

This creates the comment to print after the RR.

; keytag=... , and other basic comments for RRs. There are more format and comment options available for printout with the function: TBD(TODO)

Parameters
rrwireformat RR data
rr_lenlength of the rr wire data.
dname_lenlength of the dname in front of the RR.
strthe string buffer to write to. If you pass NULL as the str, the return value of the function is the str_len you need for the entire comment. It does not include the 0 byte at the end.
str_lenthe size of the string buffer. If more is needed, it'll silently truncate the output to fit in the buffer.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_rr_comment_print(), and sldns_wirerr_get_type().

◆ sldns_wire2str_type_buf()

int sldns_wire2str_type_buf ( uint16_t  rrtype,
char *  str,
size_t  len 
)

Convert wire RR type to a string, 'MX', 'TYPE12'.

With user buffer.

Parameters
rrtypethe RR type in host order.
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_type_print().

Referenced by auth_zone_generate_answer(), do_print(), errinf_rrset(), errinf_to_str_bogus(), errinf_to_str_servfail(), infra_ratelimit_inc(), pretty_type(), sldns_wire2str_type(), and zonemd_dnssec_verify_rrset().

◆ sldns_wire2str_class_buf()

int sldns_wire2str_class_buf ( uint16_t  rrclass,
char *  str,
size_t  len 
)

Convert wire RR class to a string, 'IN', 'CLASS12'.

With user buffer.

Parameters
rrclassthe RR class in host order.
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_class_print().

Referenced by errinf_rrset(), errinf_to_str_bogus(), errinf_to_str_servfail(), infra_ratelimit_inc(), pretty_class(), and sldns_wire2str_class().

◆ sldns_wire2str_rcode_buf()

int sldns_wire2str_rcode_buf ( int  rcode,
char *  str,
size_t  len 
)

Convert wire RR rcode to a string, 'NOERROR', 'NXDOMAIN'.

With user buffer.

Parameters
rcodercode as integer in host order
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_rcode_print().

Referenced by entry_to_repinfo(), errinf_reply(), log_reply_info(), perftestpkt(), pr_flags(), pretty_rcode(), sldns_wire2str_rcode(), and testpkt().

◆ sldns_wire2str_opcode_buf()

int sldns_wire2str_opcode_buf ( int  opcode,
char *  str,
size_t  len 
)

Convert host format opcode to a string.

'QUERY', 'NOTIFY', 'UPDATE'. With user buffer.

Parameters
opcodeopcode as integer in host order
strthe string to write to.
lenlength of str.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_opcode_print().

◆ sldns_wire2str_dname_buf()

int sldns_wire2str_dname_buf ( uint8_t *  dname,
size_t  dname_len,
char *  str,
size_t  len 
)

Convert wire dname to a string, "example.com.".

With user buffer.

Parameters
dnamethe dname in uncompressed wireformat.
dname_lenlength of the dname.
strthe string to write to.
lenlength of string.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

References sldns_wire2str_dname_scan().

Referenced by auth_zone_generate_answer(), and sldns_wire2str_dname().

◆ sldns_str_vprint()

int sldns_str_vprint ( char **  str,
size_t *  slen,
const char *  format,
va_list  args 
)

Print to string, move string along for next content.

With va_list.

Parameters
strstring buffer. Adjusted at end to after the output.
slenlength of the string buffer. Adjusted at end.
formatprintf format string.
argsarguments for printf.
Returns
number of characters needed. Can be larger than slen.

◆ sldns_wire2str_pkt_scan()

int sldns_wire2str_pkt_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat packet to a string representation with user buffer It appends every RR with default comments.

For more formatter options use the function: TBD(TODO)

Parameters
datawireformat packet data (starting at ID bytes).
data_lenlength of packet.
strthe string buffer for the output.
str_lenthe size of the string buffer.
Returns
number of characters for string. returns the number of characters that are needed (except terminating null), so it may return a value larger than str_len. On error you get less output (i.e. shorter output in str (null terminated)) On exit the data, data_len, str and str_len values are adjusted to move them from their original position along the input and output for the content that has been consumed (and produced) by this function. If the end of the output string is reached, *str_len is set to 0. The output string is null terminated (shortening the output if necessary). If the end of the input is reached *data_len is set to 0.

Referenced by sldns_wire2str_pkt_buf().

◆ sldns_wire2str_rr_scan()

int sldns_wire2str_rr_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat rr to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print.

Referenced by sldns_wire2str_rr_buf().

◆ sldns_wire2str_rrquestion_scan()

int sldns_wire2str_rrquestion_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat question rr to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print.

References print_remainder_hex(), sldns_str_print(), and sldns_wire2str_dname_scan().

Referenced by sldns_wire2str_rrquestion_buf().

◆ sldns_wire2str_rr_unknown_scan()

int sldns_wire2str_rr_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat RR to string in unknown RR format, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print.

References print_remainder_hex(), sldns_rr_tcttl_scan(), sldns_str_print(), and sldns_wire2str_dname_scan().

Referenced by sldns_wire2str_rr_unknown_buf().

◆ sldns_wire2str_rr_comment_print()

int sldns_wire2str_rr_comment_print ( char **  str,
size_t *  str_len,
uint8_t *  rr,
size_t  rrlen,
size_t  dname_off,
uint16_t  rrtype 
)

Print to string the RR-information comment in default format, with user buffers.

Moves string along.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrwireformat data.
rrlenlength of data buffer.
dname_offoffset in buffer behind owner dname, the compressed size of the owner name.
rrtypetype of the RR, host format.
Returns
number of characters (except null) needed to print.

Referenced by sldns_wire2str_rr_comment_buf().

◆ sldns_wire2str_header_scan()

int sldns_wire2str_header_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat packet header to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

References print_remainder_hex(), and sldns_str_print().

◆ sldns_wire2str_rdata_scan()

int sldns_wire2str_rdata_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint16_t  rrtype,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat rdata to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer. The length of the rdata in the buffer. The rdatalen itself has already been scanned, the data points to the rdata after the rdatalen.
strstring buffer.
str_lenlength of string buffer.
rrtypeRR type of Rdata, host format.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print.

References sldns_rr_descript(), sldns_rr_descriptor_field_type(), sldns_rr_descriptor_maximum(), sldns_rr_descriptor_minimum(), sldns_str_print(), sldns_wire2str_rdata_unknown_scan(), and sldns_wire2str_rdf_scan().

Referenced by auth_rr_to_string().

◆ sldns_wire2str_rdata_unknown_scan()

int sldns_wire2str_rdata_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rdata to string in unknown format, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer, the length of the rdata in buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

Referenced by sldns_wire2str_rdata_scan(), and sldns_wire2str_unknown_scan().

◆ sldns_wire2str_dname_scan()

int sldns_wire2str_dname_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat domain name to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopinout bool, that is set true if compression loop failure happens. Pass in 0, if passsed in as true, a lower bound is set on compression loops to stop arbitrary long packet parse times. This is meant so you can set it to 0 at the start of a list of dnames, and then scan all of them in sequence, if a loop happens, it becomes true and then it becomes more strict for the next dnames in the list. You can leave it at NULL if there is no pkt (pkt is NULL too).
Returns
number of characters (except null) needed to print.

References dname_char_print(), LDNS_MAX_DOMAINLEN, MAX_COMPRESS_PTRS, and sldns_str_print().

Referenced by auth_rr_to_string(), equal_dname(), sldns_wire2str_dname_buf(), sldns_wire2str_rdf_scan(), sldns_wire2str_rr_unknown_scan(), sldns_wire2str_rrquestion_scan(), and subdomain_dname().

◆ sldns_wire2str_opcode_print()

int sldns_wire2str_opcode_print ( char **  str,
size_t *  str_len,
int  opcode 
)

Print host format opcode to string.

Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
opcodehost format opcode number.
Returns
number of characters (except null) needed to print.

References sldns_lookup_by_id(), sldns_opcodes, and sldns_str_print().

Referenced by sldns_wire2str_opcode_buf().

◆ sldns_wire2str_rcode_print()

int sldns_wire2str_rcode_print ( char **  str,
size_t *  str_len,
int  rcode 
)

Print host format rcode to string.

Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rcodehost format rcode number.
Returns
number of characters (except null) needed to print.

References sldns_lookup_by_id(), sldns_rcodes, and sldns_str_print().

Referenced by sldns_wire2str_rcode_buf().

◆ sldns_wire2str_class_print()

int sldns_wire2str_class_print ( char **  str,
size_t *  str_len,
uint16_t  rrclass 
)

Print host format rr class to string.

Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrclasshost format rr class.
Returns
number of characters (except null) needed to print.

References sldns_lookup_by_id(), sldns_rr_classes, and sldns_str_print().

Referenced by auth_rr_to_string(), and sldns_wire2str_class_buf().

◆ sldns_wire2str_type_print()

int sldns_wire2str_type_print ( char **  str,
size_t *  str_len,
uint16_t  rrtype 
)

Print host format rr type to string.

Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
rrtypehost format rr type.
Returns
number of characters (except null) needed to print.

References sldns_struct_rr_descriptor::_name, sldns_rr_descript(), and sldns_str_print().

Referenced by auth_rr_to_string(), sldns_wire2str_nsec_scan(), and sldns_wire2str_type_buf().

◆ sldns_wire2str_edns_option_code_print()

int sldns_wire2str_edns_option_code_print ( char **  str,
size_t *  str_len,
uint16_t  opcode 
)

Print host format EDNS0 option to string.

Moves string along, user buffers.

Parameters
strstring buffer.
str_lenlength of string buffer.
opcodehost format option number.
Returns
number of characters (except null) needed to print.

References sldns_edns_options, sldns_lookup_by_id(), and sldns_str_print().

Referenced by sldns_wire2str_edns_option_print().

◆ sldns_wire2str_class_scan()

int sldns_wire2str_class_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr class to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

References print_remainder_hex().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_type_scan()

int sldns_wire2str_type_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr type to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

References print_remainder_hex().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_ttl_scan()

int sldns_wire2str_ttl_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat rr ttl to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print.

References print_remainder_hex().

◆ sldns_wire2str_svcparam_scan()

int sldns_wire2str_svcparam_scan ( uint8_t **  d,
size_t *  dlen,
char **  s,
size_t *  slen 
)

Convert wire SVCB to a string with user buffer.

Parameters
dthe SVCB data in uncompressed wireformat.
dlenlength of the SVCB data.
sthe string to write to.
slenlength of string.
Returns
the number of characters for this element, excluding zerobyte. Is larger or equal than str_len if output was truncated.

◆ sldns_wire2str_rdf_scan()

int sldns_wire2str_rdf_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
int  rdftype,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat rdf field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
rdftypethe type of the rdata field, enum sldns_rdf_type.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References LDNS_RDF_TYPE_A, LDNS_RDF_TYPE_AAAA, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_APL, LDNS_RDF_TYPE_ATMA, LDNS_RDF_TYPE_B32_EXT, LDNS_RDF_TYPE_B64, LDNS_RDF_TYPE_CERT_ALG, LDNS_RDF_TYPE_CLASS, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_EUI48, LDNS_RDF_TYPE_EUI64, LDNS_RDF_TYPE_HEX, LDNS_RDF_TYPE_HIP, LDNS_RDF_TYPE_ILNP64, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16_DATA, LDNS_RDF_TYPE_INT32, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_IPSECKEY, LDNS_RDF_TYPE_LOC, LDNS_RDF_TYPE_LONG_STR, LDNS_RDF_TYPE_NONE, LDNS_RDF_TYPE_NSAP, LDNS_RDF_TYPE_NSEC, LDNS_RDF_TYPE_NSEC3_NEXT_OWNER, LDNS_RDF_TYPE_NSEC3_SALT, LDNS_RDF_TYPE_PERIOD, LDNS_RDF_TYPE_SERVICE, LDNS_RDF_TYPE_STR, LDNS_RDF_TYPE_TAG, LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_TSIGTIME, LDNS_RDF_TYPE_TYPE, LDNS_RDF_TYPE_UNKNOWN, LDNS_RDF_TYPE_WKS, sldns_wire2str_a_scan(), sldns_wire2str_aaaa_scan(), sldns_wire2str_alg_scan(), sldns_wire2str_apl_scan(), sldns_wire2str_atma_scan(), sldns_wire2str_b32_ext_scan(), sldns_wire2str_b64_scan(), sldns_wire2str_cert_alg_scan(), sldns_wire2str_class_scan(), sldns_wire2str_dname_scan(), sldns_wire2str_eui48_scan(), sldns_wire2str_eui64_scan(), sldns_wire2str_hex_scan(), sldns_wire2str_hip_scan(), sldns_wire2str_ilnp64_scan(), sldns_wire2str_int16_data_scan(), sldns_wire2str_int16_scan(), sldns_wire2str_int32_scan(), sldns_wire2str_int8_scan(), sldns_wire2str_ipseckey_scan(), sldns_wire2str_loc_scan(), sldns_wire2str_long_str_scan(), sldns_wire2str_nsap_scan(), sldns_wire2str_nsec3_salt_scan(), sldns_wire2str_nsec_scan(), sldns_wire2str_period_scan(), sldns_wire2str_str_scan(), sldns_wire2str_tag_scan(), sldns_wire2str_time_scan(), sldns_wire2str_tsigtime_scan(), sldns_wire2str_type_scan(), sldns_wire2str_unknown_scan(), and sldns_wire2str_wks_scan().

Referenced by sldns_wire2str_rdata_scan().

◆ sldns_wire2str_int8_scan()

int sldns_wire2str_int8_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int8 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_alg_scan(), and sldns_wire2str_rdf_scan().

◆ sldns_wire2str_int16_scan()

int sldns_wire2str_int16_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int16 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_int32_scan()

int sldns_wire2str_int32_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int32 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_period_scan()

int sldns_wire2str_period_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat period field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_tsigtime_scan()

int sldns_wire2str_tsigtime_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat tsigtime field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_a_scan()

int sldns_wire2str_a_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ip4 A field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_aaaa_scan()

int sldns_wire2str_aaaa_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ip6 AAAA field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_str_scan()

int sldns_wire2str_str_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat str field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print(), and str_char_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_apl_scan()

int sldns_wire2str_apl_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat apl field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_b32_ext_scan()

int sldns_wire2str_b32_ext_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat b32_ext field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_b32_ntop_calculate_size(), and sldns_b32_ntop_extended_hex().

Referenced by sldns_wire2str_nsec3_next_owner_scan(), and sldns_wire2str_rdf_scan().

◆ sldns_wire2str_b64_scan()

int sldns_wire2str_b64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat b64 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print(), and sldns_wire2str_b64_scan_num().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_hex_scan()

int sldns_wire2str_hex_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat hex field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References print_remainder_hex(), and sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_nsec_scan()

int sldns_wire2str_nsec_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec bitmap field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print(), and sldns_wire2str_type_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_nsec3_salt_scan()

int sldns_wire2str_nsec3_salt_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec3_salt field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References print_hex_buf(), and sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_cert_alg_scan()

int sldns_wire2str_cert_alg_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat cert_alg field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_alg_scan()

int sldns_wire2str_alg_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat alg field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_wire2str_int8_scan().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_unknown_scan()

int sldns_wire2str_unknown_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat type unknown field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_wire2str_rdata_unknown_scan().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_time_scan()

int sldns_wire2str_time_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat time field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_loc_scan()

int sldns_wire2str_loc_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat LOC field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_wks_scan()

int sldns_wire2str_wks_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat WKS field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References service(), and sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_nsap_scan()

int sldns_wire2str_nsap_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat NSAP field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References print_remainder_hex().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_atma_scan()

int sldns_wire2str_atma_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ATMA field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References print_remainder_hex().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_ipseckey_scan()

int sldns_wire2str_ipseckey_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen,
int *  comprloop 
)

Scan wireformat IPSECKEY field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket for decompression, if NULL no decompression.
pktlenlength of packet buffer.
comprloopif pkt, bool detects compression loops.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_hip_scan()

int sldns_wire2str_hip_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat HIP (algo, HIT, pubkey) field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_int16_data_scan()

int sldns_wire2str_int16_data_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat int16_data field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_nsec3_next_owner_scan()

int sldns_wire2str_nsec3_next_owner_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat nsec3_next_owner field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_wire2str_b32_ext_scan().

◆ sldns_wire2str_ilnp64_scan()

int sldns_wire2str_ilnp64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat ILNP64 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_eui48_scan()

int sldns_wire2str_eui48_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat EUI48 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_eui64_scan()

int sldns_wire2str_eui64_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat EUI64 field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_tag_scan()

int sldns_wire2str_tag_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat TAG field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_long_str_scan()

int sldns_wire2str_long_str_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat long_str field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

References sldns_str_print(), and str_char_print().

Referenced by sldns_wire2str_rdf_scan().

◆ sldns_wire2str_tsigerror_scan()

int sldns_wire2str_tsigerror_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len 
)

Scan wireformat tsigerror field to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
Returns
number of characters (except null) needed to print. Can return -1 on failure.

◆ sldns_wire2str_edns_llq_print()

int sldns_wire2str_edns_llq_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS LLQ option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

◆ sldns_wire2str_edns_ul_print()

int sldns_wire2str_edns_ul_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS UL option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

◆ sldns_wire2str_edns_nsid_print()

int sldns_wire2str_edns_nsid_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS NSID option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

◆ sldns_wire2str_edns_dau_print()

int sldns_wire2str_edns_dau_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS DAU option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References sldns_algorithms, sldns_lookup_by_id(), and sldns_str_print().

◆ sldns_wire2str_edns_dhu_print()

int sldns_wire2str_edns_dhu_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS DHU option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References sldns_hashes, sldns_lookup_by_id(), and sldns_str_print().

◆ sldns_wire2str_edns_n3u_print()

int sldns_wire2str_edns_n3u_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS N3U option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References sldns_str_print().

◆ sldns_wire2str_edns_subnet_print()

int sldns_wire2str_edns_subnet_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS SUBNET option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

◆ sldns_wire2str_edns_ede_print()

int sldns_wire2str_edns_ede_print ( char **  str,
size_t *  str_len,
uint8_t *  option_data,
size_t  option_len 
)

Print EDNS EDE option data to string.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References print_hex_buf(), and sldns_str_print().

◆ sldns_wire2str_edns_option_print()

int sldns_wire2str_edns_option_print ( char **  str,
size_t *  str_len,
uint16_t  option_code,
uint8_t *  option_data,
size_t  option_len 
)

Print an EDNS option as OPT: VALUE.

User buffers, moves string pointers.

Parameters
strstring buffer.
str_lenlength of string buffer.
option_codehost format EDNS option code.
option_databuffer with EDNS option code data.
option_lenlength of the data for this option.
Returns
number of characters (except null) needed to print.

References sldns_str_print(), and sldns_wire2str_edns_option_code_print().

◆ sldns_wire2str_edns_scan()

int sldns_wire2str_edns_scan ( uint8_t **  data,
size_t *  data_len,
char **  str,
size_t *  str_len,
uint8_t *  pkt,
size_t  pktlen 
)

Scan wireformat EDNS OPT to string, with user buffers.

It shifts the arguments to move along (see sldns_wire2str_pkt_scan).

Parameters
datawireformat data.
data_lenlength of data buffer.
strstring buffer.
str_lenlength of string buffer.
pktpacket with header and other info (may be NULL)
pktlenlength of packet buffer.
Returns
number of characters (except null) needed to print.

Variable Documentation

◆ sldns_algorithms_data

sldns_lookup_table sldns_algorithms_data[]
static
Initial value:
= {
{ LDNS_RSAMD5, "RSAMD5" },
{ LDNS_DH, "DH" },
{ LDNS_DSA, "DSA" },
{ LDNS_ECC, "ECC" },
{ LDNS_RSASHA1, "RSASHA1" },
{ LDNS_DSA_NSEC3, "DSA-NSEC3-SHA1" },
{ LDNS_RSASHA1_NSEC3, "RSASHA1-NSEC3-SHA1" },
{ LDNS_RSASHA256, "RSASHA256"},
{ LDNS_RSASHA512, "RSASHA512"},
{ LDNS_ECC_GOST, "ECC-GOST"},
{ LDNS_ECDSAP256SHA256, "ECDSAP256SHA256"},
{ LDNS_ECDSAP384SHA384, "ECDSAP384SHA384"},
{ LDNS_ED25519, "ED25519"},
{ LDNS_ED448, "ED448"},
{ LDNS_INDIRECT, "INDIRECT" },
{ LDNS_PRIVATEDNS, "PRIVATEDNS" },
{ LDNS_PRIVATEOID, "PRIVATEOID" },
{ 0, NULL }
}

◆ sldns_algorithms

sldns_lookup_table* sldns_algorithms = sldns_algorithms_data

Taken from RFC 2535, section 7.


Referenced by algo_needs_reason(), sldns_wire2str_edns_dau_print(), and val_dsset_isusable().

◆ sldns_hashes_data

sldns_lookup_table sldns_hashes_data[]
static
Initial value:
= {
{ LDNS_SHA1, "SHA1" },
{ LDNS_SHA256, "SHA256" },
{ LDNS_HASH_GOST, "HASH-GOST" },
{ LDNS_SHA384, "SHA384" },
{ 0, NULL }
}

◆ sldns_cert_algorithms_data

sldns_lookup_table sldns_cert_algorithms_data[]
static
Initial value:
= {
{ LDNS_CERT_PKIX, "PKIX" },
{ LDNS_CERT_SPKI, "SPKI" },
{ LDNS_CERT_PGP, "PGP" },
{ LDNS_CERT_IPKIX, "IPKIX" },
{ LDNS_CERT_ISPKI, "ISPKI" },
{ LDNS_CERT_IPGP, "IPGP" },
{ LDNS_CERT_ACPKIX, "ACPKIX" },
{ LDNS_CERT_IACPKIX, "IACPKIX" },
{ LDNS_CERT_URI, "URI" },
{ LDNS_CERT_OID, "OID" },
{ 0, NULL }
}

◆ sldns_cert_algorithms

sldns_lookup_table* sldns_cert_algorithms = sldns_cert_algorithms_data

Taken from RFC 2538, section 2.1.


◆ sldns_rcodes_data

sldns_lookup_table sldns_rcodes_data[]
static
Initial value:
= {
{ LDNS_RCODE_NOERROR, "NOERROR" },
{ LDNS_RCODE_FORMERR, "FORMERR" },
{ LDNS_RCODE_SERVFAIL, "SERVFAIL" },
{ LDNS_RCODE_NXDOMAIN, "NXDOMAIN" },
{ LDNS_RCODE_NOTIMPL, "NOTIMPL" },
{ LDNS_RCODE_REFUSED, "REFUSED" },
{ LDNS_RCODE_YXDOMAIN, "YXDOMAIN" },
{ LDNS_RCODE_YXRRSET, "YXRRSET" },
{ LDNS_RCODE_NXRRSET, "NXRRSET" },
{ LDNS_RCODE_NOTAUTH, "NOTAUTH" },
{ LDNS_RCODE_NOTZONE, "NOTZONE" },
{ 0, NULL }
}

◆ sldns_opcodes_data

sldns_lookup_table sldns_opcodes_data[]
static
Initial value:
= {
{ LDNS_PACKET_QUERY, "QUERY" },
{ LDNS_PACKET_IQUERY, "IQUERY" },
{ LDNS_PACKET_STATUS, "STATUS" },
{ LDNS_PACKET_NOTIFY, "NOTIFY" },
{ LDNS_PACKET_UPDATE, "UPDATE" },
{ 0, NULL }
}

◆ sldns_edns_flags_data

sldns_lookup_table sldns_edns_flags_data[]
static
Initial value:
= {
{ 3600, "do"},
{ 0, NULL}
}

◆ sldns_edns_options_data

sldns_lookup_table sldns_edns_options_data[]
static
Initial value:
= {
{ 1, "LLQ" },
{ 2, "UL" },
{ 3, "NSID" },
{ 5, "DAU" },
{ 6, "DHU" },
{ 7, "N3U" },
{ 8, "edns-client-subnet" },
{ 10, "COOKIE" },
{ 11, "edns-tcp-keepalive"},
{ 12, "Padding" },
{ 15, "EDE"},
{ 0, NULL}
}

◆ sldns_tsig_errors_data

sldns_lookup_table sldns_tsig_errors_data[]
static
Initial value:
= {
{ LDNS_TSIG_ERROR_NOERROR, "NOERROR" },
{ LDNS_RCODE_FORMERR, "FORMERR" },
{ LDNS_RCODE_SERVFAIL, "SERVFAIL" },
{ LDNS_RCODE_NXDOMAIN, "NXDOMAIN" },
{ LDNS_RCODE_NOTIMPL, "NOTIMPL" },
{ LDNS_RCODE_REFUSED, "REFUSED" },
{ LDNS_RCODE_YXDOMAIN, "YXDOMAIN" },
{ LDNS_RCODE_YXRRSET, "YXRRSET" },
{ LDNS_RCODE_NXRRSET, "NXRRSET" },
{ LDNS_RCODE_NOTAUTH, "NOTAUTH" },
{ LDNS_RCODE_NOTZONE, "NOTZONE" },
{ LDNS_TSIG_ERROR_BADSIG, "BADSIG" },
{ LDNS_TSIG_ERROR_BADKEY, "BADKEY" },
{ LDNS_TSIG_ERROR_BADTIME, "BADTIME" },
{ LDNS_TSIG_ERROR_BADMODE, "BADMODE" },
{ LDNS_TSIG_ERROR_BADNAME, "BADNAME" },
{ LDNS_TSIG_ERROR_BADALG, "BADALG" },
{ 0, NULL }
}
#define LDNS_TSIG_ERROR_NOERROR
TSIG and TKEY extended rcodes (16bit), 0-15 are the normal rcodes.
Definition: rrdef.h:484

◆ svcparamkey_strs

const char* svcparamkey_strs[]
Initial value:
= {
"mandatory", "alpn", "no-default-alpn", "port",
"ipv4hint", "ech", "ipv6hint", "dohpath"
}