Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e3a718fcad37ff363f65d6a6e994e272 > files > 68

ldns-devel-1.6.12-1.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type"
content="text/html;charset=iso-8859-1">
<title>ldns documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div class="logo">
<img src="LogoInGradientBar2-y100.png"/>
</div>
<!-- Generated by Doxygen 1.7.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dnssec.c File Reference</div>  </div>
</div>
<div class="contents">

<p><a href="dnssec_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a52a865495fbba2c612ac4eebce4a2d24">ldns_dnssec_get_rrsig_for_name_and_type</a> (const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *name, const <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> type, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first RRSIG rr that corresponds to the rrset with the given name and type.  <a href="#a52a865495fbba2c612ac4eebce4a2d24"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a49756b6a7126033cd426d757643e7398">ldns_dnssec_get_dnskey_for_rrsig</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the DNSKEY that corresponds to the given RRSIG rr from the list, if any.  <a href="#a49756b6a7126033cd426d757643e7398"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a259d9689fcc1560d4085f44ab8151654">ldns_nsec_get_bitmap</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the rdata field that contains the bitmap of the covered types of the given NSEC record.  <a href="#a259d9689fcc1560d4085f44ab8151654"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a95f42eec7fdbf06c1683033eab6334f2">ldns_dnssec_nsec3_closest_encloser</a> (<a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *qname, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> qtype __attribute__((unused)), <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *nsec3s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a33f64fecc8522504169629bf8dd79d5a">ldns_dnssec_pkt_has_rrsigs</a> (const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *pkt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the packet contains rrsigs.  <a href="#a33f64fecc8522504169629bf8dd79d5a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a5644e8426fded2e1c57ef6f643399219">ldns_dnssec_pkt_get_rrsigs_for_name_and_type</a> (const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *pkt, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *name, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a ldns_rr_list containing the signatures covering the given name and type.  <a href="#a5644e8426fded2e1c57ef6f643399219"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ad03207fb98d700dba5b9433c692145d3">ldns_dnssec_pkt_get_rrsigs_for_type</a> (const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *pkt, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a ldns_rr_list containing the signatures covering the given type.  <a href="#ad03207fb98d700dba5b9433c692145d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a7cf8c4687caff6153a61052c5523e7ab">ldns_calc_keytag</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates a keytag of a key for use in DNSSEC.  <a href="#a7cf8c4687caff6153a61052c5523e7ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ace2d1cad66229876b3cec66db12f30f4">ldns_calc_keytag_raw</a> (uint8_t *key, size_t keysize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates keytag of DNSSEC key, operates on wireformat rdata.  <a href="#ace2d1cad66229876b3cec66db12f30f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#adbaf1b9197285c071a959f87ed8fb17d">ldns_key_buf2dsa</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">converts a buffer holding key material to a DSA key in openssl.  <a href="#adbaf1b9197285c071a959f87ed8fb17d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a5f90e74b05b4cdf65d11c17e5c887b30">ldns_key_buf2dsa_raw</a> (unsigned char *key, size_t len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_key_buf2dsa, but uses raw buffer.  <a href="#a5f90e74b05b4cdf65d11c17e5c887b30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aeafba65095aa59f1ba109591701949c5">ldns_key_buf2rsa</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">converts a buffer holding key material to a RSA key in openssl.  <a href="#aeafba65095aa59f1ba109591701949c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a37eb5a2d4b58a903884222cdabe56a76">ldns_key_buf2rsa_raw</a> (unsigned char *key, size_t len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_key_buf2rsa, but uses raw buffer.  <a href="#a37eb5a2d4b58a903884222cdabe56a76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a9483392f157e2ab100459c685eb7ea95">ldns_digest_evp</a> (unsigned char *data, unsigned int len, unsigned char *dest, const EVP_MD *md)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to calculate hash using generic EVP_MD pointer.  <a href="#a9483392f157e2ab100459c685eb7ea95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#acf9bb930301fbc1a2724321a7f2c8d90">ldns_key_rr2ds</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *key, <a class="el" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">ldns_hash</a> h)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a new DS rr that represents the given key rr.  <a href="#acf9bb930301fbc1a2724321a7f2c8d90"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aa303ec9b0723ed4b954f1a2ff99a226a">ldns_dnssec_create_nsec_bitmap</a> (<a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> rr_type_list[], size_t size, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> nsec_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the type bitmap for an NSEC(3) record.  <a href="#aa303ec9b0723ed4b954f1a2ff99a226a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aba8ade9eed84d1a95eab95622587a0b4">ldns_dnssec_rrsets_contains_type</a> (<a class="el" href="structldns__struct__dnssec__rrsets.html">ldns_dnssec_rrsets</a> *rrsets, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether a rrset of the given type is found in the rrsets.  <a href="#aba8ade9eed84d1a95eab95622587a0b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ae6fa0e94ef20702415ce458afc041f32">ldns_dnssec_create_nsec</a> (<a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *from, <a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *to, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> nsec_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates NSEC.  <a href="#ae6fa0e94ef20702415ce458afc041f32"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a91a04e82a9a91edf77c5eb736921bbbb">ldns_dnssec_create_nsec3</a> (<a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *from, <a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *to, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *zone_name, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates NSEC3.  <a href="#a91a04e82a9a91edf77c5eb736921bbbb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a9085186405931df151e3eac5d33292fb">ldns_create_nsec</a> (<a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *cur_owner, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *next_owner, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a NSEC record.  <a href="#a9085186405931df151e3eac5d33292fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aa516dac9f07ce8b5734b9dfd19376cae">ldns_nsec3_hash_name</a> (<a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *name, uint8_t algorithm, uint16_t iterations, uint8_t salt_length, uint8_t *salt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the hashed name using the given parameters.  <a href="#aa516dac9f07ce8b5734b9dfd19376cae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a32e7e1f34ec0a19c6d20997bd4191b61">ldns_nsec3_add_param_rdfs</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets all the NSEC3 options.  <a href="#a32e7e1f34ec0a19c6d20997bd4191b61"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a4f2743c769d775eb5b6448286621da0c">ldns_create_nsec3</a> (<a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *cur_owner, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *cur_zone, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrs, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt, bool emptynonterminal)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ac3466657ba6e849ddcf44547729b7654">ldns_nsec3_algorithm</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the hash algorithm used in the given NSEC3 RR.  <a href="#ac3466657ba6e849ddcf44547729b7654"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a8095ff0b971736da0fac9f09ed4a70e2">ldns_nsec3_flags</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns flags field.  <a href="#a8095ff0b971736da0fac9f09ed4a70e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aa0afddc06606bb7b2cf5a01498a75f74">ldns_nsec3_optout</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the opt-out flag has been set in the given NSEC3 RR.  <a href="#aa0afddc06606bb7b2cf5a01498a75f74"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a30ee21fd35125587a36cfddab232af60">ldns_nsec3_iterations</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of hash iterations used in the given NSEC3 RR.  <a href="#a30ee21fd35125587a36cfddab232af60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ad51179f10589890c3d774cc20f253bc2">ldns_nsec3_salt</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the salt used in the given NSEC3 RR.  <a href="#ad51179f10589890c3d774cc20f253bc2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a7fa2f6a7ad9c4c69a3705e2fa3065556">ldns_nsec3_salt_length</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of the salt used in the given NSEC3 RR.  <a href="#a7fa2f6a7ad9c4c69a3705e2fa3065556"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a96ef18b4efc39b04aba2df85a272b958">ldns_nsec3_salt_data</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the salt bytes used in the given NSEC3 RR.  <a href="#a96ef18b4efc39b04aba2df85a272b958"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ad1eecc66294a1195664dd1ba195a57b0">ldns_nsec3_next_owner</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first label of the next ownername in the NSEC3 chain (ie.  <a href="#ad1eecc66294a1195664dd1ba195a57b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ac60cd95b31e771323d711d404c917167">ldns_nsec3_bitmap</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec3_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the bitmap specifying the covered types of the given NSEC3 RR.  <a href="#ac60cd95b31e771323d711d404c917167"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#acac169a05f307efe9226b872904f644e">ldns_nsec3_hash_name_frm_nsec3</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the hashed name using the parameters of the given NSEC3 RR.  <a href="#acac169a05f307efe9226b872904f644e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ab60bf88f5cc38b9d8a8e052ce5c33fde">ldns_nsec_bitmap_covers_type</a> (const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *nsec_bitmap, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks coverage of NSEC RR type bitmap.  <a href="#ab60bf88f5cc38b9d8a8e052ce5c33fde"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ae580eb88c6a29558c572e097890099dc">ldns_nsec_covers_name</a> (const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *nsec, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks coverage of NSEC(3) RR name span Remember that nsec and name must both be in canonical form (ie use <a class="el" href="rr_8h.html#a6e26228733c74b4fb7aacc985a350519">ldns_rr2canonical</a> and <a class="el" href="dname_8h.html#aab93b3e88152119737f42d624fd34795">ldns_dname2canonical</a> prior to calling this function)  <a href="#ae580eb88c6a29558c572e097890099dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#af145cf7773677c0fffe56f5df5106c76">ldns_pkt_verify_time</a> (<a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *p, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> t, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *o, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *k, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *s, time_t check_time, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verify a packet  <a href="#af145cf7773677c0fffe56f5df5106c76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a0ee15f04de7f380ca19326fc7851c444">ldns_pkt_verify</a> (<a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *p, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> t, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *o, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *k, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *s, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verify a packet  <a href="#a0ee15f04de7f380ca19326fc7851c444"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ad00a2e53f01e8ae1c08402fc80dff757">ldns_dnssec_chain_nsec3_list</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *nsec3_rrs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">chains nsec3 list  <a href="#ad00a2e53f01e8ae1c08402fc80dff757"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ae641000a4b7f8c7229e1d3ece8067f39">qsort_rr_compare_nsec3</a> (const void *a, const void *b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">compare for nsec3 sort  <a href="#ae641000a4b7f8c7229e1d3ece8067f39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a411a6000cc312ebf353ab0e302b97aec">ldns_rr_list_sort_nsec3</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *unsorted)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">sort nsec3 list  <a href="#a411a6000cc312ebf353ab0e302b97aec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ada58948f5d105d7817ea47608e974d78">ldns_dnssec_default_add_to_signatures</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *sig, void *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default callback function to always leave present signatures, and add new ones.  <a href="#ada58948f5d105d7817ea47608e974d78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a8a5934ffbbfb621c63ba8bb841229808">ldns_dnssec_default_leave_signatures</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *sig, void *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default callback function to always leave present signatures, and add no new ones for the keys of these signatures.  <a href="#a8a5934ffbbfb621c63ba8bb841229808"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ac7efa063ce39cf4791dd30a4b41ab14c">ldns_dnssec_default_delete_signatures</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *sig, void *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default callback function to always remove present signatures, but add no new ones.  <a href="#ac7efa063ce39cf4791dd30a4b41ab14c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#aa20001e7098d4be9f24baf56a8761410">ldns_dnssec_default_replace_signatures</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *sig, void *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default callback function to always leave present signatures, and add new ones.  <a href="#aa20001e7098d4be9f24baf56a8761410"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#a4634cf53a0db48001bbbbdd17cc19776">ldns_convert_dsa_rrsig_asn12rdf</a> (const <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *sig, const long sig_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts the DSA signature from ASN1 representation (RFC2459, as used by OpenSSL) to raw signature data as used in DNS (rfc2536)  <a href="#a4634cf53a0db48001bbbbdd17cc19776"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec_8c.html#ab108d2e53a4c50960af11f999a8ba546">ldns_convert_dsa_rrsig_rdf2asn1</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *target_buffer, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *sig_rdf)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts the RRSIG signature RDF (in rfc2536 format) to a buffer with the signature in rfc2459 format.  <a href="#ab108d2e53a4c50960af11f999a8ba546"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a52a865495fbba2c612ac4eebce4a2d24"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_get_rrsig_for_name_and_type" ref="a52a865495fbba2c612ac4eebce4a2d24" args="(const ldns_rdf *name, const ldns_rr_type type, const ldns_rr_list *rrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_dnssec_get_rrsig_for_name_and_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the first RRSIG rr that corresponds to the rrset with the given name and type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The dname of the RRset covered by the RRSIG to find </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type of the RRset covered by the RRSIG to find </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrs</td><td>List of rrs to search in </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the first RRsig ldns_rr found, or NULL if it is not present </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00029">29</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="rr_8c_source.html#l02387">ldns_rdf2rr_type()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr__functions_8c_source.html#l00111">ldns_rr_rrsig_typecovered()</a>, and <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>.</p>

</div>
</div>
<a class="anchor" id="a49756b6a7126033cd426d757643e7398"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_get_dnskey_for_rrsig" ref="a49756b6a7126033cd426d757643e7398" args="(const ldns_rr *rrsig, const ldns_rr_list *rrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_dnssec_get_dnskey_for_rrsig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the DNSKEY that corresponds to the given RRSIG rr from the list, if any. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>The rrsig to find the DNSKEY for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrs</td><td>The rr list to find the key in </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The DNSKEY that corresponds to the given RRSIG, or NULL if it was not found. </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00057">57</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="rdata_8c_source.html#l00084">ldns_rdf2native_int16()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr__functions_8c_source.html#l00183">ldns_rr_rrsig_keytag()</a>, <a class="el" href="rr__functions_8c_source.html#l00195">ldns_rr_rrsig_signame()</a>, and <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>.</p>

</div>
</div>
<a class="anchor" id="a259d9689fcc1560d4085f44ab8151654"></a><!-- doxytag: member="dnssec.c::ldns_nsec_get_bitmap" ref="a259d9689fcc1560d4085f44ab8151654" args="(ldns_rr *nsec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec_get_bitmap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the rdata field that contains the bitmap of the covered types of the given NSEC record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nsec</td><td>The nsec to get the covered type bitmap of </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An ldns_rdf containing the bitmap, or NULL on error </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00084">84</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, and <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>.</p>

</div>
</div>
<a class="anchor" id="a95f42eec7fdbf06c1683033eab6334f2"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_nsec3_closest_encloser" ref="a95f42eec7fdbf06c1683033eab6334f2" args="(ldns_rdf *qname, ldns_rr_type qtype __attribute__((unused)), ldns_rr_list *nsec3s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_dnssec_nsec3_closest_encloser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>qname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> qtype &#160;</td>
          <td class="paramname"><em>__attribute__</em>(unused), </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>nsec3s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00097">97</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dname_8c_source.html#l00196">ldns_dname_label_count()</a>, <a class="el" href="dname_8c_source.html#l00171">ldns_dname_left_chop()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="dnssec_8c_source.html#l01210">ldns_nsec3_algorithm()</a>, <a class="el" href="dnssec_8c_source.html#l00967">ldns_nsec3_hash_name()</a>, <a class="el" href="dnssec_8c_source.html#l01242">ldns_nsec3_iterations()</a>, <a class="el" href="dnssec_8c_source.html#l01279">ldns_nsec3_salt_data()</a>, <a class="el" href="dnssec_8c_source.html#l01268">ldns_nsec3_salt_length()</a>, <a class="el" href="dnssec_8c_source.html#l01374">ldns_nsec_covers_name()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="a33f64fecc8522504169629bf8dd79d5a"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_pkt_has_rrsigs" ref="a33f64fecc8522504169629bf8dd79d5a" args="(const ldns_pkt *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_dnssec_pkt_has_rrsigs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the packet contains rrsigs. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00199">199</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="packet_8c_source.html#l00105">ldns_pkt_ancount()</a>, <a class="el" href="packet_8c_source.html#l00129">ldns_pkt_answer()</a>, <a class="el" href="packet_8c_source.html#l00135">ldns_pkt_authority()</a>, <a class="el" href="packet_8c_source.html#l00111">ldns_pkt_nscount()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, and <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>.</p>

</div>
</div>
<a class="anchor" id="a5644e8426fded2e1c57ef6f643399219"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_pkt_get_rrsigs_for_name_and_type" ref="a5644e8426fded2e1c57ef6f643399219" args="(const ldns_pkt *pkt, ldns_rdf *name, ldns_rr_type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_dnssec_pkt_get_rrsigs_for_name_and_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a ldns_rr_list containing the signatures covering the given name and type. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00218">218</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="packet_8c_source.html#l00320">ldns_pkt_rr_list_by_name_and_type()</a>, <a class="el" href="rdata_8c_source.html#l00241">ldns_rdf_free()</a>, <a class="el" href="rdata_8c_source.html#l00179">ldns_rdf_new()</a>, <a class="el" href="rdata_8h_source.html#l00034">LDNS_RDF_SIZE_WORD</a>, <a class="el" href="rdata_8h_source.html#l00073">LDNS_RDF_TYPE_TYPE</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l01028">ldns_rr_list_subtype_by_rdf()</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, and <a class="el" href="packet_8h_source.html#l00280">LDNS_SECTION_ANY_NOQUESTION</a>.</p>

</div>
</div>
<a class="anchor" id="ad03207fb98d700dba5b9433c692145d3"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_pkt_get_rrsigs_for_type" ref="ad03207fb98d700dba5b9433c692145d3" args="(const ldns_pkt *pkt, ldns_rr_type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_dnssec_pkt_get_rrsigs_for_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a ldns_rr_list containing the signatures covering the given type. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00245">245</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="packet_8c_source.html#l00284">ldns_pkt_rr_list_by_type()</a>, <a class="el" href="rdata_8c_source.html#l00241">ldns_rdf_free()</a>, <a class="el" href="rdata_8c_source.html#l00179">ldns_rdf_new()</a>, <a class="el" href="rdata_8h_source.html#l00073">LDNS_RDF_TYPE_TYPE</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l01028">ldns_rr_list_subtype_by_rdf()</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, and <a class="el" href="packet_8h_source.html#l00280">LDNS_SECTION_ANY_NOQUESTION</a>.</p>

</div>
</div>
<a class="anchor" id="a7cf8c4687caff6153a61052c5523e7ab"></a><!-- doxytag: member="dnssec.c::ldns_calc_keytag" ref="a7cf8c4687caff6153a61052c5523e7ab" args="(const ldns_rr *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ldns_calc_keytag </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>calculates a keytag of a key for use in DNSSEC. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key as an RR to use for the calc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the keytag </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00272">272</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00137">ldns_buffer_free()</a>, <a class="el" href="buffer_8c_source.html#l00016">ldns_buffer_new()</a>, <a class="el" href="dnssec_8c_source.html#l00302">ldns_calc_keytag_raw()</a>, <a class="el" href="buffer_8h_source.html#l00033">LDNS_MIN_BUFLEN</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="host2wire_8c_source.html#l00215">ldns_rr_rdata2buffer_wire()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, and <a class="el" href="rr_8h_source.html#l00131">LDNS_RR_TYPE_KEY</a>.</p>

</div>
</div>
<a class="anchor" id="ace2d1cad66229876b3cec66db12f30f4"></a><!-- doxytag: member="dnssec.c::ldns_calc_keytag_raw" ref="ace2d1cad66229876b3cec66db12f30f4" args="(uint8_t *key, size_t keysize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ldns_calc_keytag_raw </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keysize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates keytag of DNSSEC key, operates on wireformat rdata. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key as uncompressed wireformat rdata. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keysize</td><td>length of key data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the keytag </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00302">302</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00047">LDNS_RSAMD5</a>, and <a class="el" href="config_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a>.</p>

</div>
</div>
<a class="anchor" id="adbaf1b9197285c071a959f87ed8fb17d"></a><!-- doxytag: member="dnssec.c::ldns_key_buf2dsa" ref="adbaf1b9197285c071a959f87ed8fb17d" args="(ldns_buffer *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DSA* ldns_key_buf2dsa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>converts a buffer holding key material to a DSA key in openssl. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to convert </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a DSA * structure with the key material </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00331">331</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00338">ldns_key_buf2dsa_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a5f90e74b05b4cdf65d11c17e5c887b30"></a><!-- doxytag: member="dnssec.c::ldns_key_buf2dsa_raw" ref="a5f90e74b05b4cdf65d11c17e5c887b30" args="(unsigned char *key, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DSA* ldns_key_buf2dsa_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_key_buf2dsa, but uses raw buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the uncompressed wireformat of the key. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a DSA * structure with the key material </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00338">338</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

</div>
</div>
<a class="anchor" id="aeafba65095aa59f1ba109591701949c5"></a><!-- doxytag: member="dnssec.c::ldns_key_buf2rsa" ref="aeafba65095aa59f1ba109591701949c5" args="(ldns_buffer *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RSA* ldns_key_buf2rsa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>converts a buffer holding key material to a RSA key in openssl. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to convert </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a RSA * structure with the key material </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00390">390</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00397">ldns_key_buf2rsa_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a37eb5a2d4b58a903884222cdabe56a76"></a><!-- doxytag: member="dnssec.c::ldns_key_buf2rsa_raw" ref="a37eb5a2d4b58a903884222cdabe56a76" args="(unsigned char *key, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RSA* ldns_key_buf2rsa_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_key_buf2rsa, but uses raw buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the uncompressed wireformat of the key. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a RSA * structure with the key material </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00397">397</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="config_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a>.</p>

</div>
</div>
<a class="anchor" id="a9483392f157e2ab100459c685eb7ea95"></a><!-- doxytag: member="dnssec.c::ldns_digest_evp" ref="a9483392f157e2ab100459c685eb7ea95" args="(unsigned char *data, unsigned int len, unsigned char *dest, const EVP_MD *md)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_digest_evp </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const EVP_MD *&#160;</td>
          <td class="paramname"><em>md</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Utility function to calculate hash using generic EVP_MD pointer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the data to hash. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>length of data. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>the destination of the hash, must be large enough. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">md</td><td>the message digest to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if worked, false on failure. </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00456">456</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

</div>
</div>
<a class="anchor" id="acf9bb930301fbc1a2724321a7f2c8d90"></a><!-- doxytag: member="dnssec.c::ldns_key_rr2ds" ref="acf9bb930301fbc1a2724321a7f2c8d90" args="(const ldns_rr *key, ldns_hash h)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_key_rr2ds </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">ldns_hash</a>&#160;</td>
          <td class="paramname"><em>h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns a new DS rr that represents the given key rr. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*key</td><td>the key to convert </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>the hash to use LDNS_SHA1/LDNS_SHA256 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_rr* a new rr pointer to a DS </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00475">475</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00137">ldns_buffer_free()</a>, <a class="el" href="buffer_8c_source.html#l00016">ldns_buffer_new()</a>, <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="dnssec_8c_source.html#l00456">ldns_digest_evp()</a>, <a class="el" href="dname_8c_source.html#l00259">ldns_dname2canonical()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8h_source.html#l00076">LDNS_HASH_GOST</a>, <a class="el" href="keys_8h.html#a631eb1d2915d9c72cd12a0e44a549f45">ldns_key_EVP_load_gost_id()</a>, <a class="el" href="packet_8h_source.html#l00024">LDNS_MAX_PACKETLEN</a>, <a class="el" href="host2wire_8c_source.html#l00036">ldns_rdf2buffer_wire()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rdata_8c_source.html#l00193">ldns_rdf_new_frm_data()</a>, <a class="el" href="rdata_8h_source.html#l00069">LDNS_RDF_TYPE_HEX</a>, <a class="el" href="rdata_8h_source.html#l00053">LDNS_RDF_TYPE_INT16</a>, <a class="el" href="rdata_8h_source.html#l00051">LDNS_RDF_TYPE_INT8</a>, <a class="el" href="rr_8c_source.html#l00075">ldns_rr_free()</a>, <a class="el" href="rr_8c_source.html#l00879">ldns_rr_get_class()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00024">ldns_rr_new()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="host2wire_8c_source.html#l00215">ldns_rr_rdata2buffer_wire()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8c_source.html#l00764">ldns_rr_set_class()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00746">ldns_rr_set_ttl()</a>, <a class="el" href="rr_8c_source.html#l00758">ldns_rr_set_type()</a>, <a class="el" href="rr_8c_source.html#l00861">ldns_rr_ttl()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="sha1_8c_source.html#l00170">ldns_sha1()</a>, <a class="el" href="keys_8h_source.html#l00074">LDNS_SHA1</a>, <a class="el" href="sha1_8h_source.html#l00009">LDNS_SHA1_DIGEST_LENGTH</a>, <a class="el" href="sha2_8c_source.html#l00613">ldns_sha256()</a>, <a class="el" href="keys_8h_source.html#l00075">LDNS_SHA256</a>, <a class="el" href="sha2_8h_source.html#l00070">LDNS_SHA256_DIGEST_LENGTH</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="aa303ec9b0723ed4b954f1a2ff99a226a"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_create_nsec_bitmap" ref="aa303ec9b0723ed4b954f1a2ff99a226a" args="(ldns_rr_type rr_type_list[], size_t size, ldns_rr_type nsec_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_dnssec_create_nsec_bitmap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>rr_type_list</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>nsec_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create the type bitmap for an NSEC(3) record. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00658">658</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="rdata_8c_source.html#l00193">ldns_rdf_new_frm_data()</a>, <a class="el" href="rdata_8h_source.html#l00071">LDNS_RDF_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="util_8c_source.html#l00108">ldns_set_bit()</a>, <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>, and <a class="el" href="util_8h_source.html#l00057">LDNS_XREALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="aba8ade9eed84d1a95eab95622587a0b4"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_rrsets_contains_type" ref="aba8ade9eed84d1a95eab95622587a0b4" args="(ldns_dnssec_rrsets *rrsets, ldns_rr_type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_dnssec_rrsets_contains_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__dnssec__rrsets.html">ldns_dnssec_rrsets</a> *&#160;</td>
          <td class="paramname"><em>rrsets</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns whether a rrset of the given type is found in the rrsets. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsets</td><td>the rrsets to be tested </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>the type to test for </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>int 1 if the type was found, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00758">758</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec__zone_8h_source.html#l00038">ldns_struct_dnssec_rrsets::next</a>, and <a class="el" href="dnssec__zone_8h_source.html#l00036">ldns_struct_dnssec_rrsets::type</a>.</p>

</div>
</div>
<a class="anchor" id="ae6fa0e94ef20702415ce458afc041f32"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_create_nsec" ref="ae6fa0e94ef20702415ce458afc041f32" args="(ldns_dnssec_name *from, ldns_dnssec_name *to, ldns_rr_type nsec_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_dnssec_create_nsec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>nsec_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates NSEC. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00772">772</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00658">ldns_dnssec_create_nsec_bitmap()</a>, <a class="el" href="dnssec__zone_8c_source.html#l00405">ldns_dnssec_name_name()</a>, <a class="el" href="dnssec_8c_source.html#l00758">ldns_dnssec_rrsets_contains_type()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rr_8c_source.html#l00024">ldns_rr_new()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00758">ldns_rr_set_type()</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="rr_8h_source.html#l00085">LDNS_RR_TYPE_NS</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="rr_8h_source.html#l00093">LDNS_RR_TYPE_SOA</a>, <a class="el" href="dnssec__zone_8h_source.html#l00038">ldns_struct_dnssec_rrsets::next</a>, <a class="el" href="dnssec__zone_8h_source.html#l00064">ldns_struct_dnssec_name::rrsets</a>, and <a class="el" href="dnssec__zone_8h_source.html#l00036">ldns_struct_dnssec_rrsets::type</a>.</p>

</div>
</div>
<a class="anchor" id="a91a04e82a9a91edf77c5eb736921bbbb"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_create_nsec3" ref="a91a04e82a9a91edf77c5eb736921bbbb" args="(ldns_dnssec_name *from, ldns_dnssec_name *to, ldns_rdf *zone_name, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_dnssec_create_nsec3 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__dnssec__name.html">ldns_dnssec_name</a> *&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>zone_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algorithm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>iterations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>salt_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>salt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates NSEC3. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00826">826</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec__zone_8h_source.html#l00086">ldns_struct_dnssec_name::hashed_name</a>, <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dnssec_8c_source.html#l00658">ldns_dnssec_create_nsec_bitmap()</a>, <a class="el" href="dnssec__zone_8c_source.html#l00405">ldns_dnssec_name_name()</a>, <a class="el" href="dnssec_8c_source.html#l00758">ldns_dnssec_rrsets_contains_type()</a>, <a class="el" href="dnssec_8c_source.html#l01060">ldns_nsec3_add_param_rdfs()</a>, <a class="el" href="dnssec_8c_source.html#l00967">ldns_nsec3_hash_name()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rr_8c_source.html#l00075">ldns_rr_free()</a>, <a class="el" href="rr_8c_source.html#l00042">ldns_rr_new_frm_type()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00770">ldns_rr_set_rdf()</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="rr_8h_source.html#l00085">LDNS_RR_TYPE_NS</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="rr_8h_source.html#l00093">LDNS_RR_TYPE_SOA</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__zone_8h_source.html#l00038">ldns_struct_dnssec_rrsets::next</a>, <a class="el" href="dnssec__zone_8h_source.html#l00064">ldns_struct_dnssec_name::rrsets</a>, and <a class="el" href="dnssec__zone_8h_source.html#l00036">ldns_struct_dnssec_rrsets::type</a>.</p>

</div>
</div>
<a class="anchor" id="a9085186405931df151e3eac5d33292fb"></a><!-- doxytag: member="dnssec.c::ldns_create_nsec" ref="a9085186405931df151e3eac5d33292fb" args="(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_create_nsec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>cur_owner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>next_owner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a NSEC record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_owner</td><td>the current owner which should be taken as the starting point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">next_owner</td><td>the rrlist which the nsec rr should point to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrs</td><td>all rrs from the zone, to find all RR types of cur_owner in </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ldns_rr with the nsec record in it </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00917">917</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00658">ldns_dnssec_create_nsec_bitmap()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00569">ldns_rdf_compare()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00024">ldns_rr_new()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00758">ldns_rr_set_type()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, and <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>.</p>

</div>
</div>
<a class="anchor" id="aa516dac9f07ce8b5734b9dfd19376cae"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_hash_name" ref="aa516dac9f07ce8b5734b9dfd19376cae" args="(ldns_rdf *name, uint8_t algorithm, uint16_t iterations, uint8_t salt_length, uint8_t *salt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec3_hash_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algorithm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>iterations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>salt_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>salt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the hashed name using the given parameters. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*name</td><td>The owner name to calculate the hash for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">algorithm</td><td>The hash algorithm to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">iterations</td><td>The number of hash iterations to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">salt_length</td><td>The length of the salt in bytes </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">salt</td><td>The salt to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The hashed owner name rdf, without the domain name </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l00967">967</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8h.html#a1131c0b74b8b1d94d673aa222d0ef54b">ldns_b32_ntop_extended_hex()</a>, <a class="el" href="dname_8c_source.html#l00259">ldns_dname2canonical()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00038">ldns_rdf_data()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="host2str_8c_source.html#l02161">ldns_rdf_print()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="sha1_8c_source.html#l00170">ldns_sha1()</a>, <a class="el" href="keys_8h_source.html#l00074">LDNS_SHA1</a>, <a class="el" href="sha1_8h_source.html#l00009">LDNS_SHA1_DIGEST_LENGTH</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="str2host_8c_source.html#l00292">ldns_str2rdf_dname()</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a32e7e1f34ec0a19c6d20997bd4191b61"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_add_param_rdfs" ref="a32e7e1f34ec0a19c6d20997bd4191b61" args="(ldns_rr *rr, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_nsec3_add_param_rdfs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algorithm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>iterations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>salt_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>salt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets all the NSEC3 options. </p>
<p>The rr to set them in must be initialized with _new() and type LDNS_RR_TYPE_NSEC3 </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*rr</td><td>The RR to set the values in </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">algorithm</td><td>The NSEC3 hash algorithm </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>The flags field </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">iterations</td><td>The number of hash iterations </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">salt_length</td><td>The length of the salt in bytes </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">salt</td><td>The salt bytes </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01060">1060</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="rdata_8c_source.html#l00132">ldns_native2rdf_int16()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rdata_8c_source.html#l00193">ldns_rdf_new_frm_data()</a>, <a class="el" href="rdata_8h_source.html#l00053">LDNS_RDF_TYPE_INT16</a>, <a class="el" href="rdata_8h_source.html#l00051">LDNS_RDF_TYPE_INT8</a>, <a class="el" href="rdata_8h_source.html#l00105">LDNS_RDF_TYPE_NSEC3_SALT</a>, <a class="el" href="rr_8c_source.html#l00770">ldns_rr_set_rdf()</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a4f2743c769d775eb5b6448286621da0c"></a><!-- doxytag: member="dnssec.c::ldns_create_nsec3" ref="a4f2743c769d775eb5b6448286621da0c" args="(ldns_rdf *cur_owner, ldns_rdf *cur_zone, ldns_rr_list *rrs, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt, bool emptynonterminal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_create_nsec3 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>cur_owner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>cur_zone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algorithm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>iterations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>salt_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>salt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>emptynonterminal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01131">1131</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dnssec_8c_source.html#l00658">ldns_dnssec_create_nsec_bitmap()</a>, <a class="el" href="dnssec_8c_source.html#l01060">ldns_nsec3_add_param_rdfs()</a>, <a class="el" href="dnssec_8c_source.html#l00967">ldns_nsec3_hash_name()</a>, <a class="el" href="rdata_8c_source.html#l00569">ldns_rdf_compare()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00042">ldns_rr_new_frm_type()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00770">ldns_rr_set_rdf()</a>, <a class="el" href="rr_8c_source.html#l00758">ldns_rr_set_type()</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="rr_8h_source.html#l00093">LDNS_RR_TYPE_SOA</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="ac3466657ba6e849ddcf44547729b7654"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_algorithm" ref="ac3466657ba6e849ddcf44547729b7654" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ldns_nsec3_algorithm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the hash algorithm used in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The algorithm identifier, or 0 on error </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01210">1210</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rdata_8c_source.html#l00070">ldns_rdf2native_int8()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, and <a class="el" href="rr_8h_source.html#l00179">LDNS_RR_TYPE_NSEC3PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="a8095ff0b971736da0fac9f09ed4a70e2"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_flags" ref="a8095ff0b971736da0fac9f09ed4a70e2" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ldns_nsec3_flags </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns flags field. </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01223">1223</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rdata_8c_source.html#l00070">ldns_rdf2native_int8()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, and <a class="el" href="rr_8h_source.html#l00179">LDNS_RR_TYPE_NSEC3PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="aa0afddc06606bb7b2cf5a01498a75f74"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_optout" ref="aa0afddc06606bb7b2cf5a01498a75f74" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_nsec3_optout </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the opt-out flag has been set in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the RR has type NSEC3 and the opt-out bit has been set, false otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01236">1236</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l01223">ldns_nsec3_flags()</a>, and <a class="el" href="rdata_8h_source.html#l00039">LDNS_NSEC3_VARS_OPTOUT_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="a30ee21fd35125587a36cfddab232af60"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_iterations" ref="a30ee21fd35125587a36cfddab232af60" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ldns_nsec3_iterations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of hash iterations used in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of iterations </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01242">1242</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rdata_8c_source.html#l00084">ldns_rdf2native_int16()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, and <a class="el" href="rr_8h_source.html#l00179">LDNS_RR_TYPE_NSEC3PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="ad51179f10589890c3d774cc20f253bc2"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_salt" ref="ad51179f10589890c3d774cc20f253bc2" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec3_salt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the salt used in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The salt rdf, or NULL on error </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01256">1256</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, and <a class="el" href="rr_8h_source.html#l00179">LDNS_RR_TYPE_NSEC3PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="a7fa2f6a7ad9c4c69a3705e2fa3065556"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_salt_length" ref="a7fa2f6a7ad9c4c69a3705e2fa3065556" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ldns_nsec3_salt_length </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the length of the salt used in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The length of the salt in bytes </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01268">1268</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l01256">ldns_nsec3_salt()</a>, <a class="el" href="rdata_8c_source.html#l00038">ldns_rdf_data()</a>, and <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>.</p>

</div>
</div>
<a class="anchor" id="a96ef18b4efc39b04aba2df85a272b958"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_salt_data" ref="a96ef18b4efc39b04aba2df85a272b958" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* ldns_nsec3_salt_data </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the salt bytes used in the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The salt in bytes, this is alloced, so you need to free it </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01279">1279</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l01256">ldns_nsec3_salt()</a>, <a class="el" href="rdata_8c_source.html#l00038">ldns_rdf_data()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="ad1eecc66294a1195664dd1ba195a57b0"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_next_owner" ref="ad1eecc66294a1195664dd1ba195a57b0" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec3_next_owner </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the first label of the next ownername in the NSEC3 chain (ie. </p>
<p>without the domain) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The first label of the next owner name in the NSEC3 chain, or NULL on error </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01296">1296</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, and <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>.</p>

</div>
</div>
<a class="anchor" id="ac60cd95b31e771323d711d404c917167"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_bitmap" ref="ac60cd95b31e771323d711d404c917167" args="(const ldns_rr *nsec3_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec3_bitmap </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the bitmap specifying the covered types of the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec3_rr</td><td>The RR to read from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The covered type bitmap rdf </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01306">1306</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, and <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>.</p>

</div>
</div>
<a class="anchor" id="acac169a05f307efe9226b872904f644e"></a><!-- doxytag: member="dnssec.c::ldns_nsec3_hash_name_frm_nsec3" ref="acac169a05f307efe9226b872904f644e" args="(const ldns_rr *nsec, ldns_rdf *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_nsec3_hash_name_frm_nsec3 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the hashed name using the parameters of the given NSEC3 RR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*nsec</td><td>The RR to use the parameters from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*name</td><td>The owner name to calculate the hash for </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The hashed owner name rdf, without the domain name </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01316">1316</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="dnssec_8c_source.html#l01210">ldns_nsec3_algorithm()</a>, <a class="el" href="dnssec_8c_source.html#l00967">ldns_nsec3_hash_name()</a>, <a class="el" href="dnssec_8c_source.html#l01242">ldns_nsec3_iterations()</a>, <a class="el" href="dnssec_8c_source.html#l01279">ldns_nsec3_salt_data()</a>, and <a class="el" href="dnssec_8c_source.html#l01268">ldns_nsec3_salt_length()</a>.</p>

</div>
</div>
<a class="anchor" id="ab60bf88f5cc38b9d8a8e052ce5c33fde"></a><!-- doxytag: member="dnssec.c::ldns_nsec_bitmap_covers_type" ref="ab60bf88f5cc38b9d8a8e052ce5c33fde" args="(const ldns_rdf *nsec_bitmap, ldns_rr_type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_nsec_bitmap_covers_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>nsec_bitmap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks coverage of NSEC RR type bitmap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nsec_bitmap</td><td>The NSEC bitmap rdata field to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the NSEC RR covers the type </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01341">1341</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8c_source.html#l00088">ldns_get_bit()</a>, <a class="el" href="rdata_8c_source.html#l00038">ldns_rdf_data()</a>, and <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>.</p>

</div>
</div>
<a class="anchor" id="ae580eb88c6a29558c572e097890099dc"></a><!-- doxytag: member="dnssec.c::ldns_nsec_covers_name" ref="ae580eb88c6a29558c572e097890099dc" args="(const ldns_rr *nsec, const ldns_rdf *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_nsec_covers_name </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>nsec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks coverage of NSEC(3) RR name span Remember that nsec and name must both be in canonical form (ie use <a class="el" href="rr_8h.html#a6e26228733c74b4fb7aacc985a350519">ldns_rr2canonical</a> and <a class="el" href="dname_8h.html#aab93b3e88152119737f42d624fd34795">ldns_dname2canonical</a> prior to calling this function) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nsec</td><td>The NSEC RR to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The owner dname to check, if the nsec record is a NSEC3 record, this should be the hashed name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the NSEC RR covers the owner name </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01374">1374</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dname_8c_source.html#l00171">ldns_dname_left_chop()</a>, <a class="el" href="dname_8c_source.html#l00247">ldns_dname_new_frm_str()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="error_8c_source.html#l00097">ldns_get_errorstr_by_id()</a>, <a class="el" href="dnssec_8c_source.html#l01296">ldns_nsec3_next_owner()</a>, <a class="el" href="host2str_8c_source.html#l02043">ldns_rdf2str()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="af145cf7773677c0fffe56f5df5106c76"></a><!-- doxytag: member="dnssec.c::ldns_pkt_verify_time" ref="af145cf7773677c0fffe56f5df5106c76" args="(ldns_pkt *p, ldns_rr_type t, ldns_rdf *o, ldns_rr_list *k, ldns_rr_list *s, time_t check_time, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_pkt_verify_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verify a packet </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>the packet </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>the rr set type to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>the rr set name to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>list of keys </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>list of sigs (may be null) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>keys which validated the packet </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01423">1423</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="packet_8c_source.html#l00320">ldns_pkt_rr_list_by_name_and_type()</a>, <a class="el" href="rdata_8c_source.html#l00179">ldns_rdf_new()</a>, <a class="el" href="rdata_8h_source.html#l00073">LDNS_RDF_TYPE_TYPE</a>, <a class="el" href="rr_8c_source.html#l01028">ldns_rr_list_subtype_by_rdf()</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="packet_8h_source.html#l00280">LDNS_SECTION_ANY_NOQUESTION</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l01100">ldns_verify_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a0ee15f04de7f380ca19326fc7851c444"></a><!-- doxytag: member="dnssec.c::ldns_pkt_verify" ref="a0ee15f04de7f380ca19326fc7851c444" args="(ldns_pkt *p, ldns_rr_type t, ldns_rdf *o, ldns_rr_list *k, ldns_rr_list *s, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_pkt_verify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verify a packet </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>the packet </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>the rr set type to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>the rr set name to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>list of keys </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>list of sigs (may be null) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>keys which validated the packet </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01484">1484</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l01423">ldns_pkt_verify_time()</a>.</p>

</div>
</div>
<a class="anchor" id="ad00a2e53f01e8ae1c08402fc80dff757"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_chain_nsec3_list" ref="ad00a2e53f01e8ae1c08402fc80dff757" args="(ldns_rr_list *nsec3_rrs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_chain_nsec3_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>nsec3_rrs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>chains nsec3 list </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01492">1492</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00526">ldns_dname_label()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="host2str_8c_source.html#l02043">ldns_rdf2str()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00770">ldns_rr_set_rdf()</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="str2host_8c_source.html#l00580">ldns_str2rdf_b32_ext()</a>.</p>

</div>
</div>
<a class="anchor" id="ae641000a4b7f8c7229e1d3ece8067f39"></a><!-- doxytag: member="dnssec.c::qsort_rr_compare_nsec3" ref="ae641000a4b7f8c7229e1d3ece8067f39" args="(const void *a, const void *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int qsort_rr_compare_nsec3 </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>compare for nsec3 sort </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01545">1545</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rdata_8c_source.html#l00569">ldns_rdf_compare()</a>, and <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>.</p>

</div>
</div>
<a class="anchor" id="a411a6000cc312ebf353ab0e302b97aec"></a><!-- doxytag: member="dnssec.c::ldns_rr_list_sort_nsec3" ref="a411a6000cc312ebf353ab0e302b97aec" args="(ldns_rr_list *unsorted)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_rr_list_sort_nsec3 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>unsorted</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>sort nsec3 list </p>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01562">1562</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="rr_8h_source.html#l00307">ldns_struct_rr_list::_rrs</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, and <a class="el" href="dnssec_8c_source.html#l01545">qsort_rr_compare_nsec3()</a>.</p>

</div>
</div>
<a class="anchor" id="ada58948f5d105d7817ea47608e974d78"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_default_add_to_signatures" ref="ada58948f5d105d7817ea47608e974d78" args="(ldns_rr *sig, void *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_dnssec_default_add_to_signatures </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default callback function to always leave present signatures, and add new ones. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature to check for removal (unused) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Optional argument (unused) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_SIGNATURE_LEAVE_ADD_NEW </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01571">1571</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8h_source.html#l00047">LDNS_SIGNATURE_LEAVE_ADD_NEW</a>.</p>

</div>
</div>
<a class="anchor" id="a8a5934ffbbfb621c63ba8bb841229808"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_default_leave_signatures" ref="a8a5934ffbbfb621c63ba8bb841229808" args="(ldns_rr *sig, void *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_dnssec_default_leave_signatures </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default callback function to always leave present signatures, and add no new ones for the keys of these signatures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature to check for removal (unused) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Optional argument (unused) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_SIGNATURE_LEAVE_NO_ADD </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01579">1579</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8h_source.html#l00048">LDNS_SIGNATURE_LEAVE_NO_ADD</a>.</p>

</div>
</div>
<a class="anchor" id="ac7efa063ce39cf4791dd30a4b41ab14c"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_default_delete_signatures" ref="ac7efa063ce39cf4791dd30a4b41ab14c" args="(ldns_rr *sig, void *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_dnssec_default_delete_signatures </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default callback function to always remove present signatures, but add no new ones. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature to check for removal (unused) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Optional argument (unused) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_SIGNATURE_REMOVE_NO_ADD </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01587">1587</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8h_source.html#l00050">LDNS_SIGNATURE_REMOVE_NO_ADD</a>.</p>

</div>
</div>
<a class="anchor" id="aa20001e7098d4be9f24baf56a8761410"></a><!-- doxytag: member="dnssec.c::ldns_dnssec_default_replace_signatures" ref="aa20001e7098d4be9f24baf56a8761410" args="(ldns_rr *sig, void *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_dnssec_default_replace_signatures </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default callback function to always leave present signatures, and add new ones. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature to check for removal (unused) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Optional argument (unused) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_SIGNATURE_REMOVE_ADD_NEW </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01595">1595</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="dnssec_8h_source.html#l00049">LDNS_SIGNATURE_REMOVE_ADD_NEW</a>.</p>

</div>
</div>
<a class="anchor" id="a4634cf53a0db48001bbbbdd17cc19776"></a><!-- doxytag: member="dnssec.c::ldns_convert_dsa_rrsig_asn12rdf" ref="a4634cf53a0db48001bbbbdd17cc19776" args="(const ldns_buffer *sig, const long sig_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_convert_dsa_rrsig_asn12rdf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const long&#160;</td>
          <td class="paramname"><em>sig_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts the DSA signature from ASN1 representation (RFC2459, as used by OpenSSL) to raw signature data as used in DNS (rfc2536) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature in RFC2459 format </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sig_len</td><td>The length of the signature </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new rdf with the signature </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01604">1604</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="rdata_8c_source.html#l00179">ldns_rdf_new()</a>, <a class="el" href="rdata_8h_source.html#l00067">LDNS_RDF_TYPE_B64</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="ab108d2e53a4c50960af11f999a8ba546"></a><!-- doxytag: member="dnssec.c::ldns_convert_dsa_rrsig_rdf2asn1" ref="ab108d2e53a4c50960af11f999a8ba546" args="(ldns_buffer *target_buffer, const ldns_rdf *sig_rdf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_convert_dsa_rrsig_rdf2asn1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>target_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>sig_rdf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Converts the RRSIG signature RDF (in rfc2536 format) to a buffer with the signature in rfc2459 format. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">target_buffer</td><td>buffer to place the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sig_rdf</td><td>The signature rdf to convert </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK on success, error code otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec_8c_source.html#l01653">1653</a> of file <a class="el" href="dnssec_8c_source.html">dnssec.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00079">ldns_buffer_reserve()</a>, <a class="el" href="rdata_8c_source.html#l00038">ldns_rdf_data()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="error_8h_source.html#l00034">LDNS_STATUS_MEM_ERR</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, <a class="el" href="error_8h_source.html#l00083">LDNS_STATUS_SYNTAX_RDATA_ERR</a>, and <a class="el" href="sha2_8c_source.html#l00191">R</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Jan 11 2012 for ldns by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>