Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / bsd / openldap / dist / servers / slapd / schema / dyngroup.schema
blob25e4dc08aedbad5563929768de094deeb214a1d8
1 # dyngroup.schema -- Dynamic Group schema
2 # $OpenLDAP: pkg/ldap/servers/slapd/schema/dyngroup.schema,v 1.6.2.4 2008/02/12 05:17:43 quanah Exp $
3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 ##
5 ## Copyright 1998-2008 The OpenLDAP Foundation.
6 ## All rights reserved.
7 ##
8 ## Redistribution and use in source and binary forms, with or without
9 ## modification, are permitted only as authorized by the OpenLDAP
10 ## Public License.
12 ## A copy of this license is available in the file LICENSE in the
13 ## top-level directory of the distribution or, alternatively, at
14 ## <http://www.OpenLDAP.org/license.html>.
16 # Dynamic Group schema (experimental), as defined by Netscape.  See
17 # http://www.redhat.com/docs/manuals/ent-server/pdf/esadmin611.pdf
18 # page 70 for details on how these groups were used.
20 # A description of the objectclass definition is available here:
21 # http://www.redhat.com/docs/manuals/dir-server/schema/7.1/oc_dir.html#1303745
23 # depends upon:
24 #       core.schema
26 # These definitions are considered experimental due to the lack of
27 # a formal specification (e.g., RFC).
29 # NOT RECOMMENDED FOR PRODUCTION USE!  USE WITH CAUTION!
31 # The Netscape documentation describes this as an auxiliary objectclass
32 # but their implementations have always defined it as a structural class.
33 # The sloppiness here is because Netscape-derived servers don't actually
34 # implement the X.500 data model, and they don't honor the distinction
35 # between structural and auxiliary classes. This fact is noted here:
36 # http://forum.java.sun.com/thread.jspa?threadID=5016864&messageID=9034636
38 # In accordance with other existing implementations, we define it as a
39 # structural class.
41 # Our definition of memberURL also does not match theirs but again
42 # their published definition and what works in practice do not agree.
43 # In other words, the Netscape definitions are broken and interoperability
44 # is not guaranteed.
46 # Also see the new DynGroup proposed spec at
47 # http://tools.ietf.org/html/draft-haripriya-dynamicgroup-02
49 objectIdentifier NetscapeRoot 2.16.840.1.113730
51 objectIdentifier NetscapeLDAP NetscapeRoot:3
52 objectIdentifier NetscapeLDAPattributeType NetscapeLDAP:1
53 objectIdentifier NetscapeLDAPobjectClass NetscapeLDAP:2
55 objectIdentifier OpenLDAPExp11  1.3.6.1.4.1.4203.666.11
56 objectIdentifier DynGroupBase   OpenLDAPExp11:8
57 objectIdentifier DynGroupAttr   DynGroupBase:1
58 objectIdentifier DynGroupOC     DynGroupBase:2
60 attributetype ( NetscapeLDAPattributeType:198
61         NAME 'memberURL'
62         DESC 'Identifies an URL associated with each member of a group. Any type of labeled URL can be used.'
63         SUP labeledURI )
65 attributetype ( DynGroupAttr:1
66         NAME 'dgIdentity'
67         DESC 'Identity to use when processing the memberURL'
68         SUP distinguishedName SINGLE-VALUE )
70 attributeType ( DynGroupAttr:2
71         NAME 'dgAuthz'
72         DESC 'Optional authorization rules that determine who is allowed to assume the dgIdentity'
73         EQUALITY authzMatch
74         SYNTAX 1.3.6.1.4.1.4203.666.2.7
75         X-ORDERED 'VALUES' )
77 objectClass ( NetscapeLDAPobjectClass:33
78         NAME 'groupOfURLs'
79         SUP top STRUCTURAL
80         MUST cn
81         MAY ( memberURL $ businessCategory $ description $ o $ ou $
82                 owner $ seeAlso ) )
84 # The Haripriya dyngroup schema still needs a lot of work.
85 # We're just adding support for the dgIdentity attribute for now...
86 objectClass ( DynGroupOC:1
87         NAME 'dgIdentityAux'
88         SUP top AUXILIARY
89         MAY ( dgIdentity $ dgAuthz ) )