OpenDNSSEC-signer 1.2.1
Data Structures | Typedefs | Functions

/build/buildd-opendnssec_1.2.1.dfsg-1-mips-p9AT07/opendnssec-1.2.1.dfsg/signer/src/signer/rrset.h File Reference

#include "config.h"
#include "signer/hsm.h"
#include "signer/rrsigs.h"
#include "signer/signconf.h"
#include "signer/stats.h"
#include <ldns/ldns.h>
Include dependency graph for rrset.h:

Go to the source code of this file.

Data Structures

struct  rrset_struct

Typedefs

typedef struct rrset_struct rrset_type

Functions

rrset_typerrset_create (ldns_rr_type rrtype)
rrset_typerrset_create_frm_rr (ldns_rr *rr)
int rrset_update (rrset_type *rrset, uint32_t serial)
int rrset_examine_ns_rdata (rrset_type *rrset, ldns_rdf *nsdname)
void rrset_cancel_update (rrset_type *rrset)
int rrset_add_rr (rrset_type *rrset, ldns_rr *rr)
int rrset_del_rr (rrset_type *rrset, ldns_rr *rr)
int rrset_recover_rr_from_backup (rrset_type *rrset, ldns_rr *rr)
int rrset_recover_rrsig_from_backup (rrset_type *rrset, ldns_rr *rrsig, const char *locator, uint32_t flags)
int rrset_sign (hsm_ctx_t *ctx, rrset_type *rrset, ldns_rdf *owner, signconf_type *sc, time_t signtime, stats_type *stats)
int rrset_del_rrs (rrset_type *rrset)
int rrset_count_rr (rrset_type *rrset)
int rrset_count_add (rrset_type *rrset)
int rrset_count_del (rrset_type *rrset)
int rrset_count_RR (rrset_type *rrset)
void rrset_cleanup (rrset_type *rrset)
void log_rr (ldns_rr *rr, const char *pre, int level)
void rrset_print (FILE *fd, rrset_type *rrset, int skip_rrsigs)
void rrset_print_rrsig (FILE *fd, rrset_type *rrset)

Typedef Documentation

typedef struct rrset_struct rrset_type

RRset.

Definition at line 45 of file rrset.h.


Function Documentation

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

Log RR.

Parameters:
[in]rrRR
[in]prestring to log before RR
[in]levellog level

Log RR.

Definition at line 187 of file rrset.c.

References se_free(), se_log_debug(), se_log_deeebug(), se_log_error(), se_log_info(), se_log_verbose(), and se_log_warning().

Referenced by domain_examine_rrset_is_alone(), rrset_add_rr(), rrset_del_rr(), rrset_recover_rrsig_from_backup(), and rrset_sign().

int rrset_add_rr ( rrset_type rrset,
ldns_rr *  rr 
)

Add RR to RRset.

Parameters:
[in]rrsetRRset
[in]rrRR
Returns:
int 0 on success, 1 on error

Add RR to RRset.

Definition at line 475 of file rrset.c.

References rrset_struct::add, rrset_struct::add_count, log_rr(), rrset_struct::rr_type, se_log_assert, se_log_error(), se_log_warning(), and util_dnssec_rrs_add_rr().

Referenced by denial_nsecify(), denial_nsecify3(), and domain_add_rr().

void rrset_cancel_update ( rrset_type rrset)

Cancel update.

Parameters:
[in]rrsetRRset

Cancel update.

Definition at line 407 of file rrset.c.

References rrset_struct::add, rrset_struct::add_count, rrset_struct::del, and rrset_struct::del_count.

Referenced by domain_cancel_update().

void rrset_cleanup ( rrset_type rrset)

Clean up RRset.

Parameters:
[in]rrsetRRset to be cleaned up

Clean up RRset.

Definition at line 961 of file rrset.c.

References rrset_struct::add, rrset_struct::del, rrset_struct::rrs, rrset_struct::rrsigs, rrsigs_cleanup(), se_free(), and se_log_warning().

Referenced by denial_cleanup(), and domain_del_rrset().

int rrset_count_add ( rrset_type rrset)

Return the number of pending added RRs in RRset.

Parameters:
[in]rrsetRRset
Returns:
int number of pending added RRs

Return the number of pending added RRs in RRset.

Definition at line 439 of file rrset.c.

References rrset_struct::add_count, and se_log_assert.

int rrset_count_del ( rrset_type rrset)

Return the number of pending deleted RRs in RRset.

Parameters:
[in]rrsetRRset
Returns:
int number of pending deleted RRs

Return the number of pending deleted RRs in RRset.

Definition at line 451 of file rrset.c.

References rrset_struct::del_count, and se_log_assert.

int rrset_count_rr ( rrset_type rrset)

Return the number of RRs in RRset.

Parameters:
[in]rrsetRRset
Returns:
int number of RRs

Return the number of RRs in RRset.

Definition at line 427 of file rrset.c.

References rrset_struct::rr_count, and se_log_assert.

Referenced by domain_update().

int rrset_count_RR ( rrset_type rrset)

Return the number of RRs in RRset after an update.

Parameters:
[in]rrsetRRset
Returns:
int number of RRs after an update

Return the number of RRs in RRset after an update.

Definition at line 463 of file rrset.c.

References rrset_struct::add_count, rrset_struct::del_count, rrset_struct::rr_count, and se_log_assert.

Referenced by domain_examine_data_exists(), domain_examine_ns_rdata(), domain_examine_rrset_is_alone(), domain_examine_rrset_is_singleton(), and domain_examine_valid_zonecut().

rrset_type* rrset_create ( ldns_rr_type  rrtype)
rrset_type* rrset_create_frm_rr ( ldns_rr *  rr)
int rrset_del_rr ( rrset_type rrset,
ldns_rr *  rr 
)

Delete RR from RRset.

Parameters:
[in]rrsetRRset
[in]rrRR
Returns:
int 0 on success, 1 on error

Delete RR from RRset.

Definition at line 521 of file rrset.c.

References rrset_struct::del, rrset_struct::del_count, log_rr(), rrset_struct::rr_type, se_log_assert, se_log_error(), se_log_warning(), and util_dnssec_rrs_add_rr().

Referenced by domain_del_rr(), and rrset_del_rrs().

int rrset_del_rrs ( rrset_type rrset)

Delete all RRs from RRset.

Parameters:
[in]rrsetRRset
Returns:
int 0 on success, 1 on error

Delete all RRs from RRset.

Definition at line 930 of file rrset.c.

References rrset_struct::del, rrset_struct::rrs, rrset_del_rr(), and se_log_assert.

Referenced by denial_nsecify(), denial_nsecify3(), and domain_del_rrs().

int rrset_examine_ns_rdata ( rrset_type rrset,
ldns_rdf *  nsdname 
)

Examine NS RRset and verify its RDATA.

Parameters:
[in]rrsetNS RRset
[in]nsdnamedomain name that should match NS RDATA
Returns:
int 0 if nsdame exists as NS RDATA, 1 otherwise

Examine NS RRset and verify its RDATA.

Definition at line 163 of file rrset.c.

References rrset_struct::add, rrset_struct::del, rrset_struct::rr_type, and rrset_struct::rrs.

Referenced by domain_examine_ns_rdata().

void rrset_print ( FILE *  fd,
rrset_type rrset,
int  skip_rrsigs 
)

Print RRset.

Parameters:
[in]fdfile descriptor
[in]rrsetRRset to be printed
[in]skip_rrsigsif true, don't print RRSIG records

Print RRset.

Definition at line 993 of file rrset.c.

References rrset_struct::rr_type, rrset_struct::rrs, rrset_struct::rrsigs, rrsigs_print(), and se_log_assert.

Referenced by domain_print().

void rrset_print_rrsig ( FILE *  fd,
rrset_type rrset 
)

Print RRSIGs from RRset.

Parameters:
[in]fdfile descriptor
[in]rrsetRRset to be printed

Print RRSIGs from RRset.

Definition at line 1021 of file rrset.c.

References rrset_struct::rrsigs, rrsigs_print(), and se_log_assert.

Referenced by domain_print_rrsig().

int rrset_recover_rr_from_backup ( rrset_type rrset,
ldns_rr *  rr 
)

Recover RR from backup.

Parameters:
[in]rrsetRRset
[in]rrRR
Returns:
int 0 on success, 1 on error

Recover RR from backup.

Definition at line 299 of file rrset.c.

Referenced by domain_recover_rr_from_backup().

int rrset_recover_rrsig_from_backup ( rrset_type rrset,
ldns_rr *  rrsig,
const char *  locator,
uint32_t  flags 
)

Recover RRSIG from backup.

Parameters:
[in]rrsetRRset
[in]rrsigRRSIG
[in]locatorkey locator
[in]flagskey flags
Returns:
int 0 on success, 1 on error

Recover RR from backup.

Definition at line 310 of file rrset.c.

References log_rr(), rrset_struct::rr_type, rrset_struct::rrsig_count, rrset_struct::rrsigs, rrsigs_add_sig(), rrsigs_create(), se_log_assert, se_log_error(), and se_log_warning().

Referenced by denial_recover_rrsig_from_backup(), and domain_recover_rrsig_from_backup().

int rrset_sign ( hsm_ctx_t *  ctx,
rrset_type rrset,
ldns_rdf *  owner,
signconf_type sc,
time_t  signtime,
stats_type stats 
)

Sign RRset.

Parameters:
[in]ctxHSM context
[in]rrsetRRset
[in]ownerowner of the zone
[in]scsign configuration
[in]signtimetime when the zone is signd
[out]statsupdate statistics
Returns:
int 0 on success, 1 on error

Sign RRset.

currently, there is no rule that the number of signatures over this RRset equals the number of active keys.

Definition at line 785 of file rrset.c.

References key_struct::algorithm, keylist_struct::first_key, key_struct::flags, hsm_sign_rrset_with_key(), rrsigs_struct::key_flags, rrsigs_struct::key_locator, signconf_struct::keys, key_struct::ksk, key_struct::locator, log_rr(), rrsigs_struct::next, key_struct::next, rrsigs_struct::rr, rrset_struct::rr_type, rrset_struct::rrsig_count, rrset_struct::rrsigs, rrsigs_add_sig(), rrsigs_cleanup(), rrsigs_create(), se_log_assert, se_log_deeebug(), se_log_error(), stats_struct::sig_count, stats_struct::sig_reuse, stats_struct::sig_soa_count, and key_struct::zsk.

Referenced by domain_sign().

int rrset_update ( rrset_type rrset,
uint32_t  serial 
)

Update RRset with pending changes.

Parameters:
[in]rrsetRRset
[in]serialversion to update to
Returns:
int 0 on success, 1 on error

Add RR to RRset.

Definition at line 353 of file rrset.c.

References rrset_struct::add, rrset_struct::add_count, rrset_struct::del, rrset_struct::del_count, DNS_SERIAL_GT, rrset_struct::drop_signatures, rrset_struct::initialized, rrset_struct::internal_serial, rrset_struct::rr_type, rrset_compare_rrs(), se_log_alert(), and se_log_assert.

Referenced by denial_nsecify(), denial_nsecify3(), and domain_update().