# # dns.schema # # Author: David E. Storey <dave@tamos.net> # Created: February 27, 2001 # Updated: March 3rd, 2001 # Version: 0.1.1 # # Product specific extensions can be added by subclassing these objectclasses. # If more global changes are required, use multiple inheritance. # # TODO: loads # # # dnsServer # # Should probably store zones that we serve # objectclass ( oid NAME 'dnsServer' SUP top AUXILIARY MAY member ) # # base RR Objectclass # attributetype ( oid NAME 'dnsTTL' DESC 'Time To Live' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # # DNS Class Attribute # If not specified, should assume 'IN'. # attributetype ( oid NAME 'dnsClass' DESC 'Class (for example, CHAOS or IN)' SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE ) # The commonName attribute should be the Fully Qualified Domain Name of the domain we're storing objectclass ( oid NAME 'dnsResourceRecord' DESC 'Abstract objectclass from which all DNS Record Types should subclass' SUP top ABSTRACT MUST cn MAY ( dnsTTL $ dnsClass ) ) # # Start of Authority (SOA) # # # This should not be a DN, but rather the actual name of the host. # If it is not an FQDN, the host name should be taken relative to the zone. # attributetype ( oid NAME 'dnsSOAPrimaryNS' DESC 'Primary nameserver for the zone' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOAHostmasterMail' DESC 'Mailbox for zone administrator' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOASerial' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOARefresh' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOARetry' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOAExpire' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSOAMinimum' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) objectclass ( oid NAME 'dnsSOARecord' DESC 'DNS Start Of Authority Record' SUP dnsResourceRecord AUXILIARY MAY ( dnsSOAPrimaryNS $ dnsSOAHostmasterMail $ dnsSOASerial $ dnsSOARefresh $ dnsSOARetry $ dnsSOAExpire $ dnsSOAMinimum ) ) # # NS # attributetype ( oid NAME 'dnsNSHost' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) objectclass ( oid NAME 'dnsNSRecord' DESC 'DNS Name Server Record' SUP dnsResourceRecord AUXILIARY MUST dnsNSHost ) # # MX # attributetype ( oid NAME 'dnsMXPreference' DESC 'Mail Exchanger Preference' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsMXHost' DESC 'Mail Exchanger' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE ) objectclass ( oid NAME 'dnsMXRecord' DESC 'DNS Mail Exchanger Record' SUP dnsResourceRecord AUXILIARY MUST ( dnsMXPreference $ dnsMXHost ) ) # # A # objectclass ( oid NAME 'dnsARecord' SUP dnsResourceRecord AUXILIARY MUST ipHostNumber ) # # CNAME # objectclass ( oid NAME 'dnsCNAMERecord' SUP dnsResourceRecord AUXILIARY ) # # TXT # objectclass ( oid NAME 'dnsTXTRecord' SUP dnsResourceRecord AUXILIARY ) # # PTR # objectclass ( oid NAME 'dnsPTRRecord' SUP dnsResourceRecord AUXILIARY MUST ipHostNumber ) # # SRV # attributetype ( oid NAME 'dnsSRVPriority' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSRVWeight' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSRVPort' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( oid NAME 'dnsSRVTarget' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE ) objectclass ( oid NAME 'dnsSRVRecord' DESC 'Resource Location Record' SUP dnsResourceRecord AUXILIARY MUST ( ipServiceProtocol $ dnsSRVPriority $ dnsSRVWeight $ dnsSRVPort $ dnsSRVTarget ) ) # # HINFO # attributetype ( oid NAME 'dnsHardware' SINGLE-VALUE ) attributetype ( oid NAME 'dnsSoftware' SINGLE-VALUE ) objectclass ( oid NAME 'dnsHINFORecord' DESC 'Host Information Record' MUST ( dnsHardware $ dnsSoftware ) ) # # TKEY # objectclass ( oid NAME 'dnsTKEYRecord' ) # # Generic Resource Record # attributetype ( oid NAME 'dnsRRType' SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 SINGLE-VALUE ) attributetype ( oid NAME 'dnsRRData' SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 SINGLE-VALUE ) objectclass ( oid NAME 'dnsGenericRecord' DESC 'DNS Generic Record Type' SUP dnsResourceRecord AUXILIARY MUST ( dnsRRType $ dnsRRData ) ) # eof dns.schema