dyngroup.schema 3.21 KB
Newer Older
Kurt Zeilenga's avatar
notices    
Kurt Zeilenga committed
1
# dyngroup.schema -- Dynamic Group schema
Howard Chu's avatar
Howard Chu committed
2
# $OpenLDAP$
Kurt Zeilenga's avatar
notices    
Kurt Zeilenga committed
3
4
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
5
## Copyright 1998-2019 The OpenLDAP Foundation.
Kurt Zeilenga's avatar
notices    
Kurt Zeilenga committed
6
7
8
9
10
11
12
13
14
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.
Howard Chu's avatar
Howard Chu committed
15
#
16
# Dynamic Group schema (experimental), as defined by Netscape.  See
17
18
# http://www.redhat.com/docs/manuals/ent-server/pdf/esadmin611.pdf
# page 70 for details on how these groups were used.
Howard Chu's avatar
Howard Chu committed
19
#
20
21
# A description of the objectclass definition is available here:
# http://www.redhat.com/docs/manuals/dir-server/schema/7.1/oc_dir.html#1303745
22
#
Howard Chu's avatar
Howard Chu committed
23
24
# depends upon:
#	core.schema
25
26
27
28
#
# These definitions are considered experimental due to the lack of
# a formal specification (e.g., RFC).
#
29
30
31
32
33
34
35
36
37
# NOT RECOMMENDED FOR PRODUCTION USE!  USE WITH CAUTION!
#
# The Netscape documentation describes this as an auxiliary objectclass
# but their implementations have always defined it as a structural class.
# The sloppiness here is because Netscape-derived servers don't actually
# implement the X.500 data model, and they don't honor the distinction
# between structural and auxiliary classes. This fact is noted here:
# http://forum.java.sun.com/thread.jspa?threadID=5016864&messageID=9034636
#
38
39
# In accordance with other existing implementations, we define it as a
# structural class.
40
41
42
43
44
45
#
# Our definition of memberURL also does not match theirs but again
# their published definition and what works in practice do not agree.
# In other words, the Netscape definitions are broken and interoperability
# is not guaranteed.
#
46
47
# Also see the new DynGroup proposed spec at
# http://tools.ietf.org/html/draft-haripriya-dynamicgroup-02
Howard Chu's avatar
Howard Chu committed
48
49
50
51
52
53
54

objectIdentifier NetscapeRoot 2.16.840.1.113730

objectIdentifier NetscapeLDAP NetscapeRoot:3
objectIdentifier NetscapeLDAPattributeType NetscapeLDAP:1
objectIdentifier NetscapeLDAPobjectClass NetscapeLDAP:2

55
56
57
58
59
objectIdentifier OpenLDAPExp11	1.3.6.1.4.1.4203.666.11
objectIdentifier DynGroupBase	OpenLDAPExp11:8
objectIdentifier DynGroupAttr	DynGroupBase:1
objectIdentifier DynGroupOC	DynGroupBase:2

Howard Chu's avatar
Howard Chu committed
60
61
62
63
64
attributetype ( NetscapeLDAPattributeType:198
	NAME 'memberURL'
	DESC 'Identifies an URL associated with each member of a group. Any type of labeled URL can be used.'
	SUP labeledURI )

65
66
67
68
69
attributetype ( DynGroupAttr:1
	NAME 'dgIdentity'
	DESC 'Identity to use when processing the memberURL'
	SUP distinguishedName SINGLE-VALUE )

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
70
71
72
73
74
75
76
attributeType ( DynGroupAttr:2
	NAME 'dgAuthz'
	DESC 'Optional authorization rules that determine who is allowed to assume the dgIdentity'
	EQUALITY authzMatch
	SYNTAX 1.3.6.1.4.1.4203.666.2.7
	X-ORDERED 'VALUES' )

Howard Chu's avatar
Howard Chu committed
77
78
objectClass ( NetscapeLDAPobjectClass:33
	NAME 'groupOfURLs'
79
	SUP top STRUCTURAL
Howard Chu's avatar
Howard Chu committed
80
81
82
	MUST cn
	MAY ( memberURL $ businessCategory $ description $ o $ ou $
		owner $ seeAlso ) )
83
84
85
86
87
88

# The Haripriya dyngroup schema still needs a lot of work.
# We're just adding support for the dgIdentity attribute for now...
objectClass ( DynGroupOC:1
	NAME 'dgIdentityAux'
	SUP top AUXILIARY
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
89
90
91
	MAY ( dgIdentity $ dgAuthz ) )