]> git.argeo.org Git - lgpl/argeo-commons.git/blob - src/org/argeo/naming/LdapAttrs.java
Prepare next development cycle
[lgpl/argeo-commons.git] / src / org / argeo / naming / LdapAttrs.java
1 package org.argeo.naming;
2
3 /**
4 * Standard LDAP attributes as per:<br>
5 * - <a href= "https://www.ldap.com/ldap-oid-reference">Standard LDAP</a><br>
6 * - <a href=
7 * "https://github.com/krb5/krb5/blob/master/src/plugins/kdb/ldap/libkdb_ldap/kerberos.schema">Kerberos
8 * LDAP (partial)</a>
9 */
10 public enum LdapAttrs implements SpecifiedName {
11 /** */
12 uid("0.9.2342.19200300.100.1.1", "RFC 4519"),
13 /** */
14 mail("0.9.2342.19200300.100.1.3", "RFC 4524"),
15 /** */
16 info("0.9.2342.19200300.100.1.4", "RFC 4524"),
17 /** */
18 drink("0.9.2342.19200300.100.1.5", "RFC 4524"),
19 /** */
20 roomNumber("0.9.2342.19200300.100.1.6", "RFC 4524"),
21 /** */
22 photo("0.9.2342.19200300.100.1.7", "RFC 2798"),
23 /** */
24 userClass("0.9.2342.19200300.100.1.8", "RFC 4524"),
25 /** */
26 host("0.9.2342.19200300.100.1.9", "RFC 4524"),
27 /** */
28 manager("0.9.2342.19200300.100.1.10", "RFC 4524"),
29 /** */
30 documentIdentifier("0.9.2342.19200300.100.1.11", "RFC 4524"),
31 /** */
32 documentTitle("0.9.2342.19200300.100.1.12", "RFC 4524"),
33 /** */
34 documentVersion("0.9.2342.19200300.100.1.13", "RFC 4524"),
35 /** */
36 documentAuthor("0.9.2342.19200300.100.1.14", "RFC 4524"),
37 /** */
38 documentLocation("0.9.2342.19200300.100.1.15", "RFC 4524"),
39 /** */
40 homePhone("0.9.2342.19200300.100.1.20", "RFC 4524"),
41 /** */
42 secretary("0.9.2342.19200300.100.1.21", "RFC 4524"),
43 /** */
44 dc("0.9.2342.19200300.100.1.25", "RFC 4519"),
45 /** */
46 associatedDomain("0.9.2342.19200300.100.1.37", "RFC 4524"),
47 /** */
48 associatedName("0.9.2342.19200300.100.1.38", "RFC 4524"),
49 /** */
50 homePostalAddress("0.9.2342.19200300.100.1.39", "RFC 4524"),
51 /** */
52 personalTitle("0.9.2342.19200300.100.1.40", "RFC 4524"),
53 /** */
54 mobile("0.9.2342.19200300.100.1.41", "RFC 4524"),
55 /** */
56 pager("0.9.2342.19200300.100.1.42", "RFC 4524"),
57 /** */
58 co("0.9.2342.19200300.100.1.43", "RFC 4524"),
59 /** */
60 uniqueIdentifier("0.9.2342.19200300.100.1.44", "RFC 4524"),
61 /** */
62 organizationalStatus("0.9.2342.19200300.100.1.45", "RFC 4524"),
63 /** */
64 buildingName("0.9.2342.19200300.100.1.48", "RFC 4524"),
65 /** */
66 audio("0.9.2342.19200300.100.1.55", "RFC 2798"),
67 /** */
68 documentPublisher("0.9.2342.19200300.100.1.56", "RFC 4524"),
69 /** */
70 jpegPhoto("0.9.2342.19200300.100.1.60", "RFC 2798"),
71 /** */
72 vendorName("1.3.6.1.1.4", "RFC 3045"),
73 /** */
74 vendorVersion("1.3.6.1.1.5", "RFC 3045"),
75 /** */
76 entryUUID("1.3.6.1.1.16.4", "RFC 4530"),
77 /** */
78 entryDN("1.3.6.1.1.20", "RFC 5020"),
79 /** */
80 labeledURI("1.3.6.1.4.1.250.1.57", "RFC 2798"),
81 /** */
82 numSubordinates("1.3.6.1.4.1.453.16.2.103", "draft-ietf-boreham-numsubordinates"),
83 /** */
84 namingContexts("1.3.6.1.4.1.1466.101.120.5", "RFC 4512"),
85 /** */
86 altServer("1.3.6.1.4.1.1466.101.120.6", "RFC 4512"),
87 /** */
88 supportedExtension("1.3.6.1.4.1.1466.101.120.7", "RFC 4512"),
89 /** */
90 supportedControl("1.3.6.1.4.1.1466.101.120.13", "RFC 4512"),
91 /** */
92 supportedSASLMechanisms("1.3.6.1.4.1.1466.101.120.14", "RFC 4512"),
93 /** */
94 supportedLDAPVersion("1.3.6.1.4.1.1466.101.120.15", "RFC 4512"),
95 /** */
96 ldapSyntaxes("1.3.6.1.4.1.1466.101.120.16", "RFC 4512"),
97 /** */
98 supportedAuthPasswordSchemes("1.3.6.1.4.1.4203.1.3.3", "RFC 3112"),
99 /** */
100 authPassword("1.3.6.1.4.1.4203.1.3.4", "RFC 3112"),
101 /** */
102 supportedFeatures("1.3.6.1.4.1.4203.1.3.5", "RFC 4512"),
103 /** */
104 inheritable("1.3.6.1.4.1.7628.5.4.1", "draft-ietf-ldup-subentry"),
105 /** */
106 blockInheritance("1.3.6.1.4.1.7628.5.4.2", "draft-ietf-ldup-subentry"),
107 /** */
108 objectClass("2.5.4.0", "RFC 4512"),
109 /** */
110 aliasedObjectName("2.5.4.1", "RFC 4512"),
111 /** */
112 cn("2.5.4.3", "RFC 4519"),
113 /** */
114 sn("2.5.4.4", "RFC 4519"),
115 /** */
116 serialNumber("2.5.4.5", "RFC 4519"),
117 /** */
118 c("2.5.4.6", "RFC 4519"),
119 /** */
120 l("2.5.4.7", "RFC 4519"),
121 /** */
122 st("2.5.4.8", "RFC 4519"),
123 /** */
124 street("2.5.4.9", "RFC 4519"),
125 /** */
126 o("2.5.4.10", "RFC 4519"),
127 /** */
128 ou("2.5.4.11", "RFC 4519"),
129 /** */
130 title("2.5.4.12", "RFC 4519"),
131 /** */
132 description("2.5.4.13", "RFC 4519"),
133 /** */
134 searchGuide("2.5.4.14", "RFC 4519"),
135 /** */
136 businessCategory("2.5.4.15", "RFC 4519"),
137 /** */
138 postalAddress("2.5.4.16", "RFC 4519"),
139 /** */
140 postalCode("2.5.4.17", "RFC 4519"),
141 /** */
142 postOfficeBox("2.5.4.18", "RFC 4519"),
143 /** */
144 physicalDeliveryOfficeName("2.5.4.19", "RFC 4519"),
145 /** */
146 telephoneNumber("2.5.4.20", "RFC 4519"),
147 /** */
148 telexNumber("2.5.4.21", "RFC 4519"),
149 /** */
150 teletexTerminalIdentifier("2.5.4.22", "RFC 4519"),
151 /** */
152 facsimileTelephoneNumber("2.5.4.23", "RFC 4519"),
153 /** */
154 x121Address("2.5.4.24", "RFC 4519"),
155 /** */
156 internationalISDNNumber("2.5.4.25", "RFC 4519"),
157 /** */
158 registeredAddress("2.5.4.26", "RFC 4519"),
159 /** */
160 destinationIndicator("2.5.4.27", "RFC 4519"),
161 /** */
162 preferredDeliveryMethod("2.5.4.28", "RFC 4519"),
163 /** */
164 member("2.5.4.31", "RFC 4519"),
165 /** */
166 owner("2.5.4.32", "RFC 4519"),
167 /** */
168 roleOccupant("2.5.4.33", "RFC 4519"),
169 /** */
170 seeAlso("2.5.4.34", "RFC 4519"),
171 /** */
172 userPassword("2.5.4.35", "RFC 4519"),
173 /** */
174 userCertificate("2.5.4.36", "RFC 4523"),
175 /** */
176 cACertificate("2.5.4.37", "RFC 4523"),
177 /** */
178 authorityRevocationList("2.5.4.38", "RFC 4523"),
179 /** */
180 certificateRevocationList("2.5.4.39", "RFC 4523"),
181 /** */
182 crossCertificatePair("2.5.4.40", "RFC 4523"),
183 /** */
184 name("2.5.4.41", "RFC 4519"),
185 /** */
186 givenName("2.5.4.42", "RFC 4519"),
187 /** */
188 initials("2.5.4.43", "RFC 4519"),
189 /** */
190 generationQualifier("2.5.4.44", "RFC 4519"),
191 /** */
192 x500UniqueIdentifier("2.5.4.45", "RFC 4519"),
193 /** */
194 dnQualifier("2.5.4.46", "RFC 4519"),
195 /** */
196 enhancedSearchGuide("2.5.4.47", "RFC 4519"),
197 /** */
198 distinguishedName("2.5.4.49", "RFC 4519"),
199 /** */
200 uniqueMember("2.5.4.50", "RFC 4519"),
201 /** */
202 houseIdentifier("2.5.4.51", "RFC 4519"),
203 /** */
204 supportedAlgorithms("2.5.4.52", "RFC 4523"),
205 /** */
206 deltaRevocationList("2.5.4.53", "RFC 4523"),
207 /** */
208 createTimestamp("2.5.18.1", "RFC 4512"),
209 /** */
210 modifyTimestamp("2.5.18.2", "RFC 4512"),
211 /** */
212 creatorsName("2.5.18.3", "RFC 4512"),
213 /** */
214 modifiersName("2.5.18.4", "RFC 4512"),
215 /** */
216 subschemaSubentry("2.5.18.10", "RFC 4512"),
217 /** */
218 dITStructureRules("2.5.21.1", "RFC 4512"),
219 /** */
220 dITContentRules("2.5.21.2", "RFC 4512"),
221 /** */
222 matchingRules("2.5.21.4", "RFC 4512"),
223 /** */
224 attributeTypes("2.5.21.5", "RFC 4512"),
225 /** */
226 objectClasses("2.5.21.6", "RFC 4512"),
227 /** */
228 nameForms("2.5.21.7", "RFC 4512"),
229 /** */
230 matchingRuleUse("2.5.21.8", "RFC 4512"),
231 /** */
232 structuralObjectClass("2.5.21.9", "RFC 4512"),
233 /** */
234 governingStructureRule("2.5.21.10", "RFC 4512"),
235 /** */
236 carLicense("2.16.840.1.113730.3.1.1", "RFC 2798"),
237 /** */
238 departmentNumber("2.16.840.1.113730.3.1.2", "RFC 2798"),
239 /** */
240 employeeNumber("2.16.840.1.113730.3.1.3", "RFC 2798"),
241 /** */
242 employeeType("2.16.840.1.113730.3.1.4", "RFC 2798"),
243 /** */
244 changeNumber("2.16.840.1.113730.3.1.5", "draft-good-ldap-changelog"),
245 /** */
246 targetDN("2.16.840.1.113730.3.1.6", "draft-good-ldap-changelog"),
247 /** */
248 changeType("2.16.840.1.113730.3.1.7", "draft-good-ldap-changelog"),
249 /** */
250 changes("2.16.840.1.113730.3.1.8", "draft-good-ldap-changelog"),
251 /** */
252 newRDN("2.16.840.1.113730.3.1.9", "draft-good-ldap-changelog"),
253 /** */
254 deleteOldRDN("2.16.840.1.113730.3.1.10", "draft-good-ldap-changelog"),
255 /** */
256 newSuperior("2.16.840.1.113730.3.1.11", "draft-good-ldap-changelog"),
257 /** */
258 ref("2.16.840.1.113730.3.1.34", "RFC 3296"),
259 /** */
260 changelog("2.16.840.1.113730.3.1.35", "draft-good-ldap-changelog"),
261 /** */
262 preferredLanguage("2.16.840.1.113730.3.1.39", "RFC 2798"),
263 /** */
264 userSMIMECertificate("2.16.840.1.113730.3.1.40", "RFC 2798"),
265 /** */
266 userPKCS12("2.16.840.1.113730.3.1.216", "RFC 2798"),
267 /** */
268 displayName("2.16.840.1.113730.3.1.241", "RFC 2798"),
269
270 // Sun memberOf
271 memberOf("1.2.840.113556.1.2.102", "389 DS memberOf"),
272
273 // KERBEROS (partial)
274 krbPrincipalName("2.16.840.1.113719.1.301.6.8.1", "Novell Kerberos Schema Definitions"),
275
276 // RFC 2985 and RFC 3039 (partial)
277 dateOfBirth("1.3.6.1.5.5.7.9.1", "RFC 2985"),
278 /** */
279 placeOfBirth("1.3.6.1.5.5.7.9.2", "RFC 2985"),
280 /** */
281 gender("1.3.6.1.5.5.7.9.3", "RFC 2985"),
282 /** */
283 countryOfCitizenship("1.3.6.1.5.5.7.9.4", "RFC 2985"),
284 /** */
285 countryOfResidence("1.3.6.1.5.5.7.9.5", "RFC 2985"),
286 //
287 ;
288
289 public final static String DN = "dn";
290
291 // private final static String LDAP_ = "ldap:";
292
293 private final String oid, spec;
294
295 LdapAttrs(String oid, String spec) {
296 this.oid = oid;
297 this.spec = spec;
298 }
299
300 @Override
301 public String getID() {
302 return oid;
303 }
304
305 @Override
306 public String getSpec() {
307 return spec;
308 }
309
310 public String getPrefix() {
311 return prefix();
312 }
313
314 public static String prefix() {
315 return "ldap";
316 }
317
318 public String property() {
319 return qualified();
320 }
321
322 public String qualified() {
323 String prefix = getPrefix();
324 return prefix != null ? prefix + ":" + name() : name();
325 }
326
327 public String getNamespace() {
328 return namespace();
329 }
330
331 public static String namespace() {
332 return "http://www.argeo.org/ns/ldap";
333 }
334
335 @Override
336 public final String toString() {
337 // must return the name
338 return name();
339 }
340
341 }