-# $Id: citadel.schema,v 1.16 2005/12/27 13:04:53 martin Exp $
+# $Id$
-# (c) 2003, 2004 Tassilo Erlewein <tassilo.erlewein@erfrakon.de>
-# (c) 2003-2005 Martin Konold <martin.konold@erfrakon.de>
-# (c) 2003 Achim Frank <achim.frank@erfrakon.de>
# (c) 2006 Art Cancro <ajc@uncensored.citadel.org>
-# This file is distributed under the terms of the GNU General Public License v2.
+# This file is distributed under the terms of the GNU General Public License v3.
-# This schema highly depends on the core.schema, cosine.schema and the inetorgperson.schema
-# as provided by 3rd parties like OpenLDAP.
+# This schema depends on the core.schema, cosine.schema and the inetorgperson.schema
+# as provided by third parties such as OpenLDAP. It also depends on rfc2739 schema,
+# which is included in the Citadel distribution.
+#
+# If you are using OpenLDAP, slapd.conf should declare schemas like this:
#
-# slapd.conf then looks like
# include /etc/openldap/schema/core.schema
# include /etc/openldap/schema/cosine.schema
# include /etc/openldap/schema/inetorgperson.schema
# include /etc/openldap/schema/citadel.schema
+##############################################################################
+#
+# Our OID tree so far looks like this:
+#
+# 1.3.6.1.4.1.25404 citadel.org
+# 1.3.6.1.4.1.25404.1 Citadel server project - LDAP schema
+# 1.3.6.1.4.1.25404.1.1 Custom attributes
+# 1.3.6.1.4.1.25404.1.2 Custom object classes
+#
+##############################################################################
+
######################
# citadel attributes #
######################
# alias used to provide alternative rfc822 email addresses for citadel users
-attributetype ( 1.3.6.1.4.1.19414.2.1.3
+attributetype ( 1.3.6.1.4.1.25404.1.1.1
NAME 'alias'
DESC 'RFC1274: RFC822 Mailbox'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
+# euid used to provide unique identifier for GAB entries
+attributetype ( 1.3.6.1.4.1.25404.1.1.2
+ NAME 'euid'
+ DESC 'unique GAB entry'
+ EQUALITY caseExactMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{256} )
+
##########################
# citadel object classes #
##########################
# we use a STRUCTURAL in order to ease integration
# with existing inetOrgPerson objects
-objectclass ( 1.3.6.1.4.1.19414.3.2.2
+objectclass ( 1.3.6.1.4.1.25404.1.2.1
NAME 'citadelInetOrgPerson'
DESC 'Citadel Internet Organizational Person'
SUP inetOrgPerson
STRUCTURAL
+ MUST ( euid )
MAY ( c $
alias $
calFBURL )