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