class DnssecProviderFactory (View source)

Builds the DNSSEC provider for the configured PowerDNS API, or a null provider when the API is not set up.

Methods

static string
getPowerDnsVersion(ConfigurationInterface $config, SessionInterface $session)

Get the PowerDNS version if available

static bool
supportsDefaultCsk(string $version)

Check if PowerDNS version supports CSK by default

create(PDO $db, ConfigurationInterface $config, ActorInterface $actor, SessionInterface $session, PowerdnsApiClient|null $apiClient = null)

Create DNSSEC provider instance using PowerDNS API

Details

static string getPowerDnsVersion(ConfigurationInterface $config, SessionInterface $session)

Get the PowerDNS version if available

Parameters

ConfigurationInterface $config

Configuration object

SessionInterface $session

The request's session

Return Value

string

The PowerDNS version or empty string if not available

static bool supportsDefaultCsk(string $version)

Check if PowerDNS version supports CSK by default

Parameters

string $version

PowerDNS version string

Return Value

bool

True if version is 4.0.0 or higher

static DnssecProviderInterface create(PDO $db, ConfigurationInterface $config, ActorInterface $actor, SessionInterface $session, PowerdnsApiClient|null $apiClient = null)

Create DNSSEC provider instance using PowerDNS API

Parameters

PDO $db

Database connection

ConfigurationInterface $config

Configuration object

ActorInterface $actor

Named in the syslog audit line of every DNSSEC operation

SessionInterface $session

The request's session, for a client built here

PowerdnsApiClient|null $apiClient

Reuse a caller's client and its per-request caches; one is built from config when omitted

Return Value

DnssecProviderInterface

DNSSEC provider instance

Exceptions

Exception