mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 06:55:30 +00:00
added DNAME support to DLZ LDAP schema, and fixed a DLZ compile error
Thanks to Roland Gruber for the schema contribution.
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -1,3 +1,7 @@
|
|||||||
|
5160. [contrib] Added DNAME support to the DLZ LDAP schema. Also
|
||||||
|
fixed a compilation bug affecting several DLZ
|
||||||
|
modules. [GL #872]
|
||||||
|
|
||||||
5159. [bug] dnssec-coverage was incorrectly ignoring
|
5159. [bug] dnssec-coverage was incorrectly ignoring
|
||||||
names specified on the command line without
|
names specified on the command line without
|
||||||
trailing dots. [GL !1478]
|
trailing dots. [GL !1478]
|
||||||
|
@@ -101,6 +101,7 @@ build_querylist(const char *query_str, char **zone, char **record,
|
|||||||
bool foundclient = false;
|
bool foundclient = false;
|
||||||
char *temp_str = NULL;
|
char *temp_str = NULL;
|
||||||
char *right_str = NULL;
|
char *right_str = NULL;
|
||||||
|
char *token = NULL;
|
||||||
query_list_t *tql;
|
query_list_t *tql;
|
||||||
query_segment_t *tseg = NULL;
|
query_segment_t *tseg = NULL;
|
||||||
|
|
||||||
|
@@ -3,110 +3,110 @@
|
|||||||
# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project.
|
# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project.
|
||||||
# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project.
|
# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project.
|
||||||
# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute
|
# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute
|
||||||
# types and object classes that may be needed by end users
|
# types and object classes that may be needed by end users
|
||||||
# to add security, etc. Attributes and object classes using
|
# to add security, etc. Attributes and object classes using
|
||||||
# this OID MUST NOT be published outside of an organization
|
# this OID MUST NOT be published outside of an organization
|
||||||
# except to offer them for consideration to become part of the
|
# except to offer them for consideration to become part of the
|
||||||
# standard attributes and object classes published by the DLZ project.
|
# standard attributes and object classes published by the DLZ project.
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.10
|
attributetype ( 1.3.6.1.4.1.18420.1.1.10
|
||||||
NAME 'dlzZoneName'
|
NAME 'dlzZoneName'
|
||||||
DESC 'DNS zone name - domain name not including host name'
|
DESC 'DNS zone name - domain name not including host name'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.20
|
attributetype ( 1.3.6.1.4.1.18420.1.1.20
|
||||||
NAME 'dlzHostName'
|
NAME 'dlzHostName'
|
||||||
DESC 'Host portion of a domain name'
|
DESC 'Host portion of a domain name'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.30
|
attributetype ( 1.3.6.1.4.1.18420.1.1.30
|
||||||
NAME 'dlzData'
|
NAME 'dlzData'
|
||||||
DESC 'Data for the resource record'
|
DESC 'Data for the resource record'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.40
|
attributetype ( 1.3.6.1.4.1.18420.1.1.40
|
||||||
NAME 'dlzType'
|
NAME 'dlzType'
|
||||||
DESC 'DNS record type - A, SOA, NS, MX, etc...'
|
DESC 'DNS record type - A, SOA, NS, MX, etc...'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.50
|
attributetype ( 1.3.6.1.4.1.18420.1.1.50
|
||||||
NAME 'dlzSerial'
|
NAME 'dlzSerial'
|
||||||
DESC 'SOA record serial number'
|
DESC 'SOA record serial number'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.60
|
attributetype ( 1.3.6.1.4.1.18420.1.1.60
|
||||||
NAME 'dlzRefresh'
|
NAME 'dlzRefresh'
|
||||||
DESC 'SOA record refresh time in seconds'
|
DESC 'SOA record refresh time in seconds'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.70
|
attributetype ( 1.3.6.1.4.1.18420.1.1.70
|
||||||
NAME 'dlzRetry'
|
NAME 'dlzRetry'
|
||||||
DESC 'SOA retry time in seconds'
|
DESC 'SOA retry time in seconds'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.80
|
attributetype ( 1.3.6.1.4.1.18420.1.1.80
|
||||||
NAME 'dlzExpire'
|
NAME 'dlzExpire'
|
||||||
DESC 'SOA expire time in seconds'
|
DESC 'SOA expire time in seconds'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.90
|
attributetype ( 1.3.6.1.4.1.18420.1.1.90
|
||||||
NAME 'dlzMinimum'
|
NAME 'dlzMinimum'
|
||||||
DESC 'SOA minimum time in seconds'
|
DESC 'SOA minimum time in seconds'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.100
|
attributetype ( 1.3.6.1.4.1.18420.1.1.100
|
||||||
NAME 'dlzAdminEmail'
|
NAME 'dlzAdminEmail'
|
||||||
DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)'
|
DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.110
|
attributetype ( 1.3.6.1.4.1.18420.1.1.110
|
||||||
NAME 'dlzPrimaryNS'
|
NAME 'dlzPrimaryNS'
|
||||||
DESC 'Primary name server for this zone - should be host name not IP address'
|
DESC 'Primary name server for this zone - should be host name not IP address'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.120
|
attributetype ( 1.3.6.1.4.1.18420.1.1.120
|
||||||
NAME 'dlzIPAddr'
|
NAME 'dlzIPAddr'
|
||||||
DESC 'IP address - IPV4 should be in dot notation xxx.xxx.xxx.xxx IPV6 should be in colon notation xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'
|
DESC 'IP address - IPV4 should be in dot notation xxx.xxx.xxx.xxx IPV6 should be in colon notation xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'
|
||||||
EQUALITY caseExactIA5Match
|
EQUALITY caseExactIA5Match
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40}
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40}
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.130
|
attributetype ( 1.3.6.1.4.1.18420.1.1.130
|
||||||
NAME 'dlzCName'
|
NAME 'dlzCName'
|
||||||
DESC 'DNS cname'
|
DESC 'DNS cname'
|
||||||
SUP name
|
SUP name
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.140
|
attributetype ( 1.3.6.1.4.1.18420.1.1.140
|
||||||
NAME 'dlzPreference'
|
NAME 'dlzPreference'
|
||||||
DESC 'DNS MX record preference. Lower numbers have higher preference'
|
DESC 'DNS MX record preference. Lower numbers have higher preference'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.150
|
attributetype ( 1.3.6.1.4.1.18420.1.1.150
|
||||||
NAME 'dlzTTL'
|
NAME 'dlzTTL'
|
||||||
DESC 'DNS time to live - how long this record can be cached by caching DNS servers'
|
DESC 'DNS time to live - how long this record can be cached by caching DNS servers'
|
||||||
EQUALITY integerMatch
|
EQUALITY integerMatch
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
|
||||||
SINGLE-VALUE )
|
SINGLE-VALUE )
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.4.1.18420.1.1.160
|
attributetype ( 1.3.6.1.4.1.18420.1.1.160
|
||||||
NAME 'dlzRecordID'
|
NAME 'dlzRecordID'
|
||||||
DESC 'Unique ID for each DLZ resource record'
|
DESC 'Unique ID for each DLZ resource record'
|
||||||
@@ -118,70 +118,75 @@ attributetype ( 1.3.6.1.4.1.18420.1.1.160
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.10
|
objectclass ( 1.3.6.1.4.1.18420.1.2.10
|
||||||
NAME 'dlzZone'
|
NAME 'dlzZone'
|
||||||
DESC 'Zone name portion of a domain name'
|
DESC 'Zone name portion of a domain name'
|
||||||
SUP top STRUCTURAL
|
SUP top STRUCTURAL
|
||||||
MUST ( objectclass $ dlzZoneName ) )
|
MUST ( objectclass $ dlzZoneName ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.20
|
objectclass ( 1.3.6.1.4.1.18420.1.2.20
|
||||||
NAME 'dlzHost'
|
NAME 'dlzHost'
|
||||||
DESC 'Host name portion of a domain name'
|
DESC 'Host name portion of a domain name'
|
||||||
SUP top STRUCTURAL
|
SUP top STRUCTURAL
|
||||||
MUST ( objectclass $ dlzHostName ) MAY ( description ) )
|
MUST ( objectclass $ dlzHostName ) MAY ( description ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.30
|
objectclass ( 1.3.6.1.4.1.18420.1.2.30
|
||||||
NAME 'dlzAbstractRecord'
|
NAME 'dlzAbstractRecord'
|
||||||
DESC 'Data common to all DNS record types'
|
DESC 'Data common to all DNS record types'
|
||||||
SUP top ABSTRACT
|
SUP top ABSTRACT
|
||||||
MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) MAY ( description ) )
|
MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) MAY ( description ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.40
|
objectclass ( 1.3.6.1.4.1.18420.1.2.40
|
||||||
NAME 'dlzGenericRecord'
|
NAME 'dlzGenericRecord'
|
||||||
DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record'
|
DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record'
|
||||||
SUP dlzAbstractRecord STRUCTURAL
|
SUP dlzAbstractRecord STRUCTURAL
|
||||||
MUST ( dlzData ) )
|
MUST ( dlzData ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.50
|
objectclass ( 1.3.6.1.4.1.18420.1.2.50
|
||||||
NAME 'dlzARecord'
|
NAME 'dlzARecord'
|
||||||
DESC 'DNS A record'
|
DESC 'DNS A record'
|
||||||
SUP dlzAbstractrecord STRUCTURAL
|
SUP dlzAbstractrecord STRUCTURAL
|
||||||
MUST ( dlzIPAddr ) )
|
MUST ( dlzIPAddr ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.60
|
objectclass ( 1.3.6.1.4.1.18420.1.2.60
|
||||||
NAME 'dlzNSRecord'
|
NAME 'dlzNSRecord'
|
||||||
DESC 'DNS NS record'
|
DESC 'DNS NS record'
|
||||||
SUP dlzGenericRecord STRUCTURAL )
|
SUP dlzGenericRecord STRUCTURAL )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.70
|
objectclass ( 1.3.6.1.4.1.18420.1.2.70
|
||||||
NAME 'dlzMXRecord'
|
NAME 'dlzMXRecord'
|
||||||
DESC 'DNS MX record'
|
DESC 'DNS MX record'
|
||||||
SUP dlzGenericRecord STRUCTURAL
|
SUP dlzGenericRecord STRUCTURAL
|
||||||
MUST ( dlzPreference ) )
|
MUST ( dlzPreference ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.80
|
objectclass ( 1.3.6.1.4.1.18420.1.2.80
|
||||||
NAME 'dlzSOARecord'
|
NAME 'dlzSOARecord'
|
||||||
DESC 'DNS SOA record'
|
DESC 'DNS SOA record'
|
||||||
SUP dlzAbstractRecord STRUCTURAL
|
SUP dlzAbstractRecord STRUCTURAL
|
||||||
MUST ( dlzSerial $ dlzRefresh $ dlzRetry
|
MUST ( dlzSerial $ dlzRefresh $ dlzRetry
|
||||||
$ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) )
|
$ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.90
|
objectclass ( 1.3.6.1.4.1.18420.1.2.90
|
||||||
NAME 'dlzTextRecord'
|
NAME 'dlzTextRecord'
|
||||||
DESC 'Text data with spaces should be wrapped in double quotes'
|
DESC 'Text data with spaces should be wrapped in double quotes'
|
||||||
SUP dlzGenericRecord STRUCTURAL )
|
SUP dlzGenericRecord STRUCTURAL )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.100
|
objectclass ( 1.3.6.1.4.1.18420.1.2.100
|
||||||
NAME 'dlzPTRRecord'
|
NAME 'dlzPTRRecord'
|
||||||
DESC 'DNS PTR record'
|
DESC 'DNS PTR record'
|
||||||
SUP dlzGenericRecord STRUCTURAL )
|
SUP dlzGenericRecord STRUCTURAL )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.110
|
objectclass ( 1.3.6.1.4.1.18420.1.2.110
|
||||||
NAME 'dlzCNameRecord'
|
NAME 'dlzCNameRecord'
|
||||||
DESC 'DNS CName record'
|
DESC 'DNS CName record'
|
||||||
SUP dlzGenericRecord STRUCTURAL )
|
SUP dlzGenericRecord STRUCTURAL )
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.18420.1.2.120
|
objectclass ( 1.3.6.1.4.1.18420.1.2.120
|
||||||
NAME 'dlzXFR'
|
NAME 'dlzXFR'
|
||||||
DESC 'Host allowed to perform zone transfer'
|
DESC 'Host allowed to perform zone transfer'
|
||||||
SUP top STRUCTURAL
|
SUP top STRUCTURAL
|
||||||
MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) )
|
MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) )
|
||||||
|
|
||||||
|
objectclass ( 1.3.6.1.4.1.18420.1.2.130
|
||||||
|
NAME 'dlzDNameRecord'
|
||||||
|
DESC 'DNS DName record'
|
||||||
|
SUP dlzGenericRecord STRUCTURAL )
|
||||||
|
@@ -40,6 +40,14 @@ dn: dlzHostName=~,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
|||||||
objectclass: dlzHost
|
objectclass: dlzHost
|
||||||
dlzHostName: ~
|
dlzHostName: ~
|
||||||
|
|
||||||
|
dn: dlzHostName=cname,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
||||||
|
objectclass: dlzHost
|
||||||
|
dlzHostName: cname
|
||||||
|
|
||||||
|
dn: dlzHostName=dname,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
||||||
|
objectclass: dlzHost
|
||||||
|
dlzHostName: dname
|
||||||
|
|
||||||
dn: dlzRecordID=1,dlzHostName=@,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
dn: dlzRecordID=1,dlzHostName=@,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
||||||
objectclass: dlzGenericRecord
|
objectclass: dlzGenericRecord
|
||||||
dlzRecordID: 1
|
dlzRecordID: 1
|
||||||
@@ -166,3 +174,19 @@ dn: dlzRecordID=15,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
|||||||
objectclass: dlzXFR
|
objectclass: dlzXFR
|
||||||
dlzRecordID: 15
|
dlzRecordID: 15
|
||||||
dlzIPAddr: 127.0.0.1
|
dlzIPAddr: 127.0.0.1
|
||||||
|
|
||||||
|
dn: dlzRecordID=16,dlzHostName=cname,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
||||||
|
objectclass: dlzCNameRecord
|
||||||
|
dlzRecordID: 16
|
||||||
|
dlzHostName: cname
|
||||||
|
dlzType: cname
|
||||||
|
dlzData: www
|
||||||
|
dlzTTL: 10
|
||||||
|
|
||||||
|
dn: dlzRecordID=17,dlzHostName=dname,dlzZoneName=example.com,ou=dns,o=bind-dlz
|
||||||
|
objectclass: dlzDNameRecord
|
||||||
|
dlzRecordID: 17
|
||||||
|
dlzHostName: dname
|
||||||
|
dlzType: dname
|
||||||
|
dlzData: example.net.
|
||||||
|
dlzTTL: 10
|
||||||
|
Reference in New Issue
Block a user