pub struct DNSSecStore { /* private fields */ }Expand description
DNSSEC-enabled DNS zone storage
DNSSecStore wraps a regular SqliteStore and adds DNSSEC capabilities, including key management and automatic zone signing. It provides the same storage interface as SqliteStore but returns DNSSEC-enabled zones.
Implementations§
Source§impl DNSSecStore
impl DNSSecStore
Sourcepub fn new(catalog: SqliteStore) -> Self
pub fn new(catalog: SqliteStore) -> Self
Sourcepub fn add_zone_signing_key(
&mut self,
key: impl Into<Arc<DNSKey>>,
) -> Result<(), DnsSecZoneError>
pub fn add_zone_signing_key( &mut self, key: impl Into<Arc<DNSKey>>, ) -> Result<(), DnsSecZoneError>
Add a zone signing key to this store
Adds a DNSSEC key that will be used to sign all zones managed by this store. Multiple keys can be added for key rollover scenarios.
§Arguments
key- The DNSSEC key to add
§Returns
Success or an error if the key cannot be added
§Errors
Returns an error if the key is invalid or cannot be processed
Sourcepub fn allow_update(&self) -> bool
pub fn allow_update(&self) -> bool
Check if DNS updates are allowed
Returns whether this store allows DNS UPDATE operations.
§Returns
true if updates are allowed
Sourcepub fn set_allow_update(&mut self, allow_update: bool) -> &mut Self
pub fn set_allow_update(&mut self, allow_update: bool) -> &mut Self
Sourcepub fn dnssec_enabled(&self) -> bool
pub fn dnssec_enabled(&self) -> bool
Check if DNSSEC is enabled
Returns whether DNSSEC signing is enabled for zones managed by this store.
§Returns
true if DNSSEC is enabled
Sourcepub fn set_dnssec_enabled(&mut self, dnssec_enabled: bool) -> &mut Self
pub fn set_dnssec_enabled(&mut self, dnssec_enabled: bool) -> &mut Self
Sourcepub fn journal(&self) -> SqliteJournal
pub fn journal(&self) -> SqliteJournal
Get a journal for recording DNS operations
Returns a journal that can be used to record DNS operations for zones managed by this store.
§Returns
A SqliteJournal instance