#include <config.h>
#include <ctype.h>
#include <isc/base64.h>
#include <isc/hex.h>
#include <isc/lex.h>
#include <isc/mem.h>
#include <isc/parseint.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/stdlib.h>
#include <isc/util.h>
#include <dns/callbacks.h>
#include <dns/cert.h>
#include <dns/compress.h>
#include <dns/dsdigest.h>
#include <dns/enumtype.h>
#include <dns/keyflags.h>
#include <dns/keyvalues.h>
#include <dns/message.h>
#include <dns/rcode.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatastruct.h>
#include <dns/rdatatype.h>
#include <dns/result.h>
#include <dns/secalg.h>
#include <dns/secproto.h>
#include <dns/time.h>
#include <dns/ttl.h>
#include "code.h"
Go to the source code of this file.
Data Structures | |
struct | dns_rdata_textctx |
Context structure for the totext_ functions. Contains formatting options for rdata-to-text conversion. More... | |
struct | state |
Defines | |
#define | RETERR(x) |
#define | RETTOK(x) |
#define | DNS_AS_STR(t) ((t).value.as_textregion.base) |
#define | ARGS_FROMTEXT |
#define | ARGS_TOTEXT |
#define | ARGS_FROMWIRE |
#define | ARGS_TOWIRE |
#define | ARGS_COMPARE const dns_rdata_t *rdata1, const dns_rdata_t *rdata2 |
#define | ARGS_FROMSTRUCT |
#define | ARGS_TOSTRUCT dns_rdata_t *rdata, void *target, isc_mem_t *mctx |
#define | ARGS_FREESTRUCT void *source |
#define | ARGS_ADDLDATA |
#define | ARGS_DIGEST dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg |
#define | ARGS_CHECKOWNER |
#define | ARGS_CHECKNAMES dns_rdata_t *rdata, dns_name_t *owner, dns_name_t *bad |
#define | NS_INT16SZ 2 |
INT16 Size. | |
#define | NS_LOCATORSZ 8 |
IPv6 Address Size. | |
#define | META 0x0001 |
#define | RESERVED 0x0002 |
#define | Ceor state->Ceor |
#define | Csum state->Csum |
#define | Crot state->Crot |
#define | word state->word |
#define | bcount state->bcount |
#define | times85(x) ((((((x<<2)+x)<<2)+x)<<2)+x) |
Typedefs | |
typedef struct dns_rdata_textctx | dns_rdata_textctx_t |
Functions | |
static isc_result_t | txt_totext (isc_region_t *source, isc_boolean_t quote, isc_buffer_t *target) |
static isc_result_t | txt_fromtext (isc_textregion_t *source, isc_buffer_t *target) |
static isc_result_t | txt_fromwire (isc_buffer_t *source, isc_buffer_t *target) |
static isc_result_t | multitxt_totext (isc_region_t *source, isc_buffer_t *target) |
static isc_result_t | multitxt_fromtext (isc_textregion_t *source, isc_buffer_t *target) |
static isc_boolean_t | name_prefix (dns_name_t *name, dns_name_t *origin, dns_name_t *target) |
static unsigned int | name_length (dns_name_t *name) |
static isc_result_t | str_totext (const char *source, isc_buffer_t *target) |
static isc_result_t | inet_totext (int af, isc_region_t *src, isc_buffer_t *target) |
static isc_boolean_t | buffer_empty (isc_buffer_t *source) |
static void | buffer_fromregion (isc_buffer_t *buffer, isc_region_t *region) |
static isc_result_t | uint32_tobuffer (isc_uint32_t, isc_buffer_t *target) |
static isc_result_t | uint16_tobuffer (isc_uint32_t, isc_buffer_t *target) |
static isc_result_t | uint8_tobuffer (isc_uint32_t, isc_buffer_t *target) |
static isc_result_t | name_tobuffer (dns_name_t *name, isc_buffer_t *target) |
static isc_uint32_t | uint32_fromregion (isc_region_t *region) |
static isc_uint16_t | uint16_fromregion (isc_region_t *region) |
static isc_uint8_t | uint8_fromregion (isc_region_t *region) |
static isc_uint8_t | uint8_consume_fromregion (isc_region_t *region) |
static isc_result_t | mem_tobuffer (isc_buffer_t *target, void *base, unsigned int length) |
static int | hexvalue (char value) |
static int | decvalue (char value) |
static isc_result_t | btoa_totext (unsigned char *inbuf, int inbuflen, isc_buffer_t *target) |
static isc_result_t | atob_tobuffer (isc_lex_t *lexer, isc_buffer_t *target) |
static void | default_fromtext_callback (dns_rdatacallbacks_t *callbacks, const char *,...) ISC_FORMAT_PRINTF(2 |
static void static void | fromtext_error (void(*callback)(dns_rdatacallbacks_t *, const char *,...), dns_rdatacallbacks_t *callbacks, const char *name, unsigned long line, isc_token_t *token, isc_result_t result) |
static void | fromtext_warneof (isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) |
static isc_result_t | rdata_totext (dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target) |
static void | warn_badname (dns_name_t *name, isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) |
static void | warn_badmx (isc_token_t *token, isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) |
static isc_uint16_t | uint16_consume_fromregion (isc_region_t *region) |
static isc_result_t | unknown_totext (dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target) |
static int | locator_pton (const char *src, unsigned char *dst) |
convert presentation level address to network order binary form. | |
static int | getquad (const void *src, struct in_addr *dst, isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks) |
static isc_result_t | name_duporclone (dns_name_t *source, isc_mem_t *mctx, dns_name_t *target) |
static void * | mem_maybedup (isc_mem_t *mctx, void *source, size_t length) |
void | dns_rdata_init (dns_rdata_t *rdata) |
Make 'rdata' empty. | |
void | dns_rdata_reset (dns_rdata_t *rdata) |
Make 'rdata' empty. | |
void | dns_rdata_clone (const dns_rdata_t *src, dns_rdata_t *target) |
Clone 'target' from 'src'. | |
int | dns_rdata_compare (const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) |
Determine the relative ordering under the DNSSEC order relation of 'rdata1' and 'rdata2'. | |
int | dns_rdata_casecompare (const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) |
dns_rdata_casecompare() is similar to dns_rdata_compare() but also compares domain names case insensitively in known rdata types that are treated as opaque data by dns_rdata_compare(). | |
void | dns_rdata_fromregion (dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_region_t *r) |
Make 'rdata' refer to region 'r'. | |
void | dns_rdata_toregion (const dns_rdata_t *rdata, isc_region_t *r) |
Make 'r' refer to 'rdata'. | |
isc_result_t | dns_rdata_fromwire (dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_buffer_t *source, dns_decompress_t *dctx, unsigned int options, isc_buffer_t *target) |
Copy the possibly-compressed rdata at source into the target region. | |
isc_result_t | dns_rdata_towire (dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target) |
Convert 'rdata' into wire format, compressing it as specified by the compression context 'cctx', and storing the result in 'target'. | |
static isc_result_t | rdata_validate (isc_buffer_t *src, isc_buffer_t *dest, dns_rdataclass_t rdclass, dns_rdatatype_t type) |
static isc_result_t | unknown_fromtext (dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_lex_t *lexer, isc_mem_t *mctx, isc_buffer_t *target) |
isc_result_t | dns_rdata_fromtext (dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_lex_t *lexer, dns_name_t *origin, unsigned int options, isc_mem_t *mctx, isc_buffer_t *target, dns_rdatacallbacks_t *callbacks) |
Convert the textual representation of a DNS rdata into uncompressed wire form stored in the target region. Tokens constituting the text of the rdata are taken from 'lexer'. | |
isc_result_t | dns_rdata_totext (dns_rdata_t *rdata, dns_name_t *origin, isc_buffer_t *target) |
Convert 'rdata' into text format, storing the result in 'target'. The text will consist of a single line, with fields separated by single spaces. | |
isc_result_t | dns_rdata_tofmttext (dns_rdata_t *rdata, dns_name_t *origin, unsigned int flags, unsigned int width, unsigned int split_width, const char *linebreak, isc_buffer_t *target) |
Like dns_rdata_totext, but do formatted output suitable for database dumps. This is intended for use by dns_db_dump(); library users are discouraged from calling it directly. | |
isc_result_t | dns_rdata_fromstruct (dns_rdata_t *rdata, dns_rdataclass_t rdclass, dns_rdatatype_t type, void *source, isc_buffer_t *target) |
Convert the C structure representation of an rdata into uncompressed wire format in 'target'. | |
isc_result_t | dns_rdata_tostruct (dns_rdata_t *rdata, void *target, isc_mem_t *mctx) |
Convert an rdata into its C structure representation. | |
void | dns_rdata_freestruct (void *source) |
Free dynamic memory attached to 'source' (if any). | |
isc_result_t | dns_rdata_additionaldata (dns_rdata_t *rdata, dns_additionaldatafunc_t add, void *arg) |
Call 'add' for each name and type from 'rdata' which is subject to additional section processing. | |
isc_result_t | dns_rdata_digest (dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg) |
Send 'rdata' in DNSSEC canonical form to 'digest'. | |
isc_boolean_t | dns_rdata_checkowner (dns_name_t *name, dns_rdataclass_t rdclass, dns_rdatatype_t type, isc_boolean_t wildcard) |
isc_boolean_t | dns_rdata_checknames (dns_rdata_t *rdata, dns_name_t *owner, dns_name_t *bad) |
unsigned int | dns_rdatatype_attributes (dns_rdatatype_t type) |
Return attributes for the given type. | |
isc_result_t | dns_rdatatype_fromtext (dns_rdatatype_t *typep, isc_textregion_t *source) |
Convert the text 'source' refers to into a DNS rdata type. | |
isc_result_t | dns_rdatatype_totext (dns_rdatatype_t type, isc_buffer_t *target) |
Put a textual representation of type 'type' into 'target'. | |
void | dns_rdatatype_format (dns_rdatatype_t rdtype, char *array, unsigned int size) |
Format a human-readable representation of the type 'rdtype' into the character array 'array', which is of size 'size'. The resulting string is guaranteed to be null-terminated. | |
static isc_result_t | byte_atob (int c, isc_buffer_t *target, struct state *state) |
static isc_result_t | putbyte (int c, isc_buffer_t *, struct state *state) |
static isc_result_t | byte_btoa (int c, isc_buffer_t *, struct state *state) |
dns_rdatatype_t | dns_rdata_covers (dns_rdata_t *rdata) |
Return the rdatatype that this type covers. | |
isc_boolean_t | dns_rdatatype_ismeta (dns_rdatatype_t type) |
Return true iff the rdata type 'type' is a meta-type like ANY or AXFR. | |
isc_boolean_t | dns_rdatatype_issingleton (dns_rdatatype_t type) |
Return true iff the rdata type 'type' is a singleton type, like CNAME or SOA. | |
isc_boolean_t | dns_rdatatype_notquestion (dns_rdatatype_t type) |
Return true iff rdata of type 'type' can not appear in the question section of a properly formatted message. | |
isc_boolean_t | dns_rdatatype_questiononly (dns_rdatatype_t type) |
Return true iff rdata of type 'type' can only appear in the question section of a properly formatted message. | |
isc_boolean_t | dns_rdatatype_atparent (dns_rdatatype_t type) |
Return true iff rdata of type 'type' should appear at the parent of a zone cut. | |
isc_boolean_t | dns_rdataclass_ismeta (dns_rdataclass_t rdclass) |
Return true iff the rdata class 'rdclass' is a meta-class like ANY or NONE. | |
isc_boolean_t | dns_rdatatype_isdnssec (dns_rdatatype_t type) |
Return true iff 'type' is one of the DNSSEC rdata types that may exist alongside a CNAME record. | |
isc_boolean_t | dns_rdatatype_iszonecutauth (dns_rdatatype_t type) |
Return true iff rdata of type 'type' is considered authoritative data (not glue) in the NSEC chain when it occurs in the parent zone at a zone cut. | |
isc_boolean_t | dns_rdatatype_isknown (dns_rdatatype_t type) |
Return true iff the rdata type 'type' is known. | |
void | dns_rdata_exists (dns_rdata_t *rdata, dns_rdatatype_t type) |
void | dns_rdata_notexist (dns_rdata_t *rdata, dns_rdatatype_t type) |
void | dns_rdata_deleterrset (dns_rdata_t *rdata, dns_rdatatype_t type) |
void | dns_rdata_makedelete (dns_rdata_t *rdata) |
const char * | dns_rdata_updateop (dns_rdata_t *rdata, dns_section_t section) |
Variables | |
static const char | hexdigits [] = "0123456789abcdef" |
static const char | decdigits [] = "0123456789" |
static const char | atob_digits [86] |
Definition in file rdata.c.
#define RETERR | ( | x | ) |
Value:
do { \ isc_result_t _r = (x); \ if (_r != ISC_R_SUCCESS) \ return (_r); \ } while (0)
#define RETTOK | ( | x | ) |
Value:
do { \ isc_result_t _r = (x); \ if (_r != ISC_R_SUCCESS) { \ isc_lex_ungettoken(lexer, &token); \ return (_r); \ } \ } while (0)
Definition at line 61 of file rdata.c.
Referenced by fromtext_afsdb(), fromtext_any_tsig(), fromtext_caa(), fromtext_cdnskey(), fromtext_cds(), fromtext_cert(), fromtext_ch_a(), fromtext_cname(), fromtext_dlv(), fromtext_dname(), fromtext_dnskey(), fromtext_ds(), fromtext_gpos(), fromtext_hinfo(), fromtext_hip(), fromtext_hs_a(), fromtext_in_a(), fromtext_in_a6(), fromtext_in_aaaa(), fromtext_in_apl(), fromtext_in_kx(), fromtext_in_nsap(), fromtext_in_nsap_ptr(), fromtext_in_px(), fromtext_in_srv(), fromtext_in_wks(), fromtext_ipseckey(), fromtext_isdn(), fromtext_key(), fromtext_keydata(), fromtext_l32(), fromtext_l64(), fromtext_loc(), fromtext_lp(), fromtext_mb(), fromtext_md(), fromtext_mf(), fromtext_mg(), fromtext_minfo(), fromtext_mr(), fromtext_mx(), fromtext_naptr(), fromtext_nid(), fromtext_ns(), fromtext_nsec(), fromtext_nsec3(), fromtext_nsec3param(), fromtext_nxt(), fromtext_ptr(), fromtext_rp(), fromtext_rrsig(), fromtext_rt(), fromtext_sig(), fromtext_soa(), fromtext_spf(), fromtext_sshfp(), fromtext_tkey(), fromtext_tlsa(), fromtext_txt(), fromtext_uri(), and fromtext_x25().
#define ARGS_FROMTEXT |
Value:
int rdclass, dns_rdatatype_t type, \ isc_lex_t *lexer, dns_name_t *origin, \ unsigned int options, isc_buffer_t *target, \ dns_rdatacallbacks_t *callbacks
#define ARGS_TOTEXT |
Value:
dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, \ isc_buffer_t *target
#define ARGS_FROMWIRE |
Value:
int rdclass, dns_rdatatype_t type, \ isc_buffer_t *source, dns_decompress_t *dctx, \ unsigned int options, isc_buffer_t *target
#define ARGS_TOWIRE |
Value:
dns_rdata_t *rdata, dns_compress_t *cctx, \ isc_buffer_t *target
#define ARGS_COMPARE const dns_rdata_t *rdata1, const dns_rdata_t *rdata2 |
#define ARGS_FROMSTRUCT |
Value:
int rdclass, dns_rdatatype_t type, \ void *source, isc_buffer_t *target
#define ARGS_TOSTRUCT dns_rdata_t *rdata, void *target, isc_mem_t *mctx |
#define ARGS_ADDLDATA |
Value:
dns_rdata_t *rdata, dns_additionaldatafunc_t add, \ void *arg
#define ARGS_DIGEST dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg |
#define ARGS_CHECKOWNER |
Value:
dns_name_t *name, dns_rdataclass_t rdclass, \ dns_rdatatype_t type, isc_boolean_t wildcard
#define ARGS_CHECKNAMES dns_rdata_t *rdata, dns_name_t *owner, dns_name_t *bad |
#define NS_LOCATORSZ 8 |
IPv6 Address Size.
Definition at line 225 of file rdata.c.
Referenced by fromtext_l64(), fromtext_nid(), and locator_pton().
#define Ceor state->Ceor |
Definition at line 1636 of file rdata.c.
Referenced by atob_tobuffer(), btoa_totext(), byte_btoa(), and putbyte().
#define Csum state->Csum |
Definition at line 1637 of file rdata.c.
Referenced by atob_tobuffer(), btoa_totext(), byte_btoa(), and putbyte().
#define Crot state->Crot |
Definition at line 1638 of file rdata.c.
Referenced by atob_tobuffer(), btoa_totext(), byte_btoa(), and putbyte().
#define word state->word |
Definition at line 1639 of file rdata.c.
Referenced by atob_tobuffer(), btoa_totext(), byte_atob(), byte_btoa(), do_next_command(), evaluate_checknames(), evaluate_class(), evaluate_local(), evaluate_prereq(), evaluate_realm(), evaluate_server(), evaluate_ttl(), evaluate_update(), evaluate_zone(), make_prereq(), parse_name(), and update_addordelete().
#define bcount state->bcount |
Definition at line 1640 of file rdata.c.
Referenced by atob_tobuffer(), btoa_totext(), byte_atob(), byte_btoa(), and runs().
#define times85 | ( | x | ) | ((((((x<<2)+x)<<2)+x)<<2)+x) |
typedef struct dns_rdata_textctx dns_rdata_textctx_t |
static isc_result_t txt_totext | ( | isc_region_t * | source, | |
isc_boolean_t | quote, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1130 of file rdata.c.
References isc_region::base, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, isc_region_consume, ISC_TRUE, isc_region::length, and REQUIRE.
Referenced by totext_caa(), totext_gpos(), totext_hinfo(), totext_isdn(), totext_naptr(), totext_spf(), totext_txt(), and totext_x25().
static isc_result_t txt_fromtext | ( | isc_textregion_t * | source, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1198 of file rdata.c.
References isc_region::base, isc_textregion::base, decvalue(), DNS_R_SYNTAX, isc_buffer_add, isc_buffer_availableregion, ISC_FALSE, ISC_R_NOSPACE, ISC_R_SUCCESS, ISC_TRUE, isc_region::length, isc_textregion::length, and s.
Referenced by fromtext_gpos(), fromtext_hinfo(), fromtext_isdn(), fromtext_naptr(), fromtext_spf(), fromtext_txt(), and fromtext_x25().
static isc_result_t txt_fromwire | ( | isc_buffer_t * | source, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1264 of file rdata.c.
References isc_region::base, isc_buffer_activeregion, isc_buffer_add, isc_buffer_availableregion, isc_buffer_forward, ISC_R_NOSPACE, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, and isc_region::length.
Referenced by fromwire_gpos(), fromwire_hinfo(), fromwire_isdn(), fromwire_naptr(), fromwire_spf(), fromwire_txt(), and fromwire_x25().
static isc_result_t multitxt_totext | ( | isc_region_t * | source, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1291 of file rdata.c.
References isc_region::base, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, isc_region_consume, and isc_region::length.
Referenced by totext_caa(), and totext_uri().
static isc_result_t multitxt_fromtext | ( | isc_textregion_t * | source, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1346 of file rdata.c.
References isc_region::base, isc_textregion::base, decvalue(), DNS_R_SYNTAX, isc_buffer_add, isc_buffer_availableregion, ISC_FALSE, ISC_R_NOSPACE, ISC_R_SUCCESS, ISC_TRUE, isc_region::length, isc_textregion::length, and s.
Referenced by fromtext_caa(), and fromtext_uri().
static isc_boolean_t name_prefix | ( | dns_name_t * | name, | |
dns_name_t * | origin, | |||
dns_name_t * | target | |||
) | [static] |
Definition at line 1406 of file rdata.c.
References dns_name_caseequal(), dns_name_compare(), dns_name_countlabels(), dns_name_getlabelsequence(), dns_name_issubdomain(), dns_rootname, ISC_FALSE, and ISC_TRUE.
Referenced by totext_afsdb(), totext_any_tsig(), totext_ch_a(), totext_cname(), totext_dname(), totext_in_a6(), totext_in_kx(), totext_in_nsap_ptr(), totext_in_px(), totext_in_srv(), totext_lp(), totext_mb(), totext_md(), totext_mf(), totext_mg(), totext_minfo(), totext_mr(), totext_mx(), totext_naptr(), totext_ns(), totext_nxt(), totext_ptr(), totext_rp(), totext_rt(), totext_sig(), totext_soa(), and totext_tkey().
static unsigned int name_length | ( | dns_name_t * | name | ) | [static] |
static isc_result_t str_totext | ( | const char * | source, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1438 of file rdata.c.
References isc_region::base, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, and isc_region::length.
static isc_result_t inet_totext | ( | int | af, | |
isc_region_t * | src, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1454 of file rdata.c.
References isc_region::base, isc_buffer_availablelength, isc_buffer_putstr, ISC_R_NOSPACE, and ISC_R_SUCCESS.
Referenced by totext_hs_a(), totext_in_a(), totext_in_a6(), totext_in_aaaa(), totext_in_apl(), totext_in_wks(), totext_ipseckey(), and totext_l32().
static isc_boolean_t buffer_empty | ( | isc_buffer_t * | source | ) | [static] |
Definition at line 1467 of file rdata.c.
References isc_buffer::active, isc_buffer::current, ISC_FALSE, and ISC_TRUE.
Referenced by dns_rdata_fromwire(), fromwire_isdn(), fromwire_spf(), and fromwire_txt().
static void buffer_fromregion | ( | isc_buffer_t * | buffer, | |
isc_region_t * | region | |||
) | [static] |
Definition at line 1472 of file rdata.c.
References isc_region::base, isc_buffer_add, isc_buffer_init, isc_buffer_setactive, and isc_region::length.
Referenced by fromtext_afsdb(), fromtext_any_tsig(), fromtext_ch_a(), fromtext_cname(), fromtext_dname(), fromtext_hip(), fromtext_in_a6(), fromtext_in_kx(), fromtext_in_nsap_ptr(), fromtext_in_px(), fromtext_in_srv(), fromtext_ipseckey(), fromtext_lp(), fromtext_mb(), fromtext_md(), fromtext_mf(), fromtext_mg(), fromtext_minfo(), fromtext_mr(), fromtext_mx(), fromtext_naptr(), fromtext_ns(), fromtext_nsec(), fromtext_nxt(), fromtext_ptr(), fromtext_rp(), fromtext_rrsig(), fromtext_rt(), fromtext_sig(), fromtext_soa(), and fromtext_tkey().
static isc_result_t uint32_tobuffer | ( | isc_uint32_t | value, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1479 of file rdata.c.
References isc_buffer_availableregion, isc_buffer_putuint32, ISC_R_NOSPACE, ISC_R_SUCCESS, and isc_region::length.
Referenced by fromstruct_any_tsig(), fromstruct_hs_a(), fromstruct_in_a(), fromstruct_in_wks(), fromstruct_ipseckey(), fromstruct_keydata(), fromstruct_l32(), fromstruct_loc(), fromstruct_rrsig(), fromstruct_sig(), fromstruct_soa(), fromstruct_tkey(), fromtext_any_tsig(), fromtext_keydata(), fromtext_loc(), fromtext_rrsig(), fromtext_sig(), fromtext_soa(), and fromtext_tkey().
static isc_result_t uint16_tobuffer | ( | isc_uint32_t | value, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1490 of file rdata.c.
References isc_buffer_availableregion, isc_buffer_putuint16, ISC_R_NOSPACE, ISC_R_RANGE, ISC_R_SUCCESS, and isc_region::length.
Referenced by fromstruct_afsdb(), fromstruct_any_tsig(), fromstruct_cdnskey(), fromstruct_cds(), fromstruct_cert(), fromstruct_ch_a(), fromstruct_dlv(), fromstruct_dnskey(), fromstruct_ds(), fromstruct_hip(), fromstruct_in_kx(), fromstruct_in_px(), fromstruct_in_srv(), fromstruct_key(), fromstruct_keydata(), fromstruct_l32(), fromstruct_l64(), fromstruct_lp(), fromstruct_mx(), fromstruct_naptr(), fromstruct_nid(), fromstruct_nsec3(), fromstruct_nsec3param(), fromstruct_rrsig(), fromstruct_rt(), fromstruct_sig(), fromstruct_tkey(), fromstruct_uri(), fromtext_afsdb(), fromtext_any_tsig(), fromtext_cdnskey(), fromtext_cds(), fromtext_cert(), fromtext_ch_a(), fromtext_dlv(), fromtext_dnskey(), fromtext_ds(), fromtext_hip(), fromtext_in_apl(), fromtext_in_kx(), fromtext_in_px(), fromtext_in_srv(), fromtext_key(), fromtext_keydata(), fromtext_l32(), fromtext_l64(), fromtext_lp(), fromtext_mx(), fromtext_naptr(), fromtext_nid(), fromtext_nsec3(), fromtext_nsec3param(), fromtext_rrsig(), fromtext_rt(), fromtext_sig(), fromtext_tkey(), and fromtext_uri().
static isc_result_t uint8_tobuffer | ( | isc_uint32_t | value, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1503 of file rdata.c.
References isc_buffer_availableregion, isc_buffer_putuint8, ISC_R_NOSPACE, ISC_R_RANGE, ISC_R_SUCCESS, and isc_region::length.
Referenced by fromstruct_caa(), fromstruct_cdnskey(), fromstruct_cds(), fromstruct_cert(), fromstruct_dlv(), fromstruct_dnskey(), fromstruct_ds(), fromstruct_gpos(), fromstruct_hinfo(), fromstruct_hip(), fromstruct_in_a6(), fromstruct_in_wks(), fromstruct_ipseckey(), fromstruct_isdn(), fromstruct_key(), fromstruct_keydata(), fromstruct_loc(), fromstruct_naptr(), fromstruct_nsec3(), fromstruct_nsec3param(), fromstruct_rrsig(), fromstruct_sig(), fromstruct_sshfp(), fromstruct_tlsa(), fromstruct_x25(), fromtext_caa(), fromtext_dlv(), fromtext_hip(), fromtext_in_apl(), fromtext_in_wks(), fromtext_ipseckey(), fromtext_nsec(), fromtext_nsec3(), fromtext_nsec3param(), fromtext_sshfp(), and fromtext_tlsa().
static isc_result_t name_tobuffer | ( | dns_name_t * | name, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1516 of file rdata.c.
References dns_name_toregion(), isc_buffer_copyregion(), and r.
Referenced by fromstruct_any_tsig(), fromstruct_rrsig(), fromstruct_sig(), and fromstruct_tkey().
static isc_uint32_t uint32_fromregion | ( | isc_region_t * | region | ) | [static] |
Definition at line 1523 of file rdata.c.
References isc_region::base, isc_region::length, and REQUIRE.
Referenced by fromwire_loc(), tostruct_hs_a(), tostruct_in_a(), tostruct_in_wks(), tostruct_ipseckey(), tostruct_keydata(), tostruct_l32(), tostruct_loc(), tostruct_rrsig(), tostruct_sig(), tostruct_soa(), tostruct_tkey(), totext_keydata(), totext_loc(), totext_rrsig(), totext_sig(), totext_soa(), and totext_tkey().
static isc_uint16_t uint16_fromregion | ( | isc_region_t * | region | ) | [static] |
Definition at line 1543 of file rdata.c.
References isc_region::base, isc_region::length, and REQUIRE.
Referenced by casecompare_hip(), covers_rrsig(), covers_sig(), dns_rdata_opt_current(), dns_rdata_opt_next(), fromstruct_opt(), fromwire_any_tsig(), fromwire_hip(), fromwire_in_apl(), fromwire_opt(), fromwire_tkey(), tostruct_afsdb(), tostruct_any_tsig(), tostruct_cdnskey(), tostruct_cds(), tostruct_cert(), tostruct_ch_a(), tostruct_dlv(), tostruct_dnskey(), tostruct_ds(), tostruct_hip(), tostruct_in_kx(), tostruct_in_px(), tostruct_in_srv(), tostruct_key(), tostruct_keydata(), tostruct_l32(), tostruct_l64(), tostruct_lp(), tostruct_mx(), tostruct_naptr(), tostruct_nid(), tostruct_rrsig(), tostruct_rt(), tostruct_sig(), tostruct_tkey(), tostruct_uri(), totext_afsdb(), totext_any_tsig(), totext_cdnskey(), totext_cds(), totext_cert(), totext_ch_a(), totext_dlv(), totext_dnskey(), totext_ds(), totext_hip(), totext_in_apl(), totext_in_kx(), totext_in_px(), totext_in_srv(), totext_key(), totext_keydata(), totext_l32(), totext_l64(), totext_lp(), totext_mx(), totext_naptr(), totext_nid(), totext_nsec3(), totext_nsec3param(), totext_opt(), totext_rrsig(), totext_rt(), totext_sig(), totext_tkey(), totext_uri(), and uint16_consume_fromregion().
static isc_uint8_t uint8_fromregion | ( | isc_region_t * | region | ) | [static] |
Definition at line 1551 of file rdata.c.
References isc_region::base, isc_region::length, and REQUIRE.
Referenced by casecompare_hip(), checknames_in_a6(), dns_rdata_txt_current(), dns_rdata_txt_next(), fromstruct_spf(), fromstruct_txt(), fromwire_hip(), fromwire_opt(), tostruct_caa(), tostruct_cdnskey(), tostruct_cds(), tostruct_cert(), tostruct_dlv(), tostruct_dnskey(), tostruct_ds(), tostruct_gpos(), tostruct_hinfo(), tostruct_hip(), tostruct_in_a6(), tostruct_in_wks(), tostruct_ipseckey(), tostruct_isdn(), tostruct_key(), tostruct_keydata(), tostruct_loc(), tostruct_naptr(), tostruct_rrsig(), tostruct_sig(), tostruct_sshfp(), tostruct_tlsa(), tostruct_x25(), totext_cds(), totext_dlv(), totext_ds(), totext_hip(), totext_in_wks(), totext_ipseckey(), totext_nsec3(), totext_nsec3param(), totext_sshfp(), totext_tlsa(), and uint8_consume_fromregion().
static isc_uint8_t uint8_consume_fromregion | ( | isc_region_t * | region | ) | [static] |
Definition at line 1559 of file rdata.c.
References isc_region_consume, r, and uint8_fromregion().
Referenced by tostruct_nsec3(), tostruct_nsec3param(), and totext_caa().
static isc_result_t mem_tobuffer | ( | isc_buffer_t * | target, | |
void * | base, | |||
unsigned int | length | |||
) | [static] |
Definition at line 1567 of file rdata.c.
References isc_region::base, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, and isc_region::length.
static int hexvalue | ( | char | value | ) | [static] |
static int decvalue | ( | char | value | ) | [static] |
Definition at line 1596 of file rdata.c.
References s.
Referenced by fromtext_loc(), multitxt_fromtext(), and txt_fromtext().
static isc_result_t btoa_totext | ( | unsigned char * | inbuf, | |
int | inbuflen, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1857 of file rdata.c.
References bcount, byte_btoa(), Ceor, Crot, Csum, RETERR, str_totext(), and word.
Referenced by totext_unspec().
static isc_result_t atob_tobuffer | ( | isc_lex_t * | lexer, | |
isc_buffer_t * | target | |||
) | [static] |
Definition at line 1727 of file rdata.c.
References isc_tokenvalue_t::as_textregion, isc_tokenvalue_t::as_ulong, isc_textregion::base, bcount, byte_atob(), Ceor, Crot, Csum, DNS_AS_STR, DNS_R_BADCKSUM, DNS_R_SYNTAX, isc_buffer_subtract, ISC_FALSE, isc_lex_getmastertoken(), ISC_R_SUCCESS, isc_textregion_consume, isc_tokentype_number, isc_tokentype_string, isc_textregion::length, RETERR, isc_token::value, and word.
Referenced by fromtext_unspec().
static void default_fromtext_callback | ( | dns_rdatacallbacks_t * | callbacks, | |
const char * | fmt, | |||
... | ||||
) | [static] |
static void fromtext_error | ( | void(*)(dns_rdatacallbacks_t *, const char *,...) | callback, | |
dns_rdatacallbacks_t * | callbacks, | |||
const char * | name, | |||
unsigned long | line, | |||
isc_token_t * | token, | |||
isc_result_t | result | |||
) | [static] |
Definition at line 1939 of file rdata.c.
References isc_tokenvalue_t::as_ulong, DNS_AS_STR, dns_result_totext(), isc_tokentype_eof, isc_tokentype_eol, isc_tokentype_number, isc_tokentype_qstring, isc_tokentype_string, isc_token::type, and isc_token::value.
Referenced by dns_rdata_fromtext().
static void fromtext_warneof | ( | isc_lex_t * | lexer, | |
dns_rdatacallbacks_t * | callbacks | |||
) | [static] |
Definition at line 1893 of file rdata.c.
References isc_lex_getsourceline(), isc_lex_getsourcename(), isc_lex_isfile(), and dns_rdatacallbacks::warn.
Referenced by dns_rdata_fromtext().
static isc_result_t rdata_totext | ( | dns_rdata_t * | rdata, | |
dns_rdata_textctx_t * | tctx, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 835 of file rdata.c.
References dns_name_isabsolute(), DNS_RDATA_UPDATE, dns_rdata::flags, INSIST, ISC_FALSE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, ISC_TRUE, dns_rdata::length, dns_rdata_textctx::origin, REQUIRE, and unknown_totext().
Referenced by dns_rdata_tofmttext(), and dns_rdata_totext().
static void warn_badname | ( | dns_name_t * | name, | |
isc_lex_t * | lexer, | |||
dns_rdatacallbacks_t * | callbacks | |||
) | [static] |
Definition at line 1921 of file rdata.c.
References dns_name_format(), DNS_NAME_FORMATSIZE, DNS_R_BADNAME, dns_result_totext(), isc_lex_getsourceline(), isc_lex_getsourcename(), namebuf, and dns_rdatacallbacks::warn.
Referenced by fromtext_afsdb(), fromtext_ch_a(), fromtext_in_a6(), fromtext_in_srv(), fromtext_minfo(), fromtext_mx(), fromtext_ns(), fromtext_ptr(), fromtext_rp(), fromtext_rt(), and fromtext_soa().
static void warn_badmx | ( | isc_token_t * | token, | |
isc_lex_t * | lexer, | |||
dns_rdatacallbacks_t * | callbacks | |||
) | [static] |
Definition at line 1905 of file rdata.c.
References DNS_AS_STR, DNS_R_MXISADDRESS, dns_result_totext(), isc_lex_getsourceline(), isc_lex_getsourcename(), and dns_rdatacallbacks::warn.
Referenced by fromtext_mx().
static isc_uint16_t uint16_consume_fromregion | ( | isc_region_t * | region | ) | [static] |
Definition at line 1535 of file rdata.c.
References isc_region_consume, r, and uint16_fromregion().
Referenced by tostruct_nsec3(), and tostruct_nsec3param().
static isc_result_t unknown_totext | ( | dns_rdata_t * | rdata, | |
dns_rdata_textctx_t * | tctx, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 793 of file rdata.c.
References dns_rdata_toregion(), DNS_STYLEFLAG_MULTILINE, dns_rdata_textctx::flags, INSIST, isc_hex_totext(), ISC_R_SUCCESS, dns_rdata_textctx::linebreak, str_totext(), and dns_rdata_textctx::width.
Referenced by rdata_totext(), totext_keydata(), and totext_null().
static int locator_pton | ( | const char * | src, | |
unsigned char * | dst | |||
) | [inline, static] |
convert presentation level address to network order binary form.
Definition at line 235 of file rdata.c.
References NS_INT16SZ, and NS_LOCATORSZ.
Referenced by fromtext_l64(), and fromtext_nid().
static int getquad | ( | const void * | src, | |
struct in_addr * | dst, | |||
isc_lex_t * | lexer, | |||
dns_rdatacallbacks_t * | callbacks | |||
) | [inline, static] |
Definition at line 287 of file rdata.c.
References inet_aton, isc_lex_getsourceline(), isc_lex_getsourcename(), and dns_rdatacallbacks::warn.
Referenced by fromtext_hs_a(), fromtext_in_a(), fromtext_in_wks(), fromtext_ipseckey(), and fromtext_l32().
static isc_result_t name_duporclone | ( | dns_name_t * | source, | |
isc_mem_t * | mctx, | |||
dns_name_t * | target | |||
) | [inline, static] |
Definition at line 307 of file rdata.c.
References dns_name_clone(), dns_name_dup(), and ISC_R_SUCCESS.
Referenced by tostruct_afsdb(), tostruct_any_tsig(), tostruct_ch_a(), tostruct_cname(), tostruct_dname(), tostruct_in_a6(), tostruct_in_kx(), tostruct_in_nsap_ptr(), tostruct_in_px(), tostruct_in_srv(), tostruct_ipseckey(), tostruct_lp(), tostruct_mb(), tostruct_md(), tostruct_mf(), tostruct_mg(), tostruct_minfo(), tostruct_mr(), tostruct_mx(), tostruct_naptr(), tostruct_ns(), tostruct_nsec(), tostruct_nxt(), tostruct_ptr(), tostruct_rp(), tostruct_rrsig(), tostruct_rt(), tostruct_sig(), tostruct_soa(), and tostruct_tkey().
static void* mem_maybedup | ( | isc_mem_t * | mctx, | |
void * | source, | |||
size_t | length | |||
) | [inline, static] |
Definition at line 316 of file rdata.c.
References isc_mem_allocate.
Referenced by tostruct_any_tsig(), tostruct_caa(), tostruct_cdnskey(), tostruct_cds(), tostruct_cert(), tostruct_dlv(), tostruct_dnskey(), tostruct_ds(), tostruct_gpos(), tostruct_hinfo(), tostruct_hip(), tostruct_in_apl(), tostruct_in_dhcid(), tostruct_in_nsap(), tostruct_in_wks(), tostruct_ipseckey(), tostruct_isdn(), tostruct_key(), tostruct_keydata(), tostruct_naptr(), tostruct_nsec(), tostruct_nsec3(), tostruct_nsec3param(), tostruct_null(), tostruct_nxt(), tostruct_openpgpkey(), tostruct_opt(), tostruct_rrsig(), tostruct_sig(), tostruct_spf(), tostruct_sshfp(), tostruct_tkey(), tostruct_tlsa(), tostruct_txt(), tostruct_unspec(), tostruct_uri(), and tostruct_x25().
void dns_rdata_init | ( | dns_rdata_t * | rdata | ) |
Make 'rdata' empty.
Requires: 'rdata' is a valid rdata (i.e. not NULL, points to a struct dns_rdata)
Definition at line 341 of file rdata.c.
References dns_rdata::data, dns_rdata::flags, ISC_LINK_INIT, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by add_nsec(), addoptout(), ATF_TC_BODY(), check_mx(), configure_staticstub_serveraddrs(), configure_staticstub_servernames(), copy_name(), dns_client_updaterec(), dns_difftuple_create(), dns_dnssec_sign(), dns_message_pseudosectiontotext(), dns_message_setquerytsig(), dns_nsec_build(), dns_rdataslab_fromrdataset(), dns_rdataslab_merge(), dns_rriterator_init(), dns_sdb_putrdata(), dns_sdlz_putrr(), dns_tkey_processquery(), emit(), fill_array(), integrity_checks(), journal_open(), load_raw(), load_text(), loadds(), loadkey(), log_rr(), main(), make_nsec3(), make_prereq(), make_signing(), matchkey(), newrdata(), notify_createmessage(), nsec3clean(), process_opt(), process_soa(), query_addnxrrsetnsec(), query_dns64(), query_filter64(), rdataset_to_sortedarray(), recvsoa(), resolveaddr_done(), restore_nsec3param(), sendstream(), towiresorted(), tuple2msgname(), update_addordelete(), writeset(), zone_count_ns_rr(), and zone_load_soa_rr().
void dns_rdata_reset | ( | dns_rdata_t * | rdata | ) |
Make 'rdata' empty.
Requires:
Definition at line 355 of file rdata.c.
References dns_rdata::data, DNS_RDATA_VALIDFLAGS, dns_rdata::flags, ISC_LINK_LINKED, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by add_nsec3param_records(), add_sigs(), ATF_TC_BODY(), chase_cnamechain(), check_address_records(), check_ds(), check_for_more_data(), check_nsec3param(), checkandaddsoa(), checknamessection(), checkns(), client_resfind(), copy_name(), copy_ptr_targets(), copy_rdataset(), create_keydata(), del_keysigs(), delete_keydata(), detailsection(), dlv_algorithm_supported(), dlv_validatezonekey(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_dnssec_signs(), dns_message_checksig(), dns_ncache_current(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_ncache_towire(), dns_nsec3_addnsec3(), dns_nsec3_delnsec3(), dns_nsec3param_deletechains(), dns_private_totext(), dns_rdataset_additionaldata(), dns_rdataslab_equalx(), dns_rdataslab_merge(), dns_rdataslab_subtract(), dns_root_checkhints(), dns_rpz_decode_cname(), dns_rriterator_current(), dns_tsig_verify(), fctx_getaddresses(), fill_array(), find_nsec3(), fixup_nsec3param(), followup_lookup(), generate(), get_dst_key(), import_rdataset(), in_rootns(), inrrset(), integrity_checks(), is_answeraddress_allowed(), isdelegation(), isselfsigned(), keydone(), keyfetch_done(), keyfromds(), load_raw(), load_secroots(), loadds(), lookup_find(), make_dnskey(), mark_active_keys(), matchkey(), matchparams(), minimal_update(), mkey_dumpzone(), need_nsec_chain(), normalize_key(), printsection(), process_dhtkey(), publish_key(), query_dns64(), query_filter64(), query_find(), query_findclosestnsec3(), rdata_in_slab(), read_one_rr(), resume_signingwithkey(), revocable(), rpz_rewrite(), rrsig_fromchildzone(), save_nsrrset(), setnsec3parameters(), setresign(), setsoaserial(), short_answer(), sign_a_node(), signed_with_alg(), signed_with_key(), signset(), towiresorted(), tsig_verify_tcp(), updatesignwithkey(), validate(), validatezonekey(), verifyzone(), warnifallksk(), writeset(), zone_check_dnskeys(), zone_load_soa_rr(), zone_notify(), and zone_refreshkeys().
void dns_rdata_clone | ( | const dns_rdata_t * | src, | |
dns_rdata_t * | target | |||
) |
Clone 'target' from 'src'.
Requires:
Definition at line 374 of file rdata.c.
References dns_rdata::data, DNS_RDATA_INITIALIZED, DNS_RDATA_VALIDFLAGS, dns_rdata::flags, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by diff_tuple_tordataset(), dns_client_updaterec(), dns_difftuple_create(), isc__rdatalist_current(), log_rr(), nsec3clean(), and tuple2msgname().
int dns_rdata_compare | ( | const dns_rdata_t * | rdata1, | |
const dns_rdata_t * | rdata2 | |||
) |
Determine the relative ordering under the DNSSEC order relation of 'rdata1' and 'rdata2'.
Requires:
Definition at line 397 of file rdata.c.
References dns_rdata::data, dns_rdata_toregion(), DNS_RDATA_VALIDFLAGS, ISC_FALSE, isc_region_compare(), dns_rdata::length, r1, r2, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by compare_rdata(), dns_diff_appendminimal(), dns_dnssec_sign(), dns_dnssec_verify3(), dns_rdataslab_equalx(), dns_rdataslab_subtract(), getsection(), inrrset(), keyfromds(), matchkey(), rdata_compare_wrapper(), rdata_in_slab(), rdata_order(), and verifynsec().
int dns_rdata_casecompare | ( | const dns_rdata_t * | rdata1, | |
const dns_rdata_t * | rdata2 | |||
) |
dns_rdata_casecompare() is similar to dns_rdata_compare() but also compares domain names case insensitively in known rdata types that are treated as opaque data by dns_rdata_compare().
Requires:
Definition at line 428 of file rdata.c.
References dns_rdata::data, dns_rdata_toregion(), DNS_RDATA_VALIDFLAGS, ISC_FALSE, isc_region_compare(), dns_rdata::length, r1, r2, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by add_rr_prepare_action(), rr_equal_p(), rr_exists(), rrset_cleanup(), temp_check_rrset(), temp_order(), and zone_rrset_check_dup().
void dns_rdata_fromregion | ( | dns_rdata_t * | rdata, | |
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type, | |||
isc_region_t * | r | |||
) |
Make 'rdata' refer to region 'r'.
Requires:
Definition at line 463 of file rdata.c.
References isc_region::base, dns_rdata::data, DNS_RDATA_INITIALIZED, DNS_RDATA_VALIDFLAGS, dns_rdata::flags, isc_region::length, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by add_placeholder_nsec(), add_rdata_to_list(), configure_staticstub_serveraddrs(), configure_staticstub_servernames(), copy_name(), create_keydata(), dns_message_setquerytsig(), dns_ncache_current(), dns_ncache_getsigrdataset(), dns_nsec3_buildrdata(), dns_nsec_buildrdata(), dns_rdata_fromstruct(), dns_rdata_fromtext(), dns_rdata_fromwire(), dns_sdb_putrdata(), dns_tkey_builddhquery(), loadkey(), make_dnskey(), matchparams(), notify_createmessage(), parse_rdata(), process_dhtkey(), query_dns64(), query_filter64(), rdata_from_slab(), rdataset_current(), sendstream(), setnsec3parameters(), write_public_key(), and writeset().
void dns_rdata_toregion | ( | const dns_rdata_t * | rdata, | |
isc_region_t * | r | |||
) |
Make 'r' refer to 'rdata'.
Definition at line 481 of file rdata.c.
References isc_region::base, dns_rdata::data, DNS_RDATA_VALIDFLAGS, dns_rdata::length, isc_region::length, and REQUIRE.
Referenced by add_rdata_to_list(), add_signing_records(), additionaldata_afsdb(), additionaldata_in_kx(), additionaldata_in_srv(), additionaldata_lp(), additionaldata_mb(), additionaldata_md(), additionaldata_mf(), additionaldata_mx(), additionaldata_naptr(), additionaldata_ns(), additionaldata_rt(), casecompare_hip(), casecompare_ipseckey(), casecompare_lp(), casecompare_nsec(), casecompare_openpgpkey(), casecompare_rrsig(), checknames_afsdb(), checknames_ch_a(), checknames_in_a6(), checknames_in_srv(), checknames_minfo(), checknames_mx(), checknames_ns(), checknames_ptr(), checknames_rp(), checknames_rt(), checknames_soa(), compare_afsdb(), compare_any_tsig(), compare_caa(), compare_cdnskey(), compare_cds(), compare_cert(), compare_ch_a(), compare_cname(), compare_dlv(), compare_dname(), compare_dnskey(), compare_ds(), compare_eui48(), compare_eui64(), compare_gpos(), compare_hinfo(), compare_hip(), compare_in_a(), compare_in_a6(), compare_in_aaaa(), compare_in_apl(), compare_in_dhcid(), compare_in_kx(), compare_in_nsap(), compare_in_nsap_ptr(), compare_in_px(), compare_in_srv(), compare_in_wks(), compare_ipseckey(), compare_isdn(), compare_key(), compare_keydata(), compare_l32(), compare_l64(), compare_loc(), compare_lp(), compare_mb(), compare_md(), compare_mf(), compare_mg(), compare_minfo(), compare_mr(), compare_mx(), compare_naptr(), compare_nid(), compare_ns(), compare_nsec(), compare_nsec3(), compare_nsec3param(), compare_null(), compare_nxt(), compare_openpgpkey(), compare_opt(), compare_ptr(), compare_rp(), compare_rrsig(), compare_rt(), compare_sig(), compare_soa(), compare_spf(), compare_sshfp(), compare_tkey(), compare_tlsa(), compare_txt(), compare_unspec(), compare_uri(), compare_x25(), compute_keytag(), configure_staticstub(), copy_name(), copy_rdataset(), covers_rrsig(), covers_sig(), digest_afsdb(), digest_caa(), digest_cdnskey(), digest_cds(), digest_cert(), digest_ch_a(), digest_cname(), digest_dlv(), digest_dname(), digest_dnskey(), digest_ds(), digest_eui48(), digest_eui64(), digest_gpos(), digest_hinfo(), digest_hip(), digest_hs_a(), digest_in_a(), digest_in_a6(), digest_in_aaaa(), digest_in_apl(), digest_in_dhcid(), digest_in_kx(), digest_in_nsap(), digest_in_nsap_ptr(), digest_in_px(), digest_in_srv(), digest_in_wks(), digest_ipseckey(), digest_isdn(), digest_key(), digest_keydata(), digest_l32(), digest_l64(), digest_loc(), digest_lp(), digest_mb(), digest_md(), digest_mf(), digest_mg(), digest_minfo(), digest_mr(), digest_mx(), digest_naptr(), digest_nid(), digest_ns(), digest_nsec(), digest_nsec3(), digest_nsec3param(), digest_null(), digest_nxt(), digest_openpgpkey(), digest_ptr(), digest_rp(), digest_rt(), digest_sig(), digest_soa(), digest_spf(), digest_sshfp(), digest_tlsa(), digest_txt(), digest_unspec(), digest_uri(), digest_x25(), dns_client_updaterec(), dns_dnssec_keyfromrdata(), dns_dnssec_verifymessage(), dns_ds_buildrdata(), dns_message_getquerytsig(), dns_rdata_casecompare(), dns_rdata_compare(), dns_rdata_digest(), dump_rdataset_raw(), fill_array(), is_glue(), mkey_dumpzone(), notify_createmessage(), tostruct_afsdb(), tostruct_any_tsig(), tostruct_caa(), tostruct_cdnskey(), tostruct_cds(), tostruct_cert(), tostruct_ch_a(), tostruct_cname(), tostruct_dlv(), tostruct_dname(), tostruct_dnskey(), tostruct_ds(), tostruct_gpos(), tostruct_hinfo(), tostruct_hip(), tostruct_hs_a(), tostruct_in_a(), tostruct_in_a6(), tostruct_in_aaaa(), tostruct_in_apl(), tostruct_in_dhcid(), tostruct_in_kx(), tostruct_in_nsap(), tostruct_in_nsap_ptr(), tostruct_in_px(), tostruct_in_srv(), tostruct_in_wks(), tostruct_ipseckey(), tostruct_isdn(), tostruct_key(), tostruct_keydata(), tostruct_l32(), tostruct_l64(), tostruct_loc(), tostruct_lp(), tostruct_mb(), tostruct_md(), tostruct_mf(), tostruct_mg(), tostruct_minfo(), tostruct_mr(), tostruct_mx(), tostruct_naptr(), tostruct_nid(), tostruct_ns(), tostruct_nsec(), tostruct_null(), tostruct_nxt(), tostruct_openpgpkey(), tostruct_opt(), tostruct_ptr(), tostruct_rp(), tostruct_rrsig(), tostruct_rt(), tostruct_sig(), tostruct_soa(), tostruct_spf(), tostruct_sshfp(), tostruct_tkey(), tostruct_tlsa(), tostruct_txt(), tostruct_unspec(), tostruct_uri(), tostruct_x25(), totext_afsdb(), totext_any_tsig(), totext_caa(), totext_cdnskey(), totext_cds(), totext_cert(), totext_ch_a(), totext_cname(), totext_dlv(), totext_dname(), totext_dnskey(), totext_ds(), totext_gpos(), totext_hinfo(), totext_hip(), totext_hs_a(), totext_in_a(), totext_in_a6(), totext_in_aaaa(), totext_in_apl(), totext_in_dhcid(), totext_in_kx(), totext_in_nsap(), totext_in_nsap_ptr(), totext_in_px(), totext_in_srv(), totext_in_wks(), totext_ipseckey(), totext_isdn(), totext_key(), totext_keydata(), totext_l32(), totext_l64(), totext_loc(), totext_lp(), totext_mb(), totext_md(), totext_mf(), totext_mg(), totext_minfo(), totext_mr(), totext_mx(), totext_naptr(), totext_nid(), totext_ns(), totext_nsec(), totext_nsec3(), totext_nsec3param(), totext_nxt(), totext_openpgpkey(), totext_opt(), totext_ptr(), totext_rp(), totext_rrsig(), totext_rt(), totext_sig(), totext_soa(), totext_spf(), totext_sshfp(), totext_tkey(), totext_tlsa(), totext_txt(), totext_uri(), totext_x25(), towire_afsdb(), towire_any_tsig(), towire_caa(), towire_cdnskey(), towire_cds(), towire_cert(), towire_ch_a(), towire_cname(), towire_dlv(), towire_dname(), towire_dnskey(), towire_ds(), towire_hip(), towire_in_a6(), towire_in_dhcid(), towire_in_kx(), towire_in_nsap_ptr(), towire_in_px(), towire_in_srv(), towire_in_wks(), towire_ipseckey(), towire_key(), towire_keydata(), towire_mb(), towire_md(), towire_mf(), towire_mg(), towire_minfo(), towire_mr(), towire_mx(), towire_naptr(), towire_ns(), towire_nsec(), towire_nsec3(), towire_nsec3param(), towire_nxt(), towire_openpgpkey(), towire_ptr(), towire_rp(), towire_rrsig(), towire_rt(), towire_sig(), towire_soa(), towire_sshfp(), towire_tkey(), towire_tlsa(), towire_uri(), unknown_totext(), and update_action().
isc_result_t dns_rdata_fromwire | ( | dns_rdata_t * | rdata, | |
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type, | |||
isc_buffer_t * | source, | |||
dns_decompress_t * | dctx, | |||
unsigned int | options, | |||
isc_buffer_t * | target | |||
) |
Copy the possibly-compressed rdata at source into the target region.
Notes:
Definition at line 492 of file rdata.c.
References isc_region::base, buffer_empty(), DNS_R_EXTRADATA, DNS_R_FORMERR, dns_rdata_fromregion(), DNS_RDATA_INITIALIZED, DNS_RDATA_MAXLENGTH, DNS_RDATA_VALIDFLAGS, INSIST, isc_buffer_activelength, isc_buffer_availablelength, isc_buffer_current, isc_buffer_forward, isc_buffer_putmem, isc_buffer_used, isc_buffer_usedlength, ISC_FALSE, ISC_R_NOSPACE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_region::length, and REQUIRE.
Referenced by ATF_TC_BODY(), dns_nsec3param_fromprivate(), getrdata(), load_raw(), rdata_validate(), and read_one_rr().
isc_result_t dns_rdata_towire | ( | dns_rdata_t * | rdata, | |
dns_compress_t * | cctx, | |||
isc_buffer_t * | target | |||
) |
Convert 'rdata' into wire format, compressing it as specified by the compression context 'cctx', and storing the result in 'target'.
Notes:
Definition at line 563 of file rdata.c.
References isc_region::base, dns_rdata::data, dns_compress_rollback(), DNS_RDATA_UPDATE, DNS_RDATA_VALIDFLAGS, dns_rdata::flags, INSIST, isc_buffer_add, isc_buffer_availableregion, ISC_FALSE, ISC_R_NOSPACE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_region::length, dns_rdata::length, REQUIRE, and isc_buffer::used.
Referenced by dns_ncache_towire(), and towiresorted().
static isc_result_t rdata_validate | ( | isc_buffer_t * | src, | |
isc_buffer_t * | dest, | |||
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type | |||
) | [static] |
Definition at line 608 of file rdata.c.
References dns_decompress_init(), dns_decompress_invalidate(), DNS_DECOMPRESS_NONE, dns_rdata_fromwire(), isc_buffer_setactive, and isc_buffer_usedlength.
Referenced by unknown_fromtext().
static isc_result_t unknown_fromtext | ( | dns_rdataclass_t | rdclass, | |
dns_rdatatype_t | type, | |||
isc_lex_t * | lexer, | |||
isc_mem_t * | mctx, | |||
isc_buffer_t * | target | |||
) | [static] |
Definition at line 623 of file rdata.c.
References isc_tokenvalue_t::as_ulong, DNS_R_METATYPE, dns_rdatatype_isknown(), dns_rdatatype_ismeta(), isc_buffer_allocate(), isc_buffer_copyregion(), isc_buffer_free(), isc_buffer_usedlength, isc_buffer_usedregion, ISC_FALSE, isc_hex_tobuffer(), isc_lex_getmastertoken(), ISC_R_RANGE, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, isc_tokentype_number, r, rdata_validate(), RETERR, and isc_token::value.
Referenced by dns_rdata_fromtext().
isc_result_t dns_rdata_fromtext | ( | dns_rdata_t * | rdata, | |
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type, | |||
isc_lex_t * | lexer, | |||
dns_name_t * | origin, | |||
unsigned int | options, | |||
isc_mem_t * | mctx, | |||
isc_buffer_t * | target, | |||
dns_rdatacallbacks_t * | callbacks | |||
) |
Convert the textual representation of a DNS rdata into uncompressed wire form stored in the target region. Tokens constituting the text of the rdata are taken from 'lexer'.
Notes:
Definition at line 669 of file rdata.c.
References isc_region::base, default_fromtext_callback(), DNS_AS_STR, dns_name_isabsolute(), DNS_R_EXTRATOKEN, dns_rdata_fromregion(), DNS_RDATA_INITIALIZED, DNS_RDATA_MAXLENGTH, DNS_RDATA_UNKNOWNESCAPE, DNS_RDATA_VALIDFLAGS, dns_rdatacallbacks::error, fromtext_error(), fromtext_warneof(), isc_buffer_used, isc_buffer_usedlength, ISC_FALSE, isc_lex_getmastertoken(), isc_lex_getsourceline(), isc_lex_getsourcename(), isc_lex_gettoken(), isc_lex_ungettoken(), ISC_LEXOPT_DNSMULTILINE, ISC_LEXOPT_EOF, ISC_LEXOPT_EOL, ISC_LEXOPT_ESCAPE, ISC_R_NOSPACE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_tokentype_eof, isc_tokentype_eol, isc_tokentype_number, isc_tokentype_qstring, isc_tokentype_string, ISC_TRUE, isc_region::length, REQUIRE, isc_token::type, unknown_fromtext(), and dns_rdatacallbacks::warn.
Referenced by dns_sdb_putrr(), dns_sdlz_putrr(), dst_key_read_public(), generate(), load_text(), and parse_rdata().
isc_result_t dns_rdata_totext | ( | dns_rdata_t * | rdata, | |
dns_name_t * | origin, | |||
isc_buffer_t * | target | |||
) |
Convert 'rdata' into text format, storing the result in 'target'. The text will consist of a single line, with fields separated by single spaces.
Notes:
Definition at line 862 of file rdata.c.
References DNS_RDATA_VALIDFLAGS, dns_rdata_textctx::flags, dns_rdata_textctx::linebreak, dns_rdata_textctx::origin, rdata_totext(), REQUIRE, and dns_rdata_textctx::width.
Referenced by dns_private_totext(), printa(), printrdata(), report(), say_message(), update_action(), verifyzone(), and write_public_key().
isc_result_t dns_rdata_tofmttext | ( | dns_rdata_t * | rdata, | |
dns_name_t * | origin, | |||
unsigned int | flags, | |||
unsigned int | width, | |||
unsigned int | split_width, | |||
const char * | linebreak, | |||
isc_buffer_t * | target | |||
) |
Like dns_rdata_totext, but do formatted output suitable for database dumps. This is intended for use by dns_db_dump(); library users are discouraged from calling it directly.
If (flags & DNS_STYLEFLAG_MULTILINE) != 0, attempt to stay within 'width' by breaking the text into multiple lines. The string 'linebreak' is inserted between lines, and parentheses are added when necessary. Because RRs contain unbreakable elements such as domain names whose length is variable, unpredictable, and potentially large, there is no guarantee that the lines will not exceed 'width' anyway.
If (flags & DNS_STYLEFLAG_MULTILINE) == 0, the rdata is always printed as a single line, and no parentheses are used. The 'width' and 'linebreak' arguments are ignored.
If (flags & DNS_STYLEFLAG_COMMENT) != 0, output explanatory comments next to things like the SOA timer fields. Some comments (e.g., the SOA ones) are only printed when multiline output is selected.
base64 rdata text (e.g., DNSKEY records) will be split into chunks of 'split_width' characters. If split_width == 0, the text will not be split at all. If split_width == UINT_MAX (0xffffffff), then it is undefined and falls back to the default value of 'width'
Definition at line 879 of file rdata.c.
References DNS_RDATA_VALIDFLAGS, DNS_STYLEFLAG_MULTILINE, dns_rdata_textctx::flags, dns_rdata_textctx::linebreak, dns_rdata_textctx::origin, rdata_totext(), REQUIRE, and dns_rdata_textctx::width.
Referenced by emit(), ncache_summary(), rdataset_totext(), and say_message().
isc_result_t dns_rdata_fromstruct | ( | dns_rdata_t * | rdata, | |
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type, | |||
void * | source, | |||
isc_buffer_t * | target | |||
) |
Convert the C structure representation of an rdata into uncompressed wire format in 'target'.
XXX Should we have a 'size' parameter as a sanity check on target?
Requires:
Definition at line 909 of file rdata.c.
References isc_region::base, dns_rdata_fromregion(), DNS_RDATA_INITIALIZED, DNS_RDATA_MAXLENGTH, DNS_RDATA_VALIDFLAGS, isc_buffer_used, isc_buffer_usedlength, ISC_FALSE, ISC_R_NOSPACE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_region::length, and REQUIRE.
Referenced by add_ns(), addnsec3param(), ATF_TC_BODY(), buildquery(), checkandaddsoa(), compute_tag(), create_keydata(), dns_dnssec_sign(), dns_dnssec_signmessage(), dns_ds_buildrdata(), dns_nsec3_addnsec3(), dns_nsec3_delnsec3(), dns_private_totext(), dns_soa_buildrdata(), dns_tkey_processquery(), dns_tsig_sign(), dns_view_untrust(), dstkey_fromconfig(), fixup_nsec3param(), insert_soa(), keyfetch_done(), make_nsec3(), minimal_update(), normalize_key(), resigned(), revocable(), and trust_key().
isc_result_t dns_rdata_tostruct | ( | dns_rdata_t * | rdata, | |
void * | target, | |||
isc_mem_t * | mctx | |||
) |
Convert an rdata into its C structure representation.
If 'mctx' is NULL then 'rdata' must persist while 'target' is being used.
If 'mctx' is non NULL then memory will be allocated if required.
Requires:
Definition at line 947 of file rdata.c.
References DNS_RDATA_VALIDFLAGS, ISC_FALSE, ISC_R_NOTIMPLEMENTED, and REQUIRE.
Referenced by add_signing_records(), ATF_TC_BODY(), chase_cnamechain(), check_ds(), check_for_more_data(), check_mx(), check_nsec3param(), check_tsig_error(), checkandaddsoa(), checkkey(), client_resfind(), cname_target(), copy_ptr_targets(), create_keydata(), del_keysigs(), del_sig(), del_sigs(), delete(), deletematchingnsec3(), dlv_algorithm_supported(), dlv_validatezonekey(), dname_target(), dns64_ttl(), dns_dnssec_signs(), dns_dnssec_verify3(), dns_dnssec_verifymessage(), dns_message_checksig(), dns_message_signer(), dns_ncache_current(), dns_ncache_getsigrdataset(), dns_nsec3_activex(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3sx(), dns_nsec3_noexistnodata(), dns_nsec3_typepresent(), dns_nsec_noexistnodata(), dns_nsec_nseconly(), dns_nsec_typepresent(), dns_private_totext(), dns_root_checkhints(), dns_rpz_decode_cname(), dns_tkey_gssnegotiate(), dns_tkey_processdeleteresponse(), dns_tkey_processdhresponse(), dns_tkey_processgssresponse(), dns_tkey_processquery(), dns_tsig_sign(), dns_tsig_verify(), dns_update_signaturesinc(), dns_zone_notifyreceive(), dns_zonekey_iszonekey(), emit(), fctx_getaddresses(), find_nsec3(), findnoqname(), fixup_nsec3param(), followup_lookup(), get_iterations(), goodsig(), in_rootns(), innsec3params(), integrity_checks(), isdelegation(), isoptout(), isselfsigned(), keyfetch_done(), keyfromds(), load_secroots(), load_text(), lookup_find(), mark_active_keys(), match_nsec3(), matchparams(), minimal_update(), mkey_dumpzone(), need_nsec_chain(), normalize_key(), nsec3clean(), printsoa(), process_soa(), query_addnxrrsetnsec(), query_addsoa(), query_addwildcardproof(), query_find(), query_findclosestnsec3(), record_found(), recvsoa(), refresh_callback(), refresh_time(), replaces_p(), resign_fromlist(), resolveaddr_done(), resume_addnsec3chain(), revocable(), rpz_rewrite(), rrsig_fromchildzone(), save_nsrrset(), set_nsec3params(), set_target(), setnsec3parameters(), setresign(), signed_with_alg(), signed_with_key(), signset(), sync_secure_db(), tsig_verify_tcp(), update_action(), validate(), validatezonekey(), verifynsec(), verifynsec3(), verifyset(), verifyzone(), view_find(), warn_rfc1918(), warnifallksk(), zone_check_dnskeys(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), and zone_refreshkeys().
void dns_rdata_freestruct | ( | void * | source | ) |
Free dynamic memory attached to 'source' (if any).
Requires:
Definition at line 963 of file rdata.c.
References REQUIRE.
Referenced by chase_cnamechain(), check_for_more_data(), client_resfind(), cname_target(), copy_ptr_targets(), dname_target(), dns_dnssec_verify3(), dns_dnssec_verifymessage(), dns_message_checksig(), dns_message_signer(), dns_nsec3_typepresent(), dns_nsec_noexistnodata(), dns_nsec_typepresent(), dns_tkey_gssnegotiate(), dns_tkey_processdeleteresponse(), dns_tkey_processdhresponse(), dns_tkey_processgssresponse(), dns_tkey_processquery(), fctx_getaddresses(), followup_lookup(), lookup_find(), printsoa(), process_soa(), query_addwildcardproof(), query_find(), recvsoa(), resolveaddr_done(), rpz_rewrite(), set_nsec3params(), set_target(), signset(), tsig_verify_tcp(), verifyzone(), view_find(), and warnifallksk().
isc_result_t dns_rdata_additionaldata | ( | dns_rdata_t * | rdata, | |
dns_additionaldatafunc_t | add, | |||
void * | arg | |||
) |
Call 'add' for each name and type from 'rdata' which is subject to additional section processing.
Requires:
Definition at line 971 of file rdata.c.
References DNS_RDATA_VALIDFLAGS, ISC_FALSE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, and REQUIRE.
Referenced by dns_rdataset_additionaldata().
isc_result_t dns_rdata_digest | ( | dns_rdata_t * | rdata, | |
dns_digestfunc_t | digest, | |||
void * | arg | |||
) |
Send 'rdata' in DNSSEC canonical form to 'digest'.
Note:
Definition at line 996 of file rdata.c.
References dns_rdata_toregion(), DNS_RDATA_VALIDFLAGS, ISC_FALSE, ISC_R_NOTIMPLEMENTED, r, and REQUIRE.
Referenced by dns_dnssec_sign(), and dns_dnssec_verify3().
isc_boolean_t dns_rdata_checkowner | ( | dns_name_t * | name, | |
dns_rdataclass_t | rdclass, | |||
dns_rdatatype_t | type, | |||
isc_boolean_t | wildcard | |||
) |
Definition at line 1020 of file rdata.c.
Referenced by checknamessection(), getsection(), load_text(), query_find(), and update_addordelete().
isc_boolean_t dns_rdata_checknames | ( | dns_rdata_t * | rdata, | |
dns_name_t * | owner, | |||
dns_name_t * | bad | |||
) |
Definition at line 1030 of file rdata.c.
Referenced by checknamessection(), and update_addordelete().
unsigned int dns_rdatatype_attributes | ( | dns_rdatatype_t | rdtype | ) |
Return attributes for the given type.
Requires:
Definition at line 1039 of file rdata.c.
References DNS_RDATATYPEATTR_UNKNOWN.
Referenced by dns_rdatatype_atparent(), dns_rdatatype_isdnssec(), dns_rdatatype_isknown(), dns_rdatatype_ismeta(), dns_rdatatype_issingleton(), dns_rdatatype_iszonecutauth(), dns_rdatatype_notquestion(), and dns_rdatatype_questiononly().
isc_result_t dns_rdatatype_fromtext | ( | dns_rdatatype_t * | typep, | |
isc_textregion_t * | source | |||
) |
Convert the text 'source' refers to into a DNS rdata type.
Requires:
Definition at line 1046 of file rdata.c.
References isc_textregion::base, DNS_R_UNKNOWN, hash, ISC_R_SUCCESS, and isc_textregion::length.
Referenced by addlookup(), check_orderent(), check_update_policy(), configure_zone_ssutable(), dash_option(), dns_sdb_putrr(), dns_sdlz_putrr(), fromtext_nsec(), fromtext_nsec3(), fromtext_nxt(), fromtext_rrsig(), fromtext_sig(), generate(), load_text(), make_prereq(), ns_config_gettype(), parse_args(), testtype(), and update_addordelete().
isc_result_t dns_rdatatype_totext | ( | dns_rdatatype_t | type, | |
isc_buffer_t * | target | |||
) |
Put a textual representation of type 'type' into 'target'.
Requires:
Definition at line 1087 of file rdata.c.
References str_totext().
Referenced by check_ttls(), dns_rdatatype_format(), make_log_buf(), ncache_summary(), question_totext(), rdataset_totext(), say_message(), totext_nsec(), totext_nsec3(), totext_nxt(), totext_rrsig(), totext_sig(), and type_format().
void dns_rdatatype_format | ( | dns_rdatatype_t | rdtype, | |
char * | array, | |||
unsigned int | size | |||
) |
Format a human-readable representation of the type 'rdtype' into the character array 'array', which is of size 'size'. The resulting string is guaranteed to be null-terminated.
Definition at line 1096 of file rdata.c.
References dns_rdatatype_totext(), isc_buffer_availablelength, isc_buffer_init, isc_buffer_putuint8, ISC_R_NOSPACE, and ISC_R_SUCCESS.
Referenced by add_bad(), answer_response(), cache_name(), deleterdataset(), detailsection(), diff_apply(), dns_badcache_print(), dns_sdlzssumatch(), dns_ssu_external_match(), dump_entry(), fctx_create(), is_answeraddress_allowed(), is_answertarget_allowed(), load_text(), log_fetch(), log_query(), log_queryerror(), noanswer_response(), ns_client_aclmsg(), ns_client_dumprecursing(), ns_server_zonestatus(), pre_parse_args(), printmessage(), printsection(), query_find(), rdatasetstats_dump(), rdtypestat_dump(), recv_done(), report(), resquery_response(), same_question(), trim_ns_ttl(), update_action(), validator_logcreate(), validator_logv(), view_find(), zone_postload(), and zone_rrset_check_dup().
static isc_result_t byte_atob | ( | int | c, | |
isc_buffer_t * | target, | |||
struct state * | state | |||
) | [static] |
Definition at line 1654 of file rdata.c.
References bcount, DNS_R_SYNTAX, ISC_R_SUCCESS, putbyte(), RETERR, s, times85, and word.
Referenced by atob_tobuffer().
static isc_result_t putbyte | ( | int | c, | |
isc_buffer_t * | target, | |||
struct state * | state | |||
) | [static] |
Definition at line 1692 of file rdata.c.
References isc_region::base, Ceor, Crot, Csum, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, and isc_region::length.
Referenced by byte_atob().
static isc_result_t byte_btoa | ( | int | c, | |
isc_buffer_t * | target, | |||
struct state * | state | |||
) | [static] |
Definition at line 1791 of file rdata.c.
References isc_region::base, bcount, Ceor, Crot, Csum, isc_buffer_add, isc_buffer_availableregion, ISC_R_NOSPACE, ISC_R_SUCCESS, isc_region::length, and word.
Referenced by btoa_totext().
dns_rdatatype_t dns_rdata_covers | ( | dns_rdata_t * | rdata | ) |
Return the rdatatype that this type covers.
Requires:
Definition at line 1984 of file rdata.c.
References covers_rrsig(), covers_sig(), and dns_rdata::type.
Referenced by dns_client_updaterec(), getsection(), load_text(), log_rr(), rdata_covers(), sendstream(), and temp_check().
isc_boolean_t dns_rdatatype_ismeta | ( | dns_rdatatype_t | type | ) |
Return true iff the rdata type 'type' is a meta-type like ANY or AXFR.
Definition at line 1991 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_META, ISC_FALSE, and ISC_TRUE.
Referenced by ns_query_start(), pre_parse_args(), unknown_fromtext(), update_action(), and xfr_rr().
isc_boolean_t dns_rdatatype_issingleton | ( | dns_rdatatype_t | type | ) |
Return true iff the rdata type 'type' is a singleton type, like CNAME or SOA.
Requires:
Definition at line 1998 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_SINGLETON, ISC_FALSE, and ISC_TRUE.
Referenced by dns_rdataslab_fromrdataset(), dns_rdataslab_merge(), and getsection().
isc_boolean_t dns_rdatatype_notquestion | ( | dns_rdatatype_t | type | ) |
Return true iff rdata of type 'type' can not appear in the question section of a properly formatted message.
Requires:
Definition at line 2006 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_NOTQUESTION, ISC_FALSE, and ISC_TRUE.
isc_boolean_t dns_rdatatype_questiononly | ( | dns_rdatatype_t | type | ) |
Return true iff rdata of type 'type' can only appear in the question section of a properly formatted message.
Requires:
Definition at line 2014 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_QUESTIONONLY, ISC_FALSE, and ISC_TRUE.
Referenced by getsection().
isc_boolean_t dns_rdatatype_atparent | ( | dns_rdatatype_t | type | ) |
Return true iff rdata of type 'type' should appear at the parent of a zone cut.
Requires:
Definition at line 2022 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_ATPARENT, ISC_FALSE, and ISC_TRUE.
Referenced by dns_nsec3_noexistnodata(), dns_nsec_noexistnodata(), fctx_create(), fctx_getaddresses(), get_key(), issecuredomain(), query_find(), remove_sigs(), resquery_response(), and zone_find().
isc_boolean_t dns_rdataclass_ismeta | ( | dns_rdataclass_t | rdclass | ) |
isc_boolean_t dns_rdatatype_isdnssec | ( | dns_rdatatype_t | type | ) |
Return true iff 'type' is one of the DNSSEC rdata types that may exist alongside a CNAME record.
Requires:
Definition at line 2040 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_DNSSEC, ISC_FALSE, and ISC_TRUE.
Referenced by cname_compatibility_action(), dns_ncache_towire(), query_addadditional(), query_find(), and update_action().
isc_boolean_t dns_rdatatype_iszonecutauth | ( | dns_rdatatype_t | type | ) |
Return true iff rdata of type 'type' is considered authoritative data (not glue) in the NSEC chain when it occurs in the parent zone at a zone cut.
Requires:
Definition at line 2047 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_DNSSEC, DNS_RDATATYPEATTR_ZONECUTAUTH, ISC_FALSE, and ISC_TRUE.
Referenced by dns_nsec3_buildrdata(), and dns_nsec_buildrdata().
isc_boolean_t dns_rdatatype_isknown | ( | dns_rdatatype_t | type | ) |
Return true iff the rdata type 'type' is known.
Requires:
Definition at line 2056 of file rdata.c.
References dns_rdatatype_attributes(), DNS_RDATATYPEATTR_UNKNOWN, ISC_FALSE, and ISC_TRUE.
Referenced by totext_nsec(), totext_nsec3(), totext_nxt(), totext_rrsig(), totext_sig(), and unknown_fromtext().
void dns_rdata_exists | ( | dns_rdata_t * | rdata, | |
dns_rdatatype_t | type | |||
) |
Definition at line 2064 of file rdata.c.
References dns_rdata::data, DNS_RDATA_INITIALIZED, DNS_RDATA_UPDATE, dns_rdata::flags, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by dns_client_updaterec().
void dns_rdata_notexist | ( | dns_rdata_t * | rdata, | |
dns_rdatatype_t | type | |||
) |
Definition at line 2077 of file rdata.c.
References dns_rdata::data, DNS_RDATA_INITIALIZED, DNS_RDATA_UPDATE, dns_rdata::flags, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by dns_client_updaterec().
void dns_rdata_deleterrset | ( | dns_rdata_t * | rdata, | |
dns_rdatatype_t | type | |||
) |
Definition at line 2090 of file rdata.c.
References dns_rdata::data, DNS_RDATA_INITIALIZED, DNS_RDATA_UPDATE, dns_rdata::flags, dns_rdata::length, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
Referenced by dns_client_updaterec().
void dns_rdata_makedelete | ( | dns_rdata_t * | rdata | ) |
Definition at line 2103 of file rdata.c.
References dns_rdata::rdclass, and REQUIRE.
Referenced by dns_client_updaterec().
const char* dns_rdata_updateop | ( | dns_rdata_t * | rdata, | |
dns_section_t | section | |||
) |
Definition at line 2110 of file rdata.c.
References DNS_RDATA_INITIALIZED, DNS_SECTION_PREREQUISITE, DNS_SECTION_UPDATE, dns_rdata::rdclass, REQUIRE, and dns_rdata::type.
const char hexdigits[] = "0123456789abcdef" [static] |
const char decdigits[] = "0123456789" [static] |
const char atob_digits[86] [static] |