OpenDNSSEC-signer  2.1.10
Data Structures | Macros | Typedefs | Functions
domain.h File Reference
#include "config.h"
#include <ldns/ldns.h>
#include <time.h>
#include "status.h"
#include "signer/rrset.h"
#include "signer/signconf.h"
#include "signer/zone.h"

Go to the source code of this file.

Data Structures

struct  domain_struct
 

Macros

#define SE_NSEC_RDATA_NXT   0
 
#define SE_NSEC_RDATA_BITMAP   1
 
#define SE_NSEC3_RDATA_NSEC3PARAMS   4
 
#define SE_NSEC3_RDATA_NXT   4
 
#define SE_NSEC3_RDATA_BITMAP   5
 

Typedefs

typedef struct domain_struct domain_type
 

Functions

void log_dname (ldns_rdf *rdf, const char *pre, int level)
 
domain_typedomain_create (zone_type *zone, ldns_rdf *dname)
 
size_t domain_count_rrset_is_added (domain_type *domain)
 
rrset_typedomain_lookup_rrset (domain_type *domain, ldns_rr_type rrtype)
 
void domain_add_rrset (domain_type *domain, rrset_type *rrset)
 
void domain_diff (domain_type *domain, unsigned is_ixfr, unsigned more_coming)
 
void domain_rollback (domain_type *domain, int keepsc)
 
int domain_ent2unsignedns (domain_type *domain)
 
ldns_rr_type domain_is_delegpt (domain_type *domain)
 
ldns_rr_type domain_is_occluded (domain_type *domain)
 
void domain_print (FILE *fd, domain_type *domain, ods_status *status)
 
void domain_cleanup (domain_type *domain)
 
void domain_backup2 (FILE *fd, domain_type *domain, int sigs)
 

Macro Definition Documentation

◆ SE_NSEC3_RDATA_BITMAP

#define SE_NSEC3_RDATA_BITMAP   5

Definition at line 46 of file domain.h.

◆ SE_NSEC3_RDATA_NSEC3PARAMS

#define SE_NSEC3_RDATA_NSEC3PARAMS   4

Definition at line 44 of file domain.h.

◆ SE_NSEC3_RDATA_NXT

#define SE_NSEC3_RDATA_NXT   4

Definition at line 45 of file domain.h.

◆ SE_NSEC_RDATA_BITMAP

#define SE_NSEC_RDATA_BITMAP   1

Definition at line 43 of file domain.h.

◆ SE_NSEC_RDATA_NXT

#define SE_NSEC_RDATA_NXT   0

Definition at line 42 of file domain.h.

Typedef Documentation

◆ domain_type

typedef struct domain_struct domain_type

Definition at line 1 of file domain.h.

Function Documentation

◆ domain_add_rrset()

void domain_add_rrset ( domain_type domain,
rrset_type rrset 
)

Add RRset to domain.

Parameters
[in]domaindomain
[in]rrsetRRset

Add RRset to domain.

Definition at line 160 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, rrset_struct::domain, log_rrset(), rrset_struct::next, domain_struct::rrsets, and rrset_struct::rrtype.

◆ domain_backup2()

void domain_backup2 ( FILE *  fd,
domain_type domain,
int  sigs 
)

Backup domain.

Parameters
[in]fdfile descriptor
[in]domaindomain
[in]sigsdo RRSIGS if true, otherwise do RRset

Backup domain.

Definition at line 481 of file domain.c.

References domain_lookup_rrset(), domain_struct::is_apex, rrset_struct::next, rrset_backup2(), rrset_print(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_backup2().

◆ domain_cleanup()

void domain_cleanup ( domain_type domain)

Clean up domain.

Parameters
[in]domaindomain to cleanup

Clean up domain.

Definition at line 465 of file domain.c.

References domain_struct::dname, rrset_cleanup(), and domain_struct::rrsets.

◆ domain_count_rrset_is_added()

size_t domain_count_rrset_is_added ( domain_type domain)

Count the number of RRsets at this domain with RRs that have is_added.

Parameters
[in]domaindomain
Returns
size_t number of RRsets

Count the number of RRsets at this domain with RRs that have is_added.

Definition at line 118 of file domain.c.

References rrset_struct::next, rrset_count_rr_is_added(), and domain_struct::rrsets.

Referenced by namedb_examine().

◆ domain_create()

domain_type* domain_create ( zone_type zone,
ldns_rdf *  dname 
)

Create domain.

Parameters
[in]zoneptrzone reference
[in]dnameowner name
Returns
domain_type* domain

Create domain.

Definition at line 88 of file domain.c.

References domain_struct::dname.

Referenced by namedb_add_domain().

◆ domain_diff()

void domain_diff ( domain_type domain,
unsigned  is_ixfr,
unsigned  more_coming 
)

Apply differences at domain.

Parameters
[in]domaindomain
[in]is_ixfrtrue if incremental change
[in]more_comingmore transactions possible

Apply differences at domain.

Definition at line 190 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, log_rrset(), rrset_struct::next, rrset_struct::rr_count, rrset_cleanup(), rrset_diff(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_diff().

◆ domain_ent2unsignedns()

int domain_ent2unsignedns ( domain_type domain)

Check whether a domain is an empty non-terminal to an unsigned delegation.

Parameters
[in]domaindomain
Returns
int yes or no

Check whether a domain is an empty non-terminal to unsigned delegation.

Definition at line 310 of file domain.c.

References domain_struct::dname, domain_is_delegpt(), domain_is_occluded(), domain_struct::node, and domain_struct::rrsets.

◆ domain_is_delegpt()

ldns_rr_type domain_is_delegpt ( domain_type domain)

Check whether a domain is a delegation, regardless of parent.

Parameters
[in]domaindomain
Returns
ldns_rr_type RRtype that hints whether the domain is occluded. LDNS_RR_TYPE_NS Unsigned delegation LDNS_RR_TYPE_DS Signed delegation LDNS_RR_TYPE_SOA Authoritative data (or signed delegation)

Check whether the domain is a delegation point.

Definition at line 344 of file domain.c.

References domain_lookup_rrset(), and domain_struct::is_apex.

Referenced by domain_ent2unsignedns(), and rrset_sign().

◆ domain_is_occluded()

ldns_rr_type domain_is_occluded ( domain_type domain)

Check whether the domain is occluded.

Parameters
[in]domaindomain
Returns
ldns_rr_type RRtype that hints whether the domain is occluded. LDNS_RR_TYPE_DNAME Occluded LDNS_RR_TYPE_A Glue LDNS_RR_TYPE_SOA Authoritative data or delegation

Check whether the domain is occluded.

Definition at line 369 of file domain.c.

References domain_lookup_rrset(), domain_struct::is_apex, and domain_struct::parent.

Referenced by domain_ent2unsignedns(), and rrset_sign().

◆ domain_lookup_rrset()

rrset_type* domain_lookup_rrset ( domain_type domain,
ldns_rr_type  rrtype 
)

Look up RRset at this domain.

Parameters
[in]domainthe domain
[in]rrtypeRRtype
Returns
rrset_type* RRset, if found

Look up RRset at this domain.

Definition at line 141 of file domain.c.

References rrset_struct::next, domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by domain_backup2(), domain_is_delegpt(), domain_is_occluded(), namedb_examine(), and zone_lookup_rrset().

◆ domain_print()

void domain_print ( FILE *  fd,
domain_type domain,
ods_status *  status 
)

Print domain.

Parameters
[in]fdfile descriptor
[in]domaindomain
[out]statusstatus

Print domain.

Definition at line 398 of file domain.c.

Referenced by namedb_export().

◆ domain_rollback()

void domain_rollback ( domain_type domain,
int  keepsc 
)

Rollback differences at domain.

Parameters
[in]domaindomain
[in]keepsckeep RRs that did not came from the adapter

Rollback differences at domain.

Definition at line 241 of file domain.c.

References denial_struct::bitmap_changed, domain_struct::denial, domain_struct::dname, rr_struct::exists, rr_struct::is_added, rr_struct::is_removed, log_rrset(), rrset_struct::next, rrset_struct::rr_count, rrset_struct::rrs, rrset_cleanup(), rrset_del_rr(), domain_struct::rrsets, and rrset_struct::rrtype.

Referenced by namedb_rollback().

◆ log_dname()

void log_dname ( ldns_rdf *  rdf,
const char *  pre,
int  level 
)

Log domain name.

Parameters
[in]rdfdomain name
[in]prelog message
[in]levellog level

Log domain name.

Definition at line 48 of file domain.c.

Referenced by namedb_del_denial(), and namedb_del_domain().