# LDAP schema for PowerDNS specific information
#
# This schema does not define a way to store DNS
# data but only metadata relevant only to the
# PowerDNS implementation of a LDAP backend.
# See dnsdomain2.schema for a schema that contains
# everything needed to store the zones and RRs.
#
# 1.3.6.1.4.1.27080
#   Sequanux - Gregory Oestreicher <greg@kamago.net>
#
# 1.3.6.1.4.1.27080.2
#   PowerDNS LDAP schema
#
# 1.3.6.1.4.1.27080.2.1
#   PowerDNS LDAP schema attributes
#
# 1.3.6.1.4.1.27080.2.2
#   PowerDNS LDAP schema object classes

attributetype ( 1.3.6.1.4.1.27080.2.1.1 NAME 'PdnsDomainId'
    DESC 'Domain identifier in the LDAP backend - mapped to DomainInfo::id'
    EQUALITY numericStringMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.27080.2.1.2 NAME 'PdnsDomainNotifiedSerial'
    DESC 'Last serial number of this zone that slaves have seen - mapped to DomainInfo::notified_serial'
    EQUALITY numericStringMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.27080.2.1.3 NAME 'PdnsDomainLastCheck'
    DESC 'Last time this zone was checked over at the master for changes - mapped to DomainInfo::last_check'
    EQUALITY numericStringMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 SINGLE-VALUE )

attributetype ( 1.3.6.1.4.1.27080.2.1.4 NAME 'PdnsDomainMaster'
    DESC 'IP address of the master(s) of this domain, if any - mapped to DomainInfo::masters - Multivalued attribute'
    EQUALITY caseIgnoreIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )

attributetype ( 1.3.6.1.4.1.27080.2.1.5 NAME 'PdnsDomainType'
    DESC 'Type of zone, must be one of "master", "slave" or "native" - mapped to DomainInfo::kind'
    EQUALITY caseIgnoreIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

objectclass ( 1.3.6.1.4.1.27080.2.2.1 NAME 'PdnsDomain'
    DESC 'PDNS domain metadata information'
    SUP top AUXILIARY
    MUST ( PdnsDomainId )
    MAY ( PdnsDomainNotifiedSerial $ PdnsDomainLastCheck $
          PdnsDomainMaster $ PdnsDomainType ) )
