]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/schema_prep.c
now I remember why I introduced the 'has_ldapinfo_dn_ru' flag
[openldap] / servers / slapd / schema_prep.c
index a06af9fb6a875ddf2fc9e28c19be5d65ac84113a..8c91a702a1450c811a2becae6da5f13327d1808c 100644 (file)
@@ -1,8 +1,17 @@
-/* schema_init.c - init builtin schema */
+/* schema_prep.c - load builtin schema */
 /* $OpenLDAP$ */
-/*
- * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2004 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>.
  */
 
 #include "portable.h"
@@ -224,29 +233,26 @@ static struct slap_schema_oc_map {
                dynamicObjectClass, SLAP_OC_DYNAMICOBJECT,
                offsetof(struct slap_internal_schema, si_oc_dynamicObject) },
 #endif
-#ifdef LDAP_SYNCREPL
-               { "glue", "( 1.3.6.1.4.1.4203.666.3.4 "
-                               "NAME 'glue' "
-                               "DESC 'Glue Entry' "
-                               "SUP top STRUCTURAL )",
-                       0, SLAP_OC_OPERATIONAL,
-                       offsetof(struct slap_internal_schema, si_oc_glue) },
-
-               { "syncConsumerSubentry", "( 1.3.6.1.4.1.4203.666.3.5 "
-                               "NAME 'syncConsumerSubentry' "
-                               "DESC 'Persistent Info for SyncRepl Consumer' "
-                               "AUXILIARY "
-                               "MAY syncreplCookie )",
-                       0, SLAP_OC_OPERATIONAL,
-                       offsetof(struct slap_internal_schema, si_oc_syncConsumerSubentry) },
-               { "syncProviderSubentry", "( 1.3.6.1.4.1.4203.666.3.6 "
-                               "NAME 'syncProviderSubentry' "
-                               "DESC 'Persistent Info for SyncRepl Producer' "
-                               "AUXILIARY "
-                               "MAY syncreplCookie )",
-                       0, SLAP_OC_OPERATIONAL,
-                       offsetof(struct slap_internal_schema, si_oc_syncProviderSubentry) },
-#endif
+       { "glue", "( 1.3.6.1.4.1.4203.666.3.4 "
+                       "NAME 'glue' "
+                       "DESC 'Glue Entry' "
+                       "SUP top STRUCTURAL )",
+               0, SLAP_OC_GLUE|SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
+               offsetof(struct slap_internal_schema, si_oc_glue) },
+       { "syncConsumerSubentry", "( 1.3.6.1.4.1.4203.666.3.5 "
+                       "NAME 'syncConsumerSubentry' "
+                       "DESC 'Persistent Info for SyncRepl Consumer' "
+                       "AUXILIARY "
+                       "MAY syncreplCookie )",
+               0, SLAP_OC_SYNCCONSUMERSUBENTRY|SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
+               offsetof(struct slap_internal_schema, si_oc_syncConsumerSubentry) },
+       { "syncProviderSubentry", "( 1.3.6.1.4.1.4203.666.3.6 "
+                       "NAME 'syncProviderSubentry' "
+                       "DESC 'Persistent Info for SyncRepl Producer' "
+                       "AUXILIARY "
+                       "MAY contextCSN )",
+               0, SLAP_OC_SYNCPROVIDERSUBENTRY|SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
+               offsetof(struct slap_internal_schema, si_oc_syncProviderSubentry) },
 
        { NULL, NULL, NULL, 0, 0 }
 };
@@ -370,16 +376,17 @@ static struct slap_schema_ad_map {
 #endif
 
        { "entryUUID", "( 1.3.6.1.4.1.4203.666.1.6 NAME 'entryUUID' "   
-                       "DESC 'LCUP/LDUP: UUID of the entry' "
-                       "EQUALITY octetStringMatch "
-                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
+                       "DESC 'UUID of the entry' "
+                       "EQUALITY UUIDMatch "
+                       "ORDERING UUIDOrderingMatch "
+                       "SYNTAX 1.3.6.1.4.1.4203.666.2.6 "
                        "SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
                NULL, SLAP_AT_HIDE,
                NULL, NULL,
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_entryUUID) },
        { "entryCSN", "( 1.3.6.1.4.1.4203.666.1.7 NAME 'entryCSN' "
-                       "DESC 'LCUP/LDUP: change sequence number of the entry content' "
+                       "DESC 'change sequence number of the entry content' "
                        "EQUALITY octetStringMatch "
                        "ORDERING octetStringOrderingMatch "
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
@@ -389,7 +396,7 @@ static struct slap_schema_ad_map {
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_entryCSN) },
        { "namingCSN", "( 1.3.6.1.4.1.4203.666.1.13 NAME 'namingCSN' "
-                       "DESC 'LCUP/LDUP: change sequence number of the entry naming (RDN)' "
+                       "DESC 'change sequence number of the entry naming (RDN)' "
                        "EQUALITY octetStringMatch "
                        "ORDERING octetStringOrderingMatch "
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
@@ -400,7 +407,7 @@ static struct slap_schema_ad_map {
                offsetof(struct slap_internal_schema, si_ad_namingCSN) },
 
        { "superiorUUID", "( 1.3.6.1.4.1.4203.666.1.11 NAME 'superiorUUID' "   
-                       "DESC 'LCUP/LDUP: UUID of the superior entry' "
+                       "DESC 'UUID of the superior entry' "
                        "EQUALITY octetStringMatch "
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
                        "SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
@@ -409,31 +416,41 @@ static struct slap_schema_ad_map {
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_superiorUUID) },
 
-#ifdef LDAP_CACHING 
-       /* LDAP cache specific operational attribute */
-       { "queryid", "( 1.3.6.1.4.1.4203.666.1.12 NAME 'queryid' "
-                       "DESC 'list of queries the entry belongs to' "
-                       "EQUALITY octetStringMatch "
-                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
-                       "NO-USER-MODIFICATION USAGE directoryOperation )",
-               NULL, 0, /* SLAP_AT_HIDE or SLAP_AT_NONE ? */
-               NULL, NULL,
-               NULL, NULL, NULL, NULL, NULL, 
-               offsetof(struct slap_internal_schema, si_ad_queryid) },
-#endif /* LDAP_CACHING */
-
-#ifdef LDAP_SYNCREPL
        { "syncreplCookie", "( 1.3.6.1.4.1.4203.666.1.23 "
                        "NAME 'syncreplCookie' "
                        "DESC 'syncrepl Cookie for shadow copy' "
                        "EQUALITY octetStringMatch "
                        "ORDERING octetStringOrderingMatch "
-                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
-                       "SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
+                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 "
+                       "SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
                NULL, SLAP_AT_HIDE,
                NULL, NULL,
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_syncreplCookie) },
+
+       { "contextCSN", "( 1.3.6.1.4.1.4203.666.1.25 "
+                       "NAME 'contextCSN' "
+                       "DESC 'the largest committed CSN of a context' "
+                       "EQUALITY octetStringMatch "
+                       "ORDERING octetStringOrderingMatch "
+                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 "
+                       "SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
+               NULL, SLAP_AT_HIDE,
+               NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL,
+               offsetof(struct slap_internal_schema, si_ad_contextCSN) },
+
+#ifdef LDAP_DEVEL
+       { "syncTimestamp", "( 1.3.6.1.4.1.4203.666.1.26 NAME 'syncTimestamp' "
+                       "DESC 'Time which object was replicated' "
+                       "EQUALITY generalizedTimeMatch "
+                       "ORDERING generalizedTimeOrderingMatch "
+                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 "
+                       "SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
+               NULL, 0,
+               NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL,
+               offsetof(struct slap_internal_schema, si_ad_syncTimestamp) },
 #endif
 
        /* root DSE attributes */
@@ -677,7 +694,7 @@ static struct slap_schema_ad_map {
                        "EQUALITY OpenLDAPaciMatch "
                        "SYNTAX 1.3.6.1.4.1.4203.666.2.1 "
                        "USAGE directoryOperation )",
-               NULL, 0,
+               NULL, SLAP_AT_HIDE,
                NULL, NULL,
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_aci) },
@@ -737,6 +754,15 @@ static struct slap_schema_ad_map {
                NULL, NULL, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_userPassword) },
 
+       { "labeledURI", "(  1.3.6.1.4.1.250.1.57 NAME 'labeledURI' "
+                       "DESC 'RFC2079: Uniform Resource Identifier with optional label' "
+                       "EQUALITY caseExactMatch "
+                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
+               NULL, 0,
+               NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL,
+               offsetof(struct slap_internal_schema, si_ad_labeledURI) },
+
 #ifdef SLAPD_AUTHPASSWD
        { "authPassword", "( 1.3.6.1.4.1.4203.1.3.4 "
                        "NAME 'authPassword' "