private.c File Reference

#include "config.h"
#include <isc/result.h>
#include <isc/string.h>
#include <isc/types.h>
#include <isc/base64.h>
#include <dns/nsec3.h>
#include <dns/private.h>

Go to the source code of this file.

Defines

#define REMOVE(x)   (((x) & DNS_NSEC3FLAG_REMOVE) != 0)
#define CREATE(x)   (((x) & DNS_NSEC3FLAG_CREATE) != 0)
#define INITIAL(x)   (((x) & DNS_NSEC3FLAG_INITIAL) != 0)
#define NONSEC(x)   (((x) & DNS_NSEC3FLAG_NONSEC) != 0)
#define CHECK(x)

Functions

static isc_boolean_t ignore (dns_rdata_t *param, dns_rdataset_t *privateset)
isc_result_t dns_private_chains (dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype, isc_boolean_t *build_nsec, isc_boolean_t *build_nsec3)
 Examine the NSEC, NSEC3PARAM and privatetype RRsets at the apex of the database to determine which of NSEC or NSEC3 chains we are currently maintaining. In normal operations only one of NSEC or NSEC3 is being maintained but when we are transitiong between NSEC and NSEC3 we need to update both sets of chains. If 'privatetype' is zero then the privatetype RRset will not be examined.
isc_result_t dns_private_totext (dns_rdata_t *private, isc_buffer_t *buf)
 Convert a private-type RR 'privaterdata' to human-readable form, and place the result in 'buffer'. The text should indicate which action the private-type record specifies and whether the action has been completed.


Define Documentation

#define REMOVE (  )     (((x) & DNS_NSEC3FLAG_REMOVE) != 0)

Definition at line 45 of file private.c.

#define CREATE (  )     (((x) & DNS_NSEC3FLAG_CREATE) != 0)

Definition at line 46 of file private.c.

#define INITIAL (  )     (((x) & DNS_NSEC3FLAG_INITIAL) != 0)

Definition at line 47 of file private.c.

#define NONSEC (  )     (((x) & DNS_NSEC3FLAG_NONSEC) != 0)

Definition at line 48 of file private.c.

Referenced by ignore().

#define CHECK (  ) 

Value:

do {                                    \
                         result = (x);                  \
                         if (result != ISC_R_SUCCESS)   \
                                goto failure;           \
                 } while (0)

Definition at line 50 of file private.c.


Function Documentation

static isc_boolean_t ignore ( dns_rdata_t param,
dns_rdataset_t privateset 
) [static]

Definition at line 65 of file private.c.

References CREATE, dns_rdata::data, DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), DNS_RDATA_INIT, dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), ISC_FALSE, ISC_R_SUCCESS, ISC_TRUE, and NONSEC.

Referenced by dns_private_chains(), ns_zone_configure(), and verify().

isc_result_t dns_private_chains ( dns_db_t db,
dns_dbversion_t ver,
dns_rdatatype_t  privatetype,
isc_boolean_t build_nsec,
isc_boolean_t build_nsec3 
)

Examine the NSEC, NSEC3PARAM and privatetype RRsets at the apex of the database to determine which of NSEC or NSEC3 chains we are currently maintaining. In normal operations only one of NSEC or NSEC3 is being maintained but when we are transitiong between NSEC and NSEC3 we need to update both sets of chains. If 'privatetype' is zero then the privatetype RRset will not be examined.

Requires:

Returns:

Definition at line 104 of file private.c.

References CHECK, CREATE, dns_rdata::data, dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), DNS_RDATA_INIT, dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), ignore(), ISC_FALSE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, and REMOVE.

Referenced by dns_update_signaturesinc(), isdnssec(), and zone_sign().

isc_result_t dns_private_totext ( dns_rdata_t privaterdata,
isc_buffer_t buffer 
)

Convert a private-type RR 'privaterdata' to human-readable form, and place the result in 'buffer'. The text should indicate which action the private-type record specifies and whether the action has been completed.

Requires:

Returns:

Definition at line 298 of file private.c.

References CHECK, DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdata_totext(), dns_secalg_format(), DNS_SECALG_FORMATSIZE, isc_buffer_init, isc_buffer_putstr, isc_buffer_putuint8, ISC_R_FAILURE, ISC_R_NOTFOUND, ISC_R_SUCCESS, and ISC_TF.

Referenced by ATF_TC_BODY(), and ns_server_signing().


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