1#
2#
3# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project.
4# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project.
5# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute
6#                     types and object classes that may be needed by end users
7#                     to add security, etc.  Attributes and object classes using
8#                     this OID MUST NOT be published outside of an organization
9#                     except to offer them for consideration to become part of the
10#                     standard attributes and object classes published by the DLZ project.
11
12attributetype ( 1.3.6.1.4.1.18420.1.1.10
13        NAME 'dlzZoneName'
14        DESC 'DNS zone name - domain name not including host name'
15        SUP name
16        SINGLE-VALUE )
17
18attributetype ( 1.3.6.1.4.1.18420.1.1.20
19	NAME 'dlzHostName'
20        DESC 'Host portion of a domain name'
21	SUP name
22        SINGLE-VALUE )
23
24attributetype ( 1.3.6.1.4.1.18420.1.1.30
25        NAME 'dlzData'
26        DESC 'Data for the resource record'
27        SUP name
28        SINGLE-VALUE )
29
30attributetype ( 1.3.6.1.4.1.18420.1.1.40
31	NAME 'dlzType'
32        DESC 'DNS record type - A, SOA, NS, MX, etc...'
33        SUP name
34        SINGLE-VALUE )
35
36attributetype ( 1.3.6.1.4.1.18420.1.1.50
37	NAME 'dlzSerial'
38        DESC 'SOA record serial number'
39        EQUALITY integerMatch
40        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
41        SINGLE-VALUE )
42
43attributetype ( 1.3.6.1.4.1.18420.1.1.60
44	NAME 'dlzRefresh'
45        DESC 'SOA record refresh time in seconds'
46        EQUALITY integerMatch
47	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
48        SINGLE-VALUE )
49
50attributetype ( 1.3.6.1.4.1.18420.1.1.70
51	NAME 'dlzRetry'
52        DESC 'SOA retry time in seconds'
53        EQUALITY integerMatch
54	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
55        SINGLE-VALUE )
56
57attributetype ( 1.3.6.1.4.1.18420.1.1.80
58	NAME 'dlzExpire'
59        DESC 'SOA expire time in seconds'
60        EQUALITY integerMatch
61	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
62        SINGLE-VALUE )
63
64attributetype ( 1.3.6.1.4.1.18420.1.1.90
65	NAME 'dlzMinimum'
66        DESC 'SOA minimum time in seconds'
67        EQUALITY integerMatch
68	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
69        SINGLE-VALUE )
70
71attributetype ( 1.3.6.1.4.1.18420.1.1.100
72        NAME 'dlzAdminEmail'
73        DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)'
74	SUP name
75        SINGLE-VALUE )
76
77attributetype ( 1.3.6.1.4.1.18420.1.1.110
78	NAME 'dlzPrimaryNS'
79        DESC 'Primary name server for this zone - should be host name not IP address'
80	SUP name
81        SINGLE-VALUE )
82
83attributetype ( 1.3.6.1.4.1.18420.1.1.120
84	NAME 'dlzIPAddr'
85        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'
86	EQUALITY caseExactIA5Match
87	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40}
88	SINGLE-VALUE )
89
90attributetype ( 1.3.6.1.4.1.18420.1.1.130
91	NAME 'dlzCName'
92        DESC 'DNS cname'
93	SUP name
94        SINGLE-VALUE )
95
96attributetype ( 1.3.6.1.4.1.18420.1.1.140
97	NAME 'dlzPreference'
98        DESC 'DNS MX record preference.  Lower numbers have higher preference'
99        EQUALITY integerMatch
100	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
101        SINGLE-VALUE )
102
103attributetype ( 1.3.6.1.4.1.18420.1.1.150
104	NAME 'dlzTTL'
105        DESC 'DNS time to live - how long this record can be cached by caching DNS servers'
106        EQUALITY integerMatch
107	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
108        SINGLE-VALUE )
109
110attributetype ( 1.3.6.1.4.1.18420.1.1.160
111	NAME 'dlzRecordID'
112	DESC 'Unique ID for each DLZ resource record'
113	SUP name
114	SINGLE-VALUE )
115
116#------------------------------------------------------------------------------
117# Object class definitions
118#------------------------------------------------------------------------------
119
120objectclass ( 1.3.6.1.4.1.18420.1.2.10
121	NAME 'dlzZone'
122        DESC 'Zone name portion of a domain name'
123        SUP top STRUCTURAL
124	MUST ( objectclass $ dlzZoneName ) )
125
126objectclass ( 1.3.6.1.4.1.18420.1.2.20
127	NAME 'dlzHost'
128        DESC 'Host name portion of a domain name'
129        SUP top STRUCTURAL
130	MUST ( objectclass $ dlzHostName ) )
131
132objectclass ( 1.3.6.1.4.1.18420.1.2.30
133	NAME 'dlzAbstractRecord'
134        DESC 'Data common to all DNS record types'
135        SUP top ABSTRACT
136	MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) )
137
138objectclass ( 1.3.6.1.4.1.18420.1.2.40
139	NAME 'dlzGenericRecord'
140        DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record'
141        SUP dlzAbstractRecord STRUCTURAL
142	MUST ( dlzData ) )
143
144objectclass ( 1.3.6.1.4.1.18420.1.2.50
145        NAME 'dlzARecord'
146        DESC 'DNS A record'
147        SUP dlzAbstractrecord STRUCTURAL
148        MUST ( dlzIPAddr ) )
149
150objectclass ( 1.3.6.1.4.1.18420.1.2.60
151        NAME 'dlzNSRecord'
152        DESC 'DNS NS record'
153        SUP dlzGenericRecord STRUCTURAL )
154
155objectclass ( 1.3.6.1.4.1.18420.1.2.70
156        NAME 'dlzMXRecord'
157        DESC 'DNS MX record'
158        SUP dlzGenericRecord STRUCTURAL
159        MUST ( dlzPreference ) )
160
161objectclass ( 1.3.6.1.4.1.18420.1.2.80
162        NAME 'dlzSOARecord'
163        DESC 'DNS SOA record'
164        SUP dlzAbstractRecord STRUCTURAL
165        MUST ( dlzSerial $ dlzRefresh $ dlzRetry
166               $ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) )
167
168objectclass ( 1.3.6.1.4.1.18420.1.2.90
169	NAME 'dlzTextRecord'
170        DESC 'Text data with spaces should be wrapped in double quotes'
171        SUP dlzGenericRecord STRUCTURAL )
172
173objectclass ( 1.3.6.1.4.1.18420.1.2.100
174        NAME 'dlzPTRRecord'
175        DESC 'DNS PTR record'
176        SUP dlzGenericRecord STRUCTURAL )
177
178objectclass ( 1.3.6.1.4.1.18420.1.2.110
179        NAME 'dlzCNameRecord'
180        DESC 'DNS CName record'
181        SUP dlzGenericRecord STRUCTURAL )
182
183objectclass ( 1.3.6.1.4.1.18420.1.2.120
184        NAME 'dlzXFR'
185        DESC 'Host allowed to perform zone transfer'
186        SUP top STRUCTURAL
187        MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) )
188