OpenDNSSEC-signer 2.1.13
rrset.c File Reference
#include "config.h"
#include "file.h"
#include "hsm.h"
#include "log.h"
#include "util.h"
#include "compat.h"
#include "signer/rrset.h"
#include "signer/zone.h"

Go to the source code of this file.

Data Structures

struct  rrsigkeymatching

Functions

void log_rr (ldns_rr *rr, const char *pre, int level)
void log_rrset (ldns_rdf *dname, ldns_rr_type type, const char *pre, int level)
const char * rrset_type2str (ldns_rr_type type)
rrset_typerrset_create (zone_type *zone, ldns_rr_type type)
collection_class rrset_store_initialize ()
rr_typerrset_lookup_rr (rrset_type *rrset, ldns_rr *rr)
uint32_t rrset_lookup_ttl (rrset_type *rrset, uint32_t default_ttl)
size_t rrset_count_rr_is_added (rrset_type *rrset)
rr_typerrset_add_rr (rrset_type *rrset, ldns_rr *rr)
void rrset_del_rr (rrset_type *rrset, uint16_t rrnum)
void rrset_diff (rrset_type *rrset, unsigned is_ixfr, unsigned more_coming)
void rrset_drop_rrsigs (zone_type *zone, rrset_type *rrset)
void rrset_add_rrsig (rrset_type *rrset, ldns_rr *rr, const char *locator, uint32_t flags)
ods_status rrset_sign (hsm_ctx_t *ctx, rrset_type *rrset, time_t signtime)
ods_status rrset_getliteralrr (ldns_rr **dnskey, const char *resourcerecord, uint32_t ttl, ldns_rdf *apex)
void rrset_print (FILE *fd, rrset_type *rrset, int skip_rrsigs, ods_status *status)
void rrset_cleanup (rrset_type *rrset)
void rrset_backup2 (FILE *fd, rrset_type *rrset)

Function Documentation

◆ log_rr()

void log_rr ( ldns_rr * rr,
const char * pre,
int level )

Log RR.

Definition at line 48 of file rrset.c.

Referenced by rrset_add_rr(), and rrset_del_rr().

◆ log_rrset()

void log_rrset ( ldns_rdf * dname,
ldns_rr_type type,
const char * pre,
int level )

Log RRset.

Definition at line 99 of file rrset.c.

References rrset_type2str().

Referenced by domain_add_rrset(), domain_diff(), domain_rollback(), namedb_examine(), rrset_print(), and rrset_sign().

◆ rrset_add_rr()

◆ rrset_add_rrsig()

void rrset_add_rrsig ( rrset_type * rrset,
ldns_rr * rr,
const char * locator,
uint32_t flags )

◆ rrset_backup2()

void rrset_backup2 ( FILE * fd,
rrset_type * rrset )

Backup RRset.

Definition at line 951 of file rrset.c.

References rrsig_struct::key_flags, rrsig_struct::key_locator, rrsig_struct::rr, and rrset_struct::rrsigs.

Referenced by domain_backup2(), and namedb_backup2().

◆ rrset_cleanup()

◆ rrset_count_rr_is_added()

size_t rrset_count_rr_is_added ( rrset_type * rrset)

Count the number of RRs in this RRset that have is_added.

Definition at line 278 of file rrset.c.

References rr_struct::is_added, rrset_struct::rr_count, and rrset_struct::rrs.

Referenced by domain_count_rrset_is_added(), and namedb_examine().

◆ rrset_create()

◆ rrset_del_rr()

void rrset_del_rr ( rrset_type * rrset,
uint16_t rrnum )

◆ rrset_diff()

◆ rrset_drop_rrsigs()

void rrset_drop_rrsigs ( zone_type * zone,
rrset_type * rrset )

Remove signatures, deallocate storage and add then to the outgoing IFXR for that zone.

Definition at line 416 of file rrset.c.

References zone_struct::db, namedb_struct::is_initialized, zone_struct::ixfr, ixfr_del_rr(), ixfr_struct::ixfr_lock, rrsig_struct::rr, and rrset_struct::rrsigs.

Referenced by namedb_wipe_denial(), and rrset_diff().

◆ rrset_getliteralrr()

ods_status rrset_getliteralrr ( ldns_rr ** dnskey,
const char * resourcerecord,
uint32_t ttl,
ldns_rdf * apex )

Obtain a resource record (containing a signature of a dnskeyset or a dnskeyset, but that is not a hard requirement), from a raw string

Parameters
[out]dnskeythe resulting resource record
[in]resourcerecordthe string representation of the resource record
[in]ttlthe time-to-live to use if non is specified
[in]apexthe owner domain is none can be determined from input string

Definition at line 851 of file rrset.c.

Referenced by rrset_sign(), and zone_publish_dnskeys().

◆ rrset_lookup_rr()

rr_type * rrset_lookup_rr ( rrset_type * rrset,
ldns_rr * rr )

◆ rrset_lookup_ttl()

uint32_t rrset_lookup_ttl ( rrset_type * rrset,
uint32_t default_ttl )

What TTL should new RR's in this RRS get?

Definition at line 263 of file rrset.c.

References rr_struct::is_added, rr_struct::rr, rrset_struct::rr_count, and rrset_struct::rrs.

Referenced by zone_add_rr().

◆ rrset_print()

◆ rrset_sign()

◆ rrset_store_initialize()

collection_class rrset_store_initialize ( void )

Definition at line 223 of file rrset.c.

Referenced by zone_create().

◆ rrset_type2str()

const char * rrset_type2str ( ldns_rr_type type)

Get the string-format of RRtype.

Definition at line 158 of file rrset.c.

Referenced by log_rrset().