rdataset.h File Reference

A DNS rdataset is a handle that can be associated with a collection of rdata all having a common owner name, class, and type. More...

#include <isc/lang.h>
#include <isc/magic.h>
#include <isc/stdtime.h>
#include <dns/types.h>
#include <dns/rdatastruct.h>

Go to the source code of this file.

Data Structures

struct  dns_rdatasetmethods
struct  dns_rdataset
 Direct use of this structure by clients is strongly discouraged, except for the 'link' field which may be used however the client wishes. The 'private', 'current', and 'index' fields MUST NOT be changed by clients. rdataset implementations may change any of the fields. More...

Defines

#define DNS_RDATASET_H   1
#define DNS_RDATASET_MAGIC   ISC_MAGIC('D','N','S','R')
#define DNS_RDATASET_VALID(set)   ISC_MAGIC_VALID(set, DNS_RDATASET_MAGIC)
#define DNS_RDATASETATTR_QUESTION   0x00000001
#define DNS_RDATASETATTR_RENDERED   0x00000002
 Used by message.c.
#define DNS_RDATASETATTR_ANSWERED   0x00000004
 Used by server.
#define DNS_RDATASETATTR_CACHE   0x00000008
 Used by resolver.
#define DNS_RDATASETATTR_ANSWER   0x00000010
 Used by resolver.
#define DNS_RDATASETATTR_ANSWERSIG   0x00000020
 Used by resolver.
#define DNS_RDATASETATTR_EXTERNAL   0x00000040
 Used by resolver.
#define DNS_RDATASETATTR_NCACHE   0x00000080
 Used by resolver.
#define DNS_RDATASETATTR_CHAINING   0x00000100
 Used by resolver.
#define DNS_RDATASETATTR_TTLADJUSTED   0x00000200
 Used by message.c.
#define DNS_RDATASETATTR_FIXEDORDER   0x00000400
#define DNS_RDATASETATTR_RANDOMIZE   0x00000800
#define DNS_RDATASETATTR_CHASE   0x00001000
 Used by resolver.
#define DNS_RDATASETATTR_NXDOMAIN   0x00002000
#define DNS_RDATASETATTR_NOQNAME   0x00004000
#define DNS_RDATASETATTR_CHECKNAMES   0x00008000
 Used by resolver.
#define DNS_RDATASETATTR_REQUIRED   0x00010000
#define DNS_RDATASETATTR_REQUIREDGLUE   DNS_RDATASETATTR_REQUIRED
#define DNS_RDATASETATTR_LOADORDER   0x00020000
#define DNS_RDATASETATTR_RESIGN   0x00040000
#define DNS_RDATASETATTR_CLOSEST   0x00080000
#define DNS_RDATASETATTR_OPTOUT   0x00100000
 OPTOUT proof.
#define DNS_RDATASETATTR_NEGATIVE   0x00200000
#define DNS_RDATASETATTR_PREFETCH   0x00400000
#define DNS_RDATASETTOWIRE_OMITDNSSEC   0x0001
 _OMITDNSSEC: Omit DNSSEC records when rendering ncache records.

Typedefs

typedef struct dns_rdatasetmethods dns_rdatasetmethods_t

Enumerations

enum  dns_rdatasetadditional_t { dns_rdatasetadditional_fromauth, dns_rdatasetadditional_fromcache, dns_rdatasetadditional_fromglue }

Functions

void dns_rdataset_init (dns_rdataset_t *rdataset)
 Make 'rdataset' a valid, disassociated rdataset.
void dns_rdataset_invalidate (dns_rdataset_t *rdataset)
 Invalidate 'rdataset'.
void dns_rdataset_disassociate (dns_rdataset_t *rdataset)
 Disassociate 'rdataset' from its rdata, allowing it to be reused.
isc_boolean_t dns_rdataset_isassociated (dns_rdataset_t *rdataset)
 Is 'rdataset' associated?
void dns_rdataset_makequestion (dns_rdataset_t *rdataset, dns_rdataclass_t rdclass, dns_rdatatype_t type)
 Make 'rdataset' a valid, associated, question rdataset, with a question class of 'rdclass' and type 'type'.
void dns_rdataset_clone (dns_rdataset_t *source, dns_rdataset_t *target)
 Make 'target' refer to the same rdataset as 'source'.
unsigned int dns_rdataset_count (dns_rdataset_t *rdataset)
 Return the number of records in 'rdataset'.
isc_result_t dns_rdataset_first (dns_rdataset_t *rdataset)
 Move the rdata cursor to the first rdata in the rdataset (if any).
isc_result_t dns_rdataset_next (dns_rdataset_t *rdataset)
 Move the rdata cursor to the next rdata in the rdataset (if any).
void dns_rdataset_current (dns_rdataset_t *rdataset, dns_rdata_t *rdata)
 Make 'rdata' refer to the current rdata.
isc_result_t dns_rdataset_totext (dns_rdataset_t *rdataset, dns_name_t *owner_name, isc_boolean_t omit_final_dot, isc_boolean_t question, isc_buffer_t *target)
 Convert 'rdataset' to text format, storing the result in 'target'.
isc_result_t dns_rdataset_towire (dns_rdataset_t *rdataset, dns_name_t *owner_name, dns_compress_t *cctx, isc_buffer_t *target, unsigned int options, unsigned int *countp)
 Convert 'rdataset' to wire format, compressing names as specified in 'cctx', and storing the result in 'target'.
isc_result_t dns_rdataset_towiresorted (dns_rdataset_t *rdataset, const dns_name_t *owner_name, dns_compress_t *cctx, isc_buffer_t *target, dns_rdatasetorderfunc_t order, const void *order_arg, unsigned int options, unsigned int *countp)
 Like dns_rdataset_towire(), but sorting the rdatasets according to the integer value returned by 'order' when called with the rdataset and 'order_arg' as arguments.
isc_result_t dns_rdataset_towirepartial (dns_rdataset_t *rdataset, const dns_name_t *owner_name, dns_compress_t *cctx, isc_buffer_t *target, dns_rdatasetorderfunc_t order, const void *order_arg, unsigned int options, unsigned int *countp, void **state)
 Like dns_rdataset_towiresorted() except that a partial rdataset may be written.
isc_result_t dns_rdataset_additionaldata (dns_rdataset_t *rdataset, dns_additionaldatafunc_t add, void *arg)
 For each rdata in rdataset, call 'add' for each name and type in the rdata which is subject to additional section processing.
isc_result_t dns_rdataset_getnoqname (dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *neg, dns_rdataset_t *negsig)
 Return the noqname proof for this record.
isc_result_t dns_rdataset_addnoqname (dns_rdataset_t *rdataset, dns_name_t *name)
 Associate a noqname proof with this record. Sets DNS_RDATASETATTR_NOQNAME if successful. Adjusts the 'rdataset->ttl' to minimum of the 'rdataset->ttl' and the 'nsec'/'nsec3' and 'rrsig(nsec)'/'rrsig(nsec3)' ttl.
isc_result_t dns_rdataset_getclosest (dns_rdataset_t *rdataset, dns_name_t *name, dns_rdataset_t *nsec, dns_rdataset_t *nsecsig)
 Return the closest encloser for this record.
isc_result_t dns_rdataset_addclosest (dns_rdataset_t *rdataset, dns_name_t *name)
 Associate a closest encloset proof with this record. Sets DNS_RDATASETATTR_CLOSEST if successful. Adjusts the 'rdataset->ttl' to minimum of the 'rdataset->ttl' and the 'nsec' and 'rrsig(nsec)' ttl.
isc_result_t dns_rdataset_getadditional (dns_rdataset_t *rdataset, dns_rdatasetadditional_t type, dns_rdatatype_t qtype, dns_acache_t *acache, dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp, dns_dbnode_t **nodep, dns_name_t *fname, dns_message_t *msg, isc_stdtime_t now)
 Get cached additional information from the DB node for a particular 'rdataset.' 'type' is one of dns_rdatasetadditional_fromauth, dns_rdatasetadditional_fromcache, and dns_rdatasetadditional_fromglue, which specifies the origin of the information. 'qtype' is intended to be used for specifying a particular rdata type in the cached information.
isc_result_t dns_rdataset_setadditional (dns_rdataset_t *rdataset, dns_rdatasetadditional_t type, dns_rdatatype_t qtype, dns_acache_t *acache, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, dns_name_t *fname)
 Set cached additional information to the DB node for a particular 'rdataset.' See dns_rdataset_getadditional for the semantics of 'type' and 'qtype'.
isc_result_t dns_rdataset_putadditional (dns_acache_t *acache, dns_rdataset_t *rdataset, dns_rdatasetadditional_t type, dns_rdatatype_t qtype)
 Discard cached additional information stored in the DB node for a particular 'rdataset.' See dns_rdataset_getadditional for the semantics of 'type' and 'qtype'.
void dns_rdataset_settrust (dns_rdataset_t *rdataset, dns_trust_t trust)
 Set the trust of the 'rdataset' to trust in any in the backing database. The local trust level of 'rdataset' is also set.
void dns_rdataset_expire (dns_rdataset_t *rdataset)
 Mark the rdataset to be expired in the backing database.
void dns_rdataset_clearprefetch (dns_rdataset_t *rdataset)
 Clear the PREFETCH attribute for the given rdataset in the underlying database.
void dns_rdataset_setownercase (dns_rdataset_t *rdataset, const dns_name_t *name)
 Store the casing of 'name', the owner name of 'rdataset', into a bitfield so that the name can be capitalized the same when when the rdataset is used later. This sets the CASESET attribute.
void dns_rdataset_getownercase (const dns_rdataset_t *rdataset, dns_name_t *name)
 If the CASESET attribute is set, retrieve the case bitfield that was previously stored by dns_rdataset_getownername(), and capitalize 'name' according to it. If CASESET is not set, do nothing.
void dns_rdataset_trimttl (dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset, dns_rdata_rrsig_t *rrsig, isc_stdtime_t now, isc_boolean_t acceptexpired)
 Trim the ttl of 'rdataset' and 'sigrdataset' so that they will expire at or before 'rrsig->expiretime'. If 'acceptexpired' is true and the signature has expired or will expire in the next 120 seconds, limit the ttl to be no more than 120 seconds.
const char * dns_trust_totext (dns_trust_t trust)
 Display trust in textual form.


Detailed Description

A DNS rdataset is a handle that can be associated with a collection of rdata all having a common owner name, class, and type.

The dns_rdataset_t type is like a "virtual class". To actually use rdatasets, an implementation of the method suite (e.g. "slabbed rdata") is required.

XXX <more> XXX

MP:

Reliability: Resources: Security: Standards:

Definition in file rdataset.h.


Define Documentation

#define DNS_RDATASET_H   1

Definition at line 19 of file rdataset.h.

#define DNS_RDATASET_MAGIC   ISC_MAGIC('D','N','S','R')

Definition at line 121 of file rdataset.h.

Referenced by dns_rdataset_init().

#define DNS_RDATASET_VALID ( set   )     ISC_MAGIC_VALID(set, DNS_RDATASET_MAGIC)

Definition at line 122 of file rdataset.h.

Referenced by dns_db_addrdataset(), dns_db_find(), dns_db_findext(), dns_db_findrdataset(), dns_db_findzonecut(), dns_db_subtractrdataset(), dns_rdatalist_tordataset(), dns_rdataset_addclosest(), dns_rdataset_additionaldata(), dns_rdataset_addnoqname(), dns_rdataset_clearprefetch(), dns_rdataset_clone(), dns_rdataset_count(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_expire(), dns_rdataset_first(), dns_rdataset_getadditional(), dns_rdataset_getclosest(), dns_rdataset_getnoqname(), dns_rdataset_getownercase(), dns_rdataset_invalidate(), dns_rdataset_isassociated(), dns_rdataset_makequestion(), dns_rdataset_next(), dns_rdataset_putadditional(), dns_rdataset_setadditional(), dns_rdataset_setownercase(), dns_rdataset_settrust(), dns_rdataset_trimttl(), dns_rdatasetiter_current(), dns_resolver_createfetch3(), dump_rdataset_raw(), question_totext(), rdataset_totext(), and towiresorted().

#define DNS_RDATASETATTR_QUESTION   0x00000001

Definition at line 188 of file rdataset.h.

Referenced by dns_rdataset_additionaldata(), dns_rdataset_makequestion(), getquestions(), and towiresorted().

#define DNS_RDATASETATTR_RENDERED   0x00000002

Used by message.c.

Used by message.c to indicate that the rdataset was rendered.

Definition at line 189 of file rdataset.h.

Referenced by dns_message_renderreset(), and dns_message_rendersection().

#define DNS_RDATASETATTR_ANSWERED   0x00000004

Used by server.

Definition at line 190 of file rdataset.h.

#define DNS_RDATASETATTR_CACHE   0x00000008

Used by resolver.

Definition at line 191 of file rdataset.h.

Referenced by answer_response(), mark_related(), and noanswer_response().

#define DNS_RDATASETATTR_ANSWER   0x00000010

Used by resolver.

Definition at line 192 of file rdataset.h.

Referenced by answer_response().

#define DNS_RDATASETATTR_ANSWERSIG   0x00000020

Used by resolver.

Definition at line 193 of file rdataset.h.

Referenced by answer_response().

#define DNS_RDATASETATTR_EXTERNAL   0x00000040

Used by resolver.

Definition at line 194 of file rdataset.h.

Referenced by answer_response(), and mark_related().

#define DNS_RDATASETATTR_NCACHE   0x00000080

Used by resolver.

Definition at line 195 of file rdataset.h.

Referenced by addoptout(), and noanswer_response().

#define DNS_RDATASETATTR_CHAINING   0x00000100

Used by resolver.

Definition at line 196 of file rdataset.h.

Referenced by answer_response().

#define DNS_RDATASETATTR_TTLADJUSTED   0x00000200

Used by message.c.

Used by message.c to indicate that the rdataset's rdata had differing TTL values, and the rdataset->ttl holds the smallest.

Definition at line 197 of file rdataset.h.

Referenced by getsection().

#define DNS_RDATASETATTR_FIXEDORDER   0x00000400

Definition at line 198 of file rdataset.h.

Referenced by configure_order(), and dns_order_add().

#define DNS_RDATASETATTR_RANDOMIZE   0x00000800

Definition at line 199 of file rdataset.h.

Referenced by configure_order(), and dns_order_add().

#define DNS_RDATASETATTR_CHASE   0x00001000

Used by resolver.

Definition at line 200 of file rdataset.h.

Referenced by chase_additional(), and mark_related().

#define DNS_RDATASETATTR_NXDOMAIN   0x00002000

Definition at line 201 of file rdataset.h.

Referenced by addoptout(), addrdataset(), and bind_rdataset().

#define DNS_RDATASETATTR_NOQNAME   0x00004000

Definition at line 202 of file rdataset.h.

Referenced by addrdataset(), bind_rdataset(), isc__rdatalist_addnoqname(), and isc__rdatalist_getnoqname().

#define DNS_RDATASETATTR_CHECKNAMES   0x00008000

Used by resolver.

Definition at line 203 of file rdataset.h.

Referenced by checknamessection().

#define DNS_RDATASETATTR_REQUIRED   0x00010000

Definition at line 204 of file rdataset.h.

Referenced by answer_in_glue(), query_addrrset(), and query_addsoa().

#define DNS_RDATASETATTR_REQUIREDGLUE   DNS_RDATASETATTR_REQUIRED

Definition at line 205 of file rdataset.h.

Referenced by dns_message_rendersection().

#define DNS_RDATASETATTR_LOADORDER   0x00020000

Output the RRset in load order.

Definition at line 206 of file rdataset.h.

Referenced by dns_rriterator_first(), dns_rriterator_nextrrset(), dump_rdataset_raw(), query_addrdataset(), rdataset_current(), rdataset_first(), rdataset_next(), and rdataset_totext().

#define DNS_RDATASETATTR_RESIGN   0x00040000

Definition at line 207 of file rdataset.h.

Referenced by addrdataset(), bind_rdataset(), commit(), dump_rdatasets_text(), loading_addrdataset(), resigned(), and subtractrdataset().

#define DNS_RDATASETATTR_CLOSEST   0x00080000

Definition at line 208 of file rdataset.h.

Referenced by addrdataset(), bind_rdataset(), isc__rdatalist_addclosest(), isc__rdatalist_getclosest(), and query_addnoqnameproof().

#define DNS_RDATASETATTR_OPTOUT   0x00100000

OPTOUT proof.

Definition at line 209 of file rdataset.h.

Referenced by addoptout(), addrdataset(), and bind_rdataset().

#define DNS_RDATASETATTR_NEGATIVE   0x00200000

Definition at line 210 of file rdataset.h.

Referenced by addoptout(), addrdataset(), bind_rdataset(), dns_ncache_current(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_ncache_towire(), dump_rdatasets_raw(), dump_rdatasets_text(), query_find(), rdataset_totext(), redirect(), redirect2(), rpz_ck_dnssec(), and towiresorted().

#define DNS_RDATASETATTR_PREFETCH   0x00400000

Definition at line 211 of file rdataset.h.

Referenced by addrdataset(), bind_rdataset(), cache_name(), and query_prefetch().

#define DNS_RDATASETTOWIRE_OMITDNSSEC   0x0001

_OMITDNSSEC: Omit DNSSEC records when rendering ncache records.

Definition at line 217 of file rdataset.h.

Referenced by dns_message_rendersection(), and towiresorted().


Typedef Documentation

typedef struct dns_rdatasetmethods dns_rdatasetmethods_t


Enumeration Type Documentation

enum dns_rdatasetadditional_t

Enumerator:
dns_rdatasetadditional_fromauth 
dns_rdatasetadditional_fromcache 
dns_rdatasetadditional_fromglue 

Definition at line 61 of file rdataset.h.


Function Documentation

void dns_rdataset_init ( dns_rdataset_t rdataset  ) 

Make 'rdataset' a valid, disassociated rdataset.

Requires:

Ensures:

Definition at line 60 of file rdataset.c.

References dns_rdataset::attributes, dns_rdataset::count, dns_rdataset::covers, DNS_RDATASET_MAGIC, ISC_LINK_INIT, ISC_UINT32_MAX, dns_rdataset::magic, dns_rdataset::methods, dns_rdataset::private1, dns_rdataset::private2, dns_rdataset::private3, dns_rdataset::private5, dns_rdataset::private6, dns_rdataset::private7, dns_rdataset::privateuint4, dns_rdataset::rdclass, REQUIRE, dns_rdataset::resign, dns_rdataset::trust, dns_rdataset::ttl, and dns_rdataset::type.

Referenced by active_node(), add_ds(), add_exposed_sigs(), add_ns(), add_question(), add_rdata_to_list(), add_sigs(), add_soa(), addclosest(), addnoqname(), addnsec3(), addnsec3param(), addoptout(), addrdataset(), assignwork(), ATF_TC_BODY(), better_param(), build_event(), buildquery(), check_address_records(), check_hints(), check_no_nsec(), check_no_rrsig(), check_node(), check_nsec3param(), check_ttls(), checkandaddsoa(), checkwildcard(), cleannode(), cleanup_zone(), clearnode(), commit(), configure_staticstub(), copy_name(), create_query(), dbfind_name(), del_keysigs(), del_sig(), del_sigs(), delete(), delete_nsec(), deletematchingnsec3(), deleterdataset(), diff_apply(), diff_tuple_tordataset(), dlv_validatezonekey(), dns64_ttl(), dns_acache_getentry(), dns_acache_setentry(), dns_client_updaterec(), dns_db_createsoatuple(), dns_db_getsoaserial(), dns_diff_load(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_dnssec_signmessage(), dns_lookup_create(), dns_message_buildopt(), dns_message_checksig(), dns_message_gettemprdataset(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_nsec3_activex(), dns_nsec3_addnsec3(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_buildrdata(), dns_nsec3_delnsec3(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3param_deletechains(), dns_nsec_build(), dns_nsec_buildrdata(), dns_nsec_nseconly(), dns_private_chains(), dns_resolver_prime(), dns_root_checkhints(), dns_rriterator_init(), dns_tsig_sign(), dns_update_signaturesinc(), dns_validator_create(), dns_view_find2(), dns_view_findzonecut2(), dump_rdatasets_raw(), dump_rdatasets_text(), dumpnode(), fctx_create(), fetch_name(), find(), findext(), findnsec3proofs(), findrdataset(), fixup_nsec3param(), foreach_rr(), foreach_rrset(), get_iterations(), get_name_diff(), get_soa_ttls(), getquestions(), getrdataset(), getsection(), insert_soa(), integrity_checks(), is_delegation(), isdelegation(), isoptout(), iszonesecure(), iterate_node(), keydone(), loadds(), loadkeyset(), loadzonekeys(), log_rr(), main(), make_prereq(), mark_active_keys(), ncache_adderesult(), ncache_summary(), need_nsec_chain(), new_adbfetch(), notify_createmessage(), ns_server_signing(), ns_server_zonestatus(), nsec3clean(), nsec3ify(), nsecify(), nta_create(), query_add_cname(), query_dns64(), query_filter64(), query_find(), query_newrdataset(), rdataset_to_sortedarray(), receive_secure_db(), record_found(), redirect(), redirect2(), remove_records(), remove_sigs(), resigned(), resquery_send(), resume_addnsec3chain(), resume_dslookup(), resume_signingwithkey(), rpz_ck_dnssec(), rr_exists(), rrset_cleanup(), save_nsec3param(), secure(), sendstream(), set_nsec3params(), set_resigntime(), setsoaserial(), sign_a_node(), signed_with_key(), signname(), signset(), subtract(), temp_check(), tuple2msgname(), update_addordelete(), updatesecure(), updatesignwithkey(), validate(), validatezonekey(), verifynode(), verifynsec(), verifynsec3(), verifyset(), verifyzone(), warn_rfc1918(), warnifallksk(), xfrin_send_request(), zone_check_dnskeys(), zone_check_dup(), zone_check_glue(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_resigninc(), zone_rrset_check_dup(), and zone_sign().

void dns_rdataset_invalidate ( dns_rdataset_t rdataset  ) 

Invalidate 'rdataset'.

Requires:

Ensures:

Definition at line 89 of file rdataset.c.

References dns_rdataset::attributes, dns_rdataset::count, dns_rdataset::covers, DNS_RDATASET_VALID, ISC_LINK_INIT, ISC_UINT32_MAX, dns_rdataset::magic, dns_rdataset::methods, dns_rdataset::private1, dns_rdataset::private2, dns_rdataset::private3, dns_rdataset::private5, dns_rdataset::privateuint4, dns_rdataset::rdclass, REQUIRE, dns_rdataset::trust, dns_rdataset::ttl, and dns_rdataset::type.

Referenced by zone_count_ns_rr(), and zone_load_soa_rr().

void dns_rdataset_disassociate ( dns_rdataset_t rdataset  ) 

Disassociate 'rdataset' from its rdata, allowing it to be reused.

Notes:

Requires: Ensures:

Definition at line 115 of file rdataset.c.

References dns_rdataset::attributes, dns_rdataset::count, dns_rdataset::covers, dns_rdatasetmethods::disassociate, DNS_RDATASET_VALID, ISC_LINK_INIT, ISC_UINT32_MAX, dns_rdataset::methods, dns_rdataset::private1, dns_rdataset::private2, dns_rdataset::private3, dns_rdataset::private5, dns_rdataset::private6, dns_rdataset::privateuint4, dns_rdataset::rdclass, REQUIRE, dns_rdataset::trust, dns_rdataset::ttl, and dns_rdataset::type.

Referenced by active_node(), add_ds(), add_exposed_sigs(), add_rdata_to_list(), add_sigs(), addclosest(), addnoqname(), assignwork(), better_param(), build_event(), buildquery(), check_address_records(), check_hints(), check_no_nsec(), check_no_rrsig(), check_node(), check_nsec3param(), check_ttls(), checkbogus(), checkwildcard(), cleannode(), cleanup_zone(), clear_entry(), clearnode(), client_resfind(), configure_staticstub(), create_fetch(), dbfind_name(), del_keysigs(), del_sig(), del_sigs(), delete(), delete_nsec(), deletematchingnsec3(), destroy(), diff_apply(), dlv_validatezonekey(), dlvfetched(), dns64_ttl(), dns_acache_getentry(), dns_client_freeupdate(), dns_db_createsoatuple(), dns_db_getsoaserial(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_lookup_destroy(), dns_message_checksig(), dns_message_renderreset(), dns_message_setopt(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_nsec3_activex(), dns_nsec3_addnsec3(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_buildrdata(), dns_nsec3_delnsec3(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3param_deletechains(), dns_nsec_build(), dns_nsec_buildrdata(), dns_nsec_nseconly(), dns_private_chains(), dns_root_checkhints(), dns_rriterator_destroy(), dns_rriterator_first(), dns_rriterator_nextrrset(), dns_update_signaturesinc(), dns_view_find2(), dns_view_findzonecut2(), dns_view_simplefind(), dsfetched(), dsfetched2(), dump_rdatasets_raw(), dump_rdatasets_text(), dumpnode(), exit_check(), fctx_create(), fctx_destroy(), fetch_callback_validator(), fetch_done(), fetch_name(), findext(), findnsec3proofs(), fixrdataset(), fixup_nsec3param(), foreach_rr(), foreach_rrset(), free_adbfetch(), get_iterations(), get_key(), get_name_diff(), get_soa_ttls(), integrity_checks(), is_delegation(), isdelegation(), isoptout(), iszonesecure(), iterate_node(), keydone(), keyfetch_done(), levent_destroy(), loadds(), loadzonekeys(), lookup_find(), main(), mark_active_keys(), msgresetnames(), msgresetopt(), msgresetsigs(), ncache_adderesult(), ncache_summary(), need_nsec_chain(), noanswer_response(), notify_createmessage(), ns_client_endrequest(), ns_server_signing(), ns_server_zonestatus(), nsec3clean(), nsecify(), nta_detach(), prime_done(), proveunsecure(), putrdataset(), query_add_cname(), query_addadditional(), query_addadditional2(), query_addds(), query_addnoqnameproof(), query_addwildcardproof(), query_find(), query_findclosestnsec3(), query_putrdataset(), rdataset_to_sortedarray(), receive_secure_db(), record_found(), redirect(), redirect2(), remove_records(), remove_sigs(), resigned(), resume_addnsec3chain(), resume_dslookup(), resume_signingwithkey(), rpz_ck_dnssec(), rpz_clean(), rpz_find_p(), rpz_ready(), rpz_rewrite(), rpz_rewrite_ns_skip(), rr_exists(), rrset_cleanup(), save_nsec3param(), secure(), sendstream(), set_nsec3params(), set_resigntime(), setsoaserial(), setzone(), sign_a_node(), signed_with_key(), signname(), signset(), start_update(), temp_check(), tuple2msgname(), updatesecure(), updatesignwithkey(), val_rdataset_next(), validate(), validate_ncache(), validatezonekey(), verifynode(), verifynsec(), verifynsec3(), verifyset(), verifyzone(), view_find(), warn_rfc1918(), warnifallksk(), zone_check_dnskeys(), zone_check_dup(), zone_check_glue(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_resigninc(), and zone_rrset_check_dup().

isc_boolean_t dns_rdataset_isassociated ( dns_rdataset_t rdataset  ) 

Is 'rdataset' associated?

Requires:

Returns:

Definition at line 143 of file rdataset.c.

References DNS_RDATASET_VALID, ISC_FALSE, ISC_TRUE, dns_rdataset::methods, and REQUIRE.

Referenced by add_ds(), add_sigs(), assignwork(), bind_rdataset(), build_event(), cache_name(), check_address_records(), check_hints(), check_no_nsec(), check_no_rrsig(), check_node(), check_nsec3param(), checkbogus(), checkns(), checkwildcard(), client_resfind(), clone_results(), cnamevalidated(), create_fetch(), dbfind_name(), del_sig(), del_sigs(), destroy(), diff_apply(), dlvfetched(), dlvvalidated(), dns64_aaaaok(), dns64_ttl(), dns_db_addrdataset(), dns_db_find(), dns_db_findext(), dns_db_findrdataset(), dns_db_findzonecut(), dns_db_subtractrdataset(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_lookup_destroy(), dns_message_checksig(), dns_message_puttemprdataset(), dns_ncache_current(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_nsec3_addnsec3(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3param_deletechains(), dns_nsec_build(), dns_private_chains(), dns_rdatalist_tordataset(), dns_rdatasetiter_current(), dns_rdataslab_tordataset(), dns_resolver_createfetch3(), dns_root_checkhints(), dns_rriterator_destroy(), dns_rriterator_first(), dns_rriterator_init(), dns_rriterator_nextrrset(), dns_view_find2(), dns_view_findzonecut2(), dns_view_simplefind(), dsfetched(), dsfetched2(), dsvalidated(), exit_check(), fctx_create(), fctx_destroy(), fctx_sendevents(), fetch_callback_validator(), fetch_done(), fetch_name(), finddlvsep(), findext(), findnsec3proofs(), fixrdataset(), fixup_nsec3param(), free_adbfetch(), get_iterations(), get_key(), getownercase(), getquestions(), in_rootns(), is_delegation(), isoptout(), iszonesecure(), keydone(), keyfetch_done(), keyvalidated(), loadzonekeys(), lookup_find(), main(), mark_active_keys(), mkey_dumpzone(), msgresetnames(), msgresetopt(), msgresetsigs(), ncache_adderesult(), ncache_summary(), need_nsec_chain(), noanswer_response(), ns_client_endrequest(), ns_server_signing(), nta_detach(), prime_done(), proveunsecure(), putrdataset(), query_add_cname(), query_addadditional(), query_addadditional2(), query_addds(), query_addnoqnameproof(), query_addnxrrsetnsec(), query_addrrset(), query_addwildcardproof(), query_dns64(), query_find(), query_findclosestnsec3(), query_putrdataset(), receive_secure_db(), record_found(), redirect(), redirect2(), refresh_time(), resolveaddr_done(), resolvesoa_done(), resume_addnsec3chain(), resume_dslookup(), resume_signingwithkey(), revocable(), rpz_ck_dnssec(), rpz_clean(), rpz_find_p(), rpz_ready(), rpz_rewrite(), rpz_rewrite_ns_skip(), rpz_rrset_find(), rpz_save_p(), save_nsec3param(), secure(), sendstream(), set_nsec3params(), setownercase(), sign_a_node(), signed_with_alg(), signed_with_key(), signset(), sync_keyzone(), updatesecure(), updatesignwithkey(), validate(), validate_ncache(), validatezonekey(), validator_start(), verifyemptynodes(), verifynode(), verifynsec(), verifynsec3(), verifyzone(), view_find(), zone_check_glue(), zone_count_ns_rr(), zone_load_soa_rr(), and zone_refreshkeys().

void dns_rdataset_makequestion ( dns_rdataset_t rdataset,
dns_rdataclass_t  rdclass,
dns_rdatatype_t  type 
)

Make 'rdataset' a valid, associated, question rdataset, with a question class of 'rdclass' and type 'type'.

Notes:

Requires: Ensures:

Definition at line 217 of file rdataset.c.

References dns_rdataset::attributes, DNS_RDATASET_VALID, DNS_RDATASETATTR_QUESTION, dns_rdataset::methods, dns_rdataset::rdclass, REQUIRE, and dns_rdataset::type.

Referenced by add_question(), buildquery(), create_query(), notify_createmessage(), request_soa(), resquery_send(), send_update(), sendstream(), setzone(), start_update(), and xfrin_send_request().

void dns_rdataset_clone ( dns_rdataset_t source,
dns_rdataset_t target 
)

Make 'target' refer to the same rdataset as 'source'.

Requires:

Ensures:

Definition at line 249 of file rdataset.c.

References dns_rdatasetmethods::clone, DNS_RDATASET_VALID, dns_rdataset::methods, and REQUIRE.

Referenced by better_param(), build_event(), clone_results(), dlv_validatezonekey(), dlvfetched(), dlvvalidated(), dns_acache_getentry(), dns_acache_setentry(), dns_dnssec_keylistfromrdataset(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_view_find2(), dns_view_findzonecut2(), fctx_create(), finddlvsep(), isc__rdatalist_getclosest(), isc__rdatalist_getnoqname(), isdelegation(), mark_active_keys(), rdataset_to_sortedarray(), redirect(), redirect2(), resume_dslookup(), rrset_cleanup(), validatezonekey(), zone_refreshkeys(), and zone_rrset_check_dup().

unsigned int dns_rdataset_count ( dns_rdataset_t rdataset  ) 

Return the number of records in 'rdataset'.

Requires:

Returns:

Definition at line 236 of file rdataset.c.

References dns_rdatasetmethods::count, DNS_RDATASET_VALID, dns_rdataset::methods, and REQUIRE.

Referenced by copy_rdataset(), dns64_aaaaok(), dns_dns64_aaaaok(), dns_rdataslab_fromrdataset(), dump_rdataset_raw(), iterate_node(), lookup_done(), query_dns64(), query_filter64(), rdataset_to_sortedarray(), and signset().

isc_result_t dns_rdataset_first ( dns_rdataset_t rdataset  ) 

Move the rdata cursor to the first rdata in the rdataset (if any).

Requires:

Returns:

Definition at line 264 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::first, dns_rdataset::methods, and REQUIRE.

Referenced by better_param(), chase_cnamechain(), check_address_records(), check_ds(), check_for_more_data(), check_nsec3param(), check_tsig_error(), checkandaddsoa(), checkkey(), checknamessection(), checkns(), client_resfind(), cname_target(), copy_name(), copy_ptr_targets(), copy_rdataset(), del_keysigs(), del_sig(), del_sigs(), delete(), delete_keydata(), delete_nsec(), deletematchingnsec3(), detailsection(), dlv_algorithm_supported(), dlv_validatezonekey(), dname_target(), dns64_ttl(), dns_db_createsoatuple(), dns_db_getsoaserial(), dns_dns64_aaaaok(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_dnssec_signs(), dns_dnssec_verifymessage(), dns_message_checksig(), dns_message_getquerytsig(), dns_message_pseudosectiontotext(), dns_message_setopt(), dns_message_signer(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_ncache_towire(), dns_nsec3_activex(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3_noexistnodata(), dns_nsec3param_deletechains(), dns_nsec_noexistnodata(), dns_nsec_nseconly(), dns_private_chains(), dns_rdataset_additionaldata(), dns_rdataslab_fromrdataset(), dns_root_checkhints(), dns_rpz_decode_cname(), dns_rriterator_first(), dns_rriterator_nextrrset(), dns_tkey_processdhresponse(), dns_tkey_processquery(), dns_tsig_sign(), dns_tsig_verify(), dns_update_signaturesinc(), dns_zone_notifyreceive(), dump_rdataset_raw(), fctx_getaddresses(), fill_array(), find_nsec3(), find_tkey(), findnoqname(), fixup_nsec3param(), followup_lookup(), foreach_node_rr_action(), foreach_rr(), get_current_rr(), get_dst_key(), get_edns_expire(), get_iterations(), get_key(), get_name_diff(), get_soa_ttls(), goodsig(), ignore(), import_rdataset(), in_rootns(), innsec3params(), inrrset(), integrity_checks(), is_answeraddress_allowed(), isdelegation(), isoptout(), isselfsigned(), iszonesecure(), keydone(), keyfetch_done(), keyfromds(), load_secroots(), loadds(), lookup_find(), main(), mark_active_keys(), match_nsec3(), matchkey(), minimal_update(), mkey_dumpzone(), ncache_summary(), need_nsec_chain(), notify_createmessage(), ns_server_signing(), ns_xfr_start(), nsec3clean(), printsection(), process_dhtkey(), process_opt(), process_soa(), query_addnxrrsetnsec(), query_addsoa(), query_addwildcardproof(), query_dns64(), query_filter64(), query_find(), query_findclosestnsec3(), question_totext(), rdataset_to_sortedarray(), rdataset_totext(), record_found(), recvsoa(), redirect(), redirect2(), refresh_callback(), refresh_time(), resolveaddr_done(), resume_addnsec3chain(), resume_signingwithkey(), revocable(), rpz_ck_dnssec(), rpz_rewrite(), rpz_rewrite_ip_rrset(), rr_exists(), rrset_cleanup(), rrsig_fromchildzone(), save_nsec3param(), save_nsrrset(), set_nsec3params(), set_target(), setresign(), setsoaserial(), short_answer(), signed_with_alg(), signed_with_key(), signset(), temp_check(), towiresorted(), tsig_verify_tcp(), updatesignwithkey(), val_rdataset_first(), validate(), validate_authority(), validate_ncache(), validatezonekey(), verifynsec(), verifynsec3s(), verifyset(), verifyzone(), view_find(), warn_rfc1918(), warnifallksk(), xfrin_recv_done(), zone_check_dnskeys(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), zone_refreshkeys(), and zone_rrset_check_dup().

isc_result_t dns_rdataset_next ( dns_rdataset_t rdataset  ) 

Move the rdata cursor to the next rdata in the rdataset (if any).

Requires:

Returns:

Definition at line 277 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdataset::methods, dns_rdatasetmethods::next, and REQUIRE.

Referenced by better_param(), check_address_records(), check_ds(), check_for_more_data(), check_nsec3param(), checkkey(), checknamessection(), checkns(), copy_name(), copy_ptr_targets(), copy_rdataset(), del_keysigs(), del_sig(), del_sigs(), delete(), delete_keydata(), delete_nsec(), deletematchingnsec3(), detailsection(), dlv_algorithm_supported(), dlv_validatezonekey(), dns_db_getsoaserial(), dns_dns64_aaaaok(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_dnssec_signs(), dns_message_checksig(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_ncache_towire(), dns_nsec3_activex(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3param_deletechains(), dns_nsec_nseconly(), dns_private_chains(), dns_rdataset_additionaldata(), dns_rdataslab_fromrdataset(), dns_root_checkhints(), dns_rriterator_next(), dump_rdataset_raw(), fctx_getaddresses(), fill_array(), find_nsec3(), findnoqname(), fixup_nsec3param(), followup_lookup(), foreach_node_rr_action(), foreach_rr(), get_current_rr(), get_dst_key(), get_iterations(), get_key(), get_name_diff(), goodsig(), ignore(), import_rdataset(), in_rootns(), innsec3params(), inrrset(), integrity_checks(), is_answeraddress_allowed(), isdelegation(), isselfsigned(), iszonesecure(), keydone(), keyfetch_done(), keyfromds(), load_secroots(), loadds(), main(), mark_active_keys(), match_nsec3(), matchkey(), minimal_update(), mkey_dumpzone(), ncache_summary(), need_nsec_chain(), notify_createmessage(), ns_server_signing(), ns_xfr_start(), nsec3clean(), printsection(), process_dhtkey(), query_dns64(), query_filter64(), query_find(), rdataset_to_sortedarray(), rdataset_totext(), record_found(), redirect(), redirect2(), resolveaddr_done(), resume_addnsec3chain(), resume_signingwithkey(), revocable(), rpz_ck_dnssec(), rpz_rewrite(), rpz_rewrite_ip_rrset(), rr_exists(), rrset_cleanup(), rrsig_fromchildzone(), save_nsec3param(), save_nsrrset(), setresign(), short_answer(), signed_with_alg(), signed_with_key(), signset(), temp_check(), towiresorted(), updatesignwithkey(), val_rdataset_next(), validate(), validate_ncache(), validatezonekey(), verifynsec(), verifynsec3s(), verifyset(), verifyzone(), warnifallksk(), xfrin_recv_done(), zone_check_dnskeys(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), zone_refreshkeys(), and zone_rrset_check_dup().

void dns_rdataset_current ( dns_rdataset_t rdataset,
dns_rdata_t rdata 
)

Make 'rdata' refer to the current rdata.

Notes:

Requires: Ensures:

Definition at line 290 of file rdataset.c.

References dns_rdatasetmethods::current, DNS_RDATASET_VALID, dns_rdataset::methods, and REQUIRE.

Referenced by better_param(), chase_cnamechain(), check_address_records(), check_ds(), check_for_more_data(), check_nsec3param(), check_tsig_error(), checkandaddsoa(), checkkey(), checknamessection(), checkns(), client_resfind(), cname_target(), copy_name(), copy_ptr_targets(), copy_rdataset(), del_keysigs(), del_sig(), del_sigs(), delete(), delete_keydata(), delete_nsec(), deletematchingnsec3(), detailsection(), dlv_algorithm_supported(), dlv_validatezonekey(), dname_target(), dns64_ttl(), dns_db_createsoatuple(), dns_db_getsoaserial(), dns_dns64_aaaaok(), dns_dnssec_findzonekeys2(), dns_dnssec_keylistfromrdataset(), dns_dnssec_signs(), dns_dnssec_verifymessage(), dns_message_checksig(), dns_message_getquerytsig(), dns_message_pseudosectiontotext(), dns_message_setopt(), dns_message_signer(), dns_ncache_current(), dns_ncache_getrdataset(), dns_ncache_getsigrdataset(), dns_ncache_towire(), dns_nsec3_activex(), dns_nsec3_addnsec3s(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3sx(), dns_nsec3_maxiterations(), dns_nsec3_noexistnodata(), dns_nsec3param_deletechains(), dns_nsec_noexistnodata(), dns_nsec_nseconly(), dns_private_chains(), dns_rdataset_additionaldata(), dns_rdataslab_fromrdataset(), dns_root_checkhints(), dns_rpz_decode_cname(), dns_rriterator_current(), dns_tkey_processdhresponse(), dns_tkey_processquery(), dns_tsig_sign(), dns_tsig_verify(), dns_update_signaturesinc(), dns_zone_notifyreceive(), dump_rdataset_raw(), fctx_getaddresses(), fill_array(), find_nsec3(), find_tkey(), findnoqname(), fixup_nsec3param(), followup_lookup(), foreach_node_rr_action(), foreach_rr(), get_current_rr(), get_dst_key(), get_edns_expire(), get_iterations(), get_key(), get_name_diff(), get_soa_ttls(), goodsig(), ignore(), import_rdataset(), in_rootns(), innsec3params(), inrrset(), integrity_checks(), is_answeraddress_allowed(), isdelegation(), isoptout(), isselfsigned(), iszonesecure(), keydone(), keyfetch_done(), keyfromds(), load_secroots(), loadds(), lookup_find(), main(), mark_active_keys(), match_nsec3(), matchkey(), minimal_update(), mkey_dumpzone(), ncache_summary(), need_nsec_chain(), notify_createmessage(), ns_server_signing(), ns_xfr_start(), nsec3clean(), printsection(), process_dhtkey(), process_opt(), process_soa(), query_addnxrrsetnsec(), query_addsoa(), query_addwildcardproof(), query_dns64(), query_filter64(), query_find(), query_findclosestnsec3(), rdataset_to_sortedarray(), rdataset_totext(), record_found(), recvsoa(), refresh_callback(), refresh_time(), resolveaddr_done(), resume_addnsec3chain(), resume_signingwithkey(), revocable(), rpz_rewrite(), rpz_rewrite_ip_rrset(), rr_exists(), rrset_cleanup(), rrsig_fromchildzone(), save_nsec3param(), save_nsrrset(), set_nsec3params(), set_target(), setresign(), setsoaserial(), short_answer(), signed_with_alg(), signed_with_key(), signset(), temp_check(), towiresorted(), tsig_verify_tcp(), updatesignwithkey(), validate(), validate_authority(), validate_ncache(), validatezonekey(), verifynsec(), verifynsec3s(), verifyset(), verifyzone(), view_find(), warn_rfc1918(), warnifallksk(), xfrin_recv_done(), zone_check_dnskeys(), zone_count_ns_rr(), zone_load_soa_rr(), zone_notify(), zone_refreshkeys(), and zone_rrset_check_dup().

isc_result_t dns_rdataset_totext ( dns_rdataset_t rdataset,
dns_name_t owner_name,
isc_boolean_t  omit_final_dot,
isc_boolean_t  question,
isc_buffer_t target 
)

Convert 'rdataset' to text format, storing the result in 'target'.

Notes:

Requires:

Definition at line 705 of file masterdump.c.

References dns_master_style_debug, dns_name_countlabels(), ISC_R_SUCCESS, ISC_R_UNEXPECTED, question_totext(), rdataset_totext(), totext_ctx_init(), and UNEXPECTED_ERROR.

Referenced by add_callback(), dns_diff_print(), log_rr(), printrdata(), and printsection().

isc_result_t dns_rdataset_towire ( dns_rdataset_t rdataset,
dns_name_t owner_name,
dns_compress_t cctx,
isc_buffer_t target,
unsigned int  options,
unsigned int *  countp 
)

Convert 'rdataset' to wire format, compressing names as specified in 'cctx', and storing the result in 'target'.

Notes:

Requires: Ensures: Returns:

Definition at line 603 of file rdataset.c.

References ISC_FALSE, and towiresorted().

Referenced by dns_message_renderend().

isc_result_t dns_rdataset_towiresorted ( dns_rdataset_t rdataset,
const dns_name_t owner_name,
dns_compress_t cctx,
isc_buffer_t target,
dns_rdatasetorderfunc_t  order,
const void *  order_arg,
unsigned int  options,
unsigned int *  countp 
)

Like dns_rdataset_towire(), but sorting the rdatasets according to the integer value returned by 'order' when called with the rdataset and 'order_arg' as arguments.

Requires:

Definition at line 571 of file rdataset.c.

References ISC_FALSE, and towiresorted().

Referenced by dns_message_rendersection().

isc_result_t dns_rdataset_towirepartial ( dns_rdataset_t rdataset,
const dns_name_t owner_name,
dns_compress_t cctx,
isc_buffer_t target,
dns_rdatasetorderfunc_t  order,
const void *  order_arg,
unsigned int  options,
unsigned int *  countp,
void **  state 
)

Like dns_rdataset_towiresorted() except that a partial rdataset may be written.

Requires:

Returns:

Definition at line 586 of file rdataset.c.

References ISC_TRUE, REQUIRE, and towiresorted().

Referenced by dns_message_rendersection().

isc_result_t dns_rdataset_additionaldata ( dns_rdataset_t rdataset,
dns_additionaldatafunc_t  add,
void *  arg 
)

For each rdata in rdataset, call 'add' for each name and type in the rdata which is subject to additional section processing.

Requires:

Ensures:

Returns:

Definition at line 615 of file rdataset.c.

References dns_rdataset::attributes, dns_rdata_additionaldata(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), DNS_RDATASET_VALID, DNS_RDATASETATTR_QUESTION, ISC_R_NOMORE, ISC_R_SUCCESS, towire_sort::rdata, and REQUIRE.

Referenced by answer_response(), chase_additional(), noanswer_response(), query_addadditional(), and query_addrdataset().

isc_result_t dns_rdataset_getnoqname ( dns_rdataset_t rdataset,
dns_name_t name,
dns_rdataset_t neg,
dns_rdataset_t negsig 
)

Return the noqname proof for this record.

Requires:

Definition at line 658 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::getnoqname, ISC_R_NOTIMPLEMENTED, dns_rdataset::methods, and REQUIRE.

Referenced by addnoqname(), and query_addnoqnameproof().

isc_result_t dns_rdataset_addnoqname ( dns_rdataset_t rdataset,
dns_name_t name 
)

Associate a noqname proof with this record. Sets DNS_RDATASETATTR_NOQNAME if successful. Adjusts the 'rdataset->ttl' to minimum of the 'rdataset->ttl' and the 'nsec'/'nsec3' and 'rrsig(nsec)'/'rrsig(nsec3)' ttl.

Requires:

Definition at line 648 of file rdataset.c.

References dns_rdatasetmethods::addnoqname, DNS_RDATASET_VALID, ISC_R_NOTIMPLEMENTED, dns_rdataset::methods, and REQUIRE.

Referenced by cache_name().

isc_result_t dns_rdataset_getclosest ( dns_rdataset_t rdataset,
dns_name_t name,
dns_rdataset_t nsec,
dns_rdataset_t nsecsig 
)

Return the closest encloser for this record.

Requires:

Definition at line 680 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::getclosest, ISC_R_NOTIMPLEMENTED, dns_rdataset::methods, and REQUIRE.

Referenced by addclosest(), and query_addnoqnameproof().

isc_result_t dns_rdataset_addclosest ( dns_rdataset_t rdataset,
dns_name_t name 
)

Associate a closest encloset proof with this record. Sets DNS_RDATASETATTR_CLOSEST if successful. Adjusts the 'rdataset->ttl' to minimum of the 'rdataset->ttl' and the 'nsec' and 'rrsig(nsec)' ttl.

Requires:

Definition at line 670 of file rdataset.c.

References dns_rdatasetmethods::addclosest, DNS_RDATASET_VALID, ISC_R_NOTIMPLEMENTED, dns_rdataset::methods, and REQUIRE.

isc_result_t dns_rdataset_getadditional ( dns_rdataset_t rdataset,
dns_rdatasetadditional_t  type,
dns_rdatatype_t  qtype,
dns_acache_t acache,
dns_zone_t **  zonep,
dns_db_t **  dbp,
dns_dbversion_t **  versionp,
dns_dbnode_t **  nodep,
dns_name_t fname,
dns_message_t msg,
isc_stdtime_t  now 
)

Get cached additional information from the DB node for a particular 'rdataset.' 'type' is one of dns_rdatasetadditional_fromauth, dns_rdatasetadditional_fromcache, and dns_rdatasetadditional_fromglue, which specifies the origin of the information. 'qtype' is intended to be used for specifying a particular rdata type in the cached information.

Requires:

Ensures: Returns:

Definition at line 695 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::getadditional, ISC_R_FAILURE, dns_rdataset::methods, and REQUIRE.

Referenced by query_addadditional2().

isc_result_t dns_rdataset_setadditional ( dns_rdataset_t rdataset,
dns_rdatasetadditional_t  type,
dns_rdatatype_t  qtype,
dns_acache_t acache,
dns_zone_t zone,
dns_db_t db,
dns_dbversion_t version,
dns_dbnode_t node,
dns_name_t fname 
)

Set cached additional information to the DB node for a particular 'rdataset.' See dns_rdataset_getadditional for the semantics of 'type' and 'qtype'.

Requires:

Ensures: Returns:

Definition at line 728 of file rdataset.c.

References DNS_RDATASET_VALID, ISC_R_FAILURE, dns_rdataset::methods, REQUIRE, and dns_rdatasetmethods::setadditional.

Referenced by query_addadditional2().

isc_result_t dns_rdataset_putadditional ( dns_acache_t acache,
dns_rdataset_t rdataset,
dns_rdatasetadditional_t  type,
dns_rdatatype_t  qtype 
)

Discard cached additional information stored in the DB node for a particular 'rdataset.' See dns_rdataset_getadditional for the semantics of 'type' and 'qtype'.

Requires:

Ensures: Returns:

Definition at line 752 of file rdataset.c.

References DNS_RDATASET_VALID, ISC_R_FAILURE, dns_rdataset::methods, dns_rdatasetmethods::putadditional, and REQUIRE.

Referenced by query_discardcache().

void dns_rdataset_settrust ( dns_rdataset_t rdataset,
dns_trust_t  trust 
)

Set the trust of the 'rdataset' to trust in any in the backing database. The local trust level of 'rdataset' is also set.

Definition at line 769 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdataset::methods, REQUIRE, dns_rdatasetmethods::settrust, and dns_rdataset::trust.

Referenced by markanswer(), and marksecure().

void dns_rdataset_expire ( dns_rdataset_t rdataset  ) 

Mark the rdataset to be expired in the backing database.

Definition at line 780 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::expire, dns_rdataset::methods, and REQUIRE.

Referenced by cnamevalidated(), dlvvalidated(), dsvalidated(), and keyvalidated().

void dns_rdataset_clearprefetch ( dns_rdataset_t rdataset  ) 

Clear the PREFETCH attribute for the given rdataset in the underlying database.

In the cache database, this signals that the rdataset is not eligible to be prefetched when the TTL is close to expiring. It has no function in other databases.

Definition at line 789 of file rdataset.c.

References dns_rdatasetmethods::clearprefetch, DNS_RDATASET_VALID, dns_rdataset::methods, and REQUIRE.

Referenced by query_prefetch().

void dns_rdataset_setownercase ( dns_rdataset_t rdataset,
const dns_name_t name 
)

Store the casing of 'name', the owner name of 'rdataset', into a bitfield so that the name can be capitalized the same when when the rdataset is used later. This sets the CASESET attribute.

Definition at line 798 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdataset::methods, REQUIRE, and dns_rdatasetmethods::setownercase.

Referenced by checkandaddsoa(), getsection(), query_add_cname(), query_dns64(), query_filter64(), and setownercase().

void dns_rdataset_getownercase ( const dns_rdataset_t rdataset,
dns_name_t name 
)

If the CASESET attribute is set, retrieve the case bitfield that was previously stored by dns_rdataset_getownername(), and capitalize 'name' according to it. If CASESET is not set, do nothing.

Definition at line 807 of file rdataset.c.

References DNS_RDATASET_VALID, dns_rdatasetmethods::getownercase, dns_rdataset::methods, and REQUIRE.

Referenced by addrdataset(), checkandaddsoa(), dns_db_createsoatuple(), dns_rriterator_first(), dns_rriterator_nextrrset(), foreach_rr(), getownercase(), rdataset_totext(), and towiresorted().

void dns_rdataset_trimttl ( dns_rdataset_t rdataset,
dns_rdataset_t sigrdataset,
dns_rdata_rrsig_t *  rrsig,
isc_stdtime_t  now,
isc_boolean_t  acceptexpired 
)

Trim the ttl of 'rdataset' and 'sigrdataset' so that they will expire at or before 'rrsig->expiretime'. If 'acceptexpired' is true and the signature has expired or will expire in the next 120 seconds, limit the ttl to be no more than 120 seconds.

The ttl is further limited by the original ttl as stored in 'rrsig' and the original ttl values of 'rdataset' and 'sigrdataset'.

Requires:

Definition at line 816 of file rdataset.c.

References DNS_RDATASET_VALID, ISC_MIN, isc_serial_ge(), isc_serial_le(), REQUIRE, dns_rdataset::ttl, and ttl.

Referenced by ATF_TC_BODY(), mark_secure(), and validate().

const char* dns_trust_totext ( dns_trust_t  trust  ) 

Display trust in textual form.

Definition at line 53 of file rdataset.c.

References trustnames.

Referenced by cnamevalidated(), dlvvalidated(), dsfetched(), dsvalidated(), dump_rdatasets_text(), fetch_callback_validator(), get_key(), keyvalidated(), and view_find().


Generated on Tue Apr 28 17:41:10 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha