# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 2019-2020 The OpenLDAP Foundation.
## 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>.

# This file is provided for informational purposes only.

# These definitions are from Sun DSEE 7's cn=schema subentry.
# None of the attributes had matching rules defined; we've
# inserted usable ones as needed.

# Some of these attributes are defined with NO-USER-MODIFICATION,
# but slapd won't load such definitions from user-modifiable schema
# files. So that designation has been removed, and commented accordingly.

objectidentifier NetscapeRoot 2.16.840.1.113730
objectidentifier NetscapeDS NetscapeRoot:3
objectidentifier NSDSat	NetscapeDS:1
objectidentifier NSDSoc NetscapeDS:2
objectidentifier SunRoot 1.3.6.1.4.1.42
objectidentifier SunDS SunRoot:2.27

attributetype ( 1.2.840.113556.1.2.102
	NAME 'memberOf'
	DESC 'Group that the entry belongs to'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
	X-ORIGIN 'Netscape Delegated Administrator' )

attributetype ( NSDSat:9999
	NAME 'entryId'
	DESC 'Supplier Internal Id'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( 1.3.1.1.4.1.453.16.2.103
	NAME 'numSubordinates'
	DESC 'Number of Subordinate Entries from Supplier'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:55
	NAME 'aci'
	DESC 'NSDS ACI'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:9998
	NAME 'parentId'
	DESC 'Supplier Internal Id'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:610
	NAME 'nsAccountLock'
	DESC 'Operational attribute for Account Inactivation'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE
	X-ORIGIN '389 Directory Server Project' )

attributetype ( NSDSat:2343
	name 'legalName'
	DESC 'An individuals legalName'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE
	X-ORIGIN '389 Directory Server Project' )

attributetype ( NSDSat:2337
	NAME 'nsCertSubjectDN'
	DESC 'An x509 DN from a certificate used to map during a TLS bind process'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
	X-ORIGIN '389 Directory Server Project' )

attributetype ( NSDSat:2111
	NAME 'tombstoneNumSubordinates'
	DESC 'count of immediate subordinates for tombstone entries'
	EQUALITY integerMatch
	ORDERING integerOrderingMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
	SINGLE-VALUE
	X-ORIGIN '389 directory server' )

attributetype ( NSDSat:2342
	NAME 'nsSshPublicKey'
	DESC 'An nsSshPublicKey record'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	X-ORIGIN '389 Directory Server Project' )

attributetype ( NSDSat:5
	NAME 'changeNumber'
	DESC 'Changelog attribute type'
	EQUALITY integerMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:6
	NAME 'targetDn'
	DESC 'Changelog attribute type'
	EQUALITY distinguishedNameMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:7
	NAME 'changeType'
	DESC 'Changelog attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	X-ORIGIN 'Changelog Internet Draft' )

# They claim Binary syntax but it's really octetString
attributetype ( NSDSat:8
	NAME 'changes'
	DESC 'Changelog attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.5
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:9
	NAME 'newRdn'
	DESC 'Changelog attribute type'
	EQUALITY distinguishedNameMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:10
	NAME 'deleteOldRdn'
	DESC 'Changelog attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
	X-ORIGIN 'Changelog Internet Draft' )

attributetype ( NSDSat:11
	NAME 'newSuperior'
	DESC 'Changelog attribute type'
	EQUALITY distinguishedNameMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
	X-ORIGIN 'Changelog Internet Draft' )

# should be generalizedTime, but they used directoryString instead...
attributeType ( NSDSat:77
	NAME 'changeTime'
	DESC 'Sun ONE defined attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	X-ORIGIN 'Sun ONE Directory Server' )

# These are UUIDs, but (of course) hyphenated differently than ours.
# NO-USER-MODIFICATION
attributetype ( NSDSat:542
	NAME 'nsUniqueId'
	DESC 'Sun ONE defined attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE
	X-ORIGIN 'Sun ONE Directory Server' )

# NO-USER-MODIFICATION
attributeype ( SunDS:9.1.596
	NAME 'targetUniqueId'
	DESC 'RetroChangelog attribute type'
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
	SINGLE-VALUE
	X-ORIGIN 'Sun Directory Server' )

objectclass ( NSDSoc:1
	NAME 'changeLogEntry'
	DESC 'LDAP changelog objectclass'
	SUP top STRUCTURAL
	MUST ( targetDn $ changeTime $ changeNumber $ changeType )
	MAY ( changes $ newRdn $ deleteOldRdn $ newSuperior )
	X-ORIGIN 'Changelog Internet Draft' )

objectclass ( NSDSoc:333
	NAME 'nsPerson'
	DESC 'A representation of a person in a directory server'
	SUP top STRUCTURAL
	MUST ( displayName $ cn )
	MAY ( userPassword $ seeAlso $ description $ legalName $ mail $ preferredLanguage )
	X-ORIGIN '389 Directory Server Project' )

objectclass ( NSDSoc:331
	NAME 'nsAccount'
	DESC 'A representation of a binding user in a directory server'
	SUP top AUXILIARY
	MAY ( userCertificate $ nsCertSubjectDN $ nsSshPublicKey $ userPassword $ nsAccountLock )
	X-ORIGIN '389 Directory Server Project' )

objectclass ( NSDSoc:334
	NAME 'nsOrgPerson'
	DESC 'A representation of an org person in directory server. See also inetOrgPerson.'
	SUP top AUXILIARY
	MAY ( businessCategory $ carLicense $ departmentNumber $ employeeNumber $ employeeType $ homePhone $ homePostalAddress $ initials $ jpegPhoto $ labeledURI $ manager $ mobile $ o $ pager $ photo $ roomNumber $ uid $ userCertificate $ telephoneNumber $ x500uniqueIdentifier $ userSMIMECertificate $ userPKCS12 )
	X-ORIGIN '389 Directory Server Project' )

objectclass ( NSDSoc:329
	NAME 'nsMemberOf'
	DESC 'Allow memberOf assignment on groups for nesting and users'
	SUP top AUXILIARY
	MAY ( memberOf )
	X-ORIGIN '389 Directory Server Project' )
