wire2str.h File Reference

wire2str.h - txt presentation of RRs More...

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_dname (uint8_t *dname, size_t dname_len)
 Convert wire dname to a string. 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_rcode (int rcode)
 Convert wire packet rcode to a string, 'NOERROR', 'NXDOMAIN'... 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,...) ATTR_FORMAT(printf
 Print to string, move string along for next content. More...
 
int 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
int sldns_wire2str_type_print (char **str, size_t *str_len, uint16_t rrtype)
 Print host format rr type to string. More...
 
int sldns_wire2str_class_print (char **str, size_t *str_len, uint16_t rrclass)
 Print host format rr class to string. More...
 
int sldns_wire2str_rcode_print (char **str, size_t *str_len, int rcode)
 Print host format rcode to string. More...
 
int sldns_wire2str_opcode_print (char **str, size_t *str_len, int opcode)
 Print host format opcode to string. More...
 
int sldns_wire2str_edns_option_code_print (char **str, size_t *str_len, uint16_t opcode)
 Print host format EDNS0 option to string. More...
 
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. More...
 
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. More...
 
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. More...
 
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. 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_type_buf (uint16_t rrtype, char *str, size_t len)
 Convert wire RR type to a string, 'MX', 'TYPE12'. More...
 
int sldns_wire2str_class_buf (uint16_t rrclass, char *str, size_t len)
 Convert wire RR class to a string, 'IN', 'CLASS12'. More...
 
int sldns_wire2str_rcode_buf (int rcode, char *str, size_t len)
 Convert wire RR rcode to a string, 'NOERROR', 'NXDOMAIN'. More...
 
int sldns_wire2str_opcode_buf (int opcode, char *str, size_t len)
 Convert host format opcode to a string. More...
 
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.". More...
 
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 **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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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

struct sldns_struct_lookup_tablesldns_algorithms
 Taken from RFC 2535, section 7. More...
 
struct sldns_struct_lookup_tablesldns_hashes
 DS record hash algorithms.
 
struct sldns_struct_lookup_tablesldns_cert_algorithms
 Taken from RFC 2538, section 2.1. More...
 
struct sldns_struct_lookup_tablesldns_rcodes
 Response codes.
 
struct sldns_struct_lookup_tablesldns_opcodes
 Operation codes.
 
struct sldns_struct_lookup_tablesldns_edns_flags
 EDNS flags.
 
struct sldns_struct_lookup_tablesldns_edns_options
 EDNS option codes.
 
struct sldns_struct_lookup_tablesldns_edns_ede_codes
 EDNS EDE codes.
 
struct sldns_struct_lookup_tablesldns_wireparse_errors
 error string from wireparse
 
struct sldns_struct_lookup_tablesldns_tsig_errors
 tsig errors are the rcodes with extra (higher) values
 

Detailed Description

wire2str.h - txt presentation of RRs

(c) NLnet Labs, 2005-2006

See the file LICENSE for the license

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_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_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_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_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_str_print()

int sldns_str_print ( char **  str,
size_t *  slen,
const char *  format,
  ... 
)

Print to string, move string along for next content.

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

Referenced by auth_rr_to_string(), dname_char_print(), print_edns_opts(), print_hex_buf(), print_remainder_hex(), sldns_wire2str_a_scan(), sldns_wire2str_aaaa_scan(), sldns_wire2str_b64_scan(), sldns_wire2str_class_print(), sldns_wire2str_dname_scan(), sldns_wire2str_edns_dau_print(), sldns_wire2str_edns_dhu_print(), sldns_wire2str_edns_ede_print(), sldns_wire2str_edns_llq_print(), sldns_wire2str_edns_n3u_print(), sldns_wire2str_edns_nsid_print(), sldns_wire2str_edns_option_code_print(), sldns_wire2str_edns_option_print(), sldns_wire2str_edns_subnet_print(), sldns_wire2str_edns_ul_print(), sldns_wire2str_eui48_scan(), sldns_wire2str_eui64_scan(), sldns_wire2str_header_scan(), sldns_wire2str_hex_scan(), sldns_wire2str_ilnp64_scan(), sldns_wire2str_int16_scan(), sldns_wire2str_int32_scan(), sldns_wire2str_int8_scan(), sldns_wire2str_long_str_scan(), sldns_wire2str_nsec3_salt_scan(), sldns_wire2str_nsec_scan(), sldns_wire2str_opcode_print(), sldns_wire2str_period_scan(), sldns_wire2str_rcode_print(), sldns_wire2str_rdata_scan(), sldns_wire2str_rdata_unknown_scan(), sldns_wire2str_rr_unknown_scan(), sldns_wire2str_rrquestion_scan(), sldns_wire2str_str_scan(), sldns_wire2str_tag_scan(), sldns_wire2str_tsigtime_scan(), sldns_wire2str_type_print(), sldns_wire2str_wks_scan(), and str_char_print().

◆ sldns_wire2str_pkt_buf()

int 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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

struct sldns_struct_lookup_table* sldns_algorithms
extern

Taken from RFC 2535, section 7.


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

◆ sldns_cert_algorithms

struct sldns_struct_lookup_table* sldns_cert_algorithms
extern

Taken from RFC 2538, section 2.1.