From b4bb3b5bf8c92853400895596e0ff43af03b2027 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 10 Jan 2002 05:54:50 +0000 Subject: [PATCH] Fix up last commit --- servers/slapd/schema/collective.schema | 4 +- servers/slapd/schema/core.schema | 53 +++--------------------- servers/slapd/schema_prep.c | 57 +++++++++++++------------- 3 files changed, 36 insertions(+), 78 deletions(-) diff --git a/servers/slapd/schema/collective.schema b/servers/slapd/schema/collective.schema index f3ece52cdf..8a0cdb0c4f 100644 --- a/servers/slapd/schema/collective.schema +++ b/servers/slapd/schema/collective.schema @@ -37,7 +37,7 @@ objectClass ( 2.5.20.2 NAME 'collectiveAttributes' AUXILIARY ) # The collectiveAttributeSubentry operational attribute identifies all # collective attribute subentries that affect the entry. # -#objectClass ( 2.5.18.12 NAME 'collectiveAttributeSubentry' +#attributeType ( 2.5.18.12 NAME 'collectiveAttributeSubentry' # EQUALITY distinguishedNameMatch # SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 # USAGE directoryOperation NO-USER-MODIFICATION ) @@ -48,7 +48,7 @@ objectClass ( 2.5.20.2 NAME 'collectiveAttributes' AUXILIARY ) # collective attributes to be excluded from an entry. It MAY appear in # any entry and MAY have multiple values. # -#objectClass ( 2.5.18.7 NAME 'collectiveExclusions' +#attributeType ( 2.5.18.7 NAME 'collectiveExclusions' # EQUALITY objectIdentifierMatch # SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 # USAGE directoryOperation ) diff --git a/servers/slapd/schema/core.schema b/servers/slapd/schema/core.schema index 2f60574889..dc4a1a35e5 100644 --- a/servers/slapd/schema/core.schema +++ b/servers/slapd/schema/core.schema @@ -304,14 +304,11 @@ attributetype ( 2.5.4.54 NAME 'dmdName' # Standard object classes from RFC2256 -objectclass ( 2.5.6.0 NAME 'top' - DESC 'RFC2256: most superior class in superclass chain of all objects' - ABSTRACT MUST objectClass ) - -objectclass ( 2.5.6.1 NAME 'alias' - DESC 'RFC2256: an alias' - SUP top STRUCTURAL - MUST aliasedObjectName ) +# system schema +#objectclass ( 2.5.6.1 NAME 'alias' +# DESC 'RFC2256: an alias' +# SUP top STRUCTURAL +# MUST aliasedObjectName ) objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' @@ -455,21 +452,6 @@ objectclass ( 2.5.6.20 NAME 'dmd' street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) ) -# -# Object Classes from RFC 2252 -# - -objectclass ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject' - DESC 'RFC2252: extensible object' - SUP top AUXILIARY ) - -objectclass ( 2.5.20.1 NAME 'subschema' - DESC 'RFC2252: controlling subschema (sub)entry' - AUXILIARY - MAY ( dITStructureRules $ nameForms $ ditContentRules $ - objectClasses $ attributeTypes $ matchingRules $ - matchingRuleUse ) ) - # # Object Classes from RFC 2587 # @@ -554,23 +536,6 @@ objectclass ( 1.3.6.1.1.3.1 NAME 'uidObject' DESC 'RFC2377: uid object' SUP top AUXILIARY MUST uid ) -# -# From draft-zeilenga-ldap-namedref-00.txt -# used to represent referrals in the directory - -objectclass ( 2.16.840.1.113730.3.2.6 NAME 'referral' - DESC 'namedref: named subordinate referral' - SUP top STRUCTURAL MUST ref ) - -# -# LDAP/X.500 subentry schema -# draft-zeilenga-ldap-subentry-xx.txt - -objectclass ( 2.5.20.0 NAME 'subentry' - SUP top STRUCTURAL - MUST ( cn $ subtreeSpecification ) ) - - # # LDAPsubEntry # deprecated! @@ -580,14 +545,6 @@ objectclass ( 2.16.840.1.113719.2.142.6.1.1 OBSOLETE SUP top STRUCTURAL MAY cn ) -# -# OpenLDAProotDSE -# likely to change! -objectclass ( 1.3.6.1.4.1.4203.1.4.1 - NAME ( 'OpenLDAProotDSE' 'LDAProotDSE' ) - DESC 'OpenLDAP Root DSE object' - SUP top STRUCTURAL MAY cn ) - # # From COSINE Pilot # diff --git a/servers/slapd/schema_prep.c b/servers/slapd/schema_prep.c index 143d167498..9ee09073f8 100644 --- a/servers/slapd/schema_prep.c +++ b/servers/slapd/schema_prep.c @@ -150,7 +150,7 @@ static struct slap_schema_oc_map { 0, offsetof(struct slap_internal_schema, si_oc_subentry) }, { "subschema", "( 2.5.20.1 NAME 'subschema' " "DESC 'RFC2252: controlling subschema (sub)entry' " - "AUXILIARY" + "AUXILIARY " "MAY ( dITStructureRules $ nameForms $ ditContentRules $ " "objectClasses $ attributeTypes $ matchingRules $ " "matchingRuleUse ) )", @@ -577,36 +577,37 @@ slap_schema_load( void ) } for( i=0; oc_map[i].ssom_name; i++ ) { - LDAPObjectClass *oc; - int code; - const char *err; - - oc = ldap_str2objectclass( oc_map[i].ssom_defn, &code, &err, - LDAP_SCHEMA_ALLOW_ALL ); - if ( !oc ) { - fprintf( stderr, "slap_schema_load: " - "%s: %s before %s\n", - oc_map[i].ssom_name, ldap_scherr2str(code), err ); - return code; - } + if( oc_map[i].ssom_defn != NULL ) { + LDAPObjectClass *oc; + int code; + const char *err; - if ( oc->oc_oid == NULL ) { - fprintf( stderr, "slap_schema_load: " - "%s: objectclass has no OID\n", - oc_map[i].ssom_name ); - return LDAP_OTHER; - } + oc = ldap_str2objectclass( oc_map[i].ssom_defn, &code, &err, + LDAP_SCHEMA_ALLOW_ALL ); + if ( !oc ) { + fprintf( stderr, "slap_schema_load: " + "%s: %s before %s\n", + oc_map[i].ssom_name, ldap_scherr2str(code), err ); + return code; + } - code = oc_add(oc,&err); - if ( code ) { - fprintf( stderr, "slap_schema_load: " - "%s: %s: \"%s\"\n", - oc_map[i].ssom_name, scherr2str(code), err); - return code; - } + if ( oc->oc_oid == NULL ) { + fprintf( stderr, "slap_schema_load: " + "%s: objectclass has no OID\n", + oc_map[i].ssom_name ); + return LDAP_OTHER; + } - ldap_memfree(oc); - return 0; + code = oc_add(oc,&err); + if ( code ) { + fprintf( stderr, "slap_schema_load: " + "%s: %s: \"%s\"\n", + oc_map[i].ssom_name, scherr2str(code), err); + return code; + } + + ldap_memfree(oc); + } } return LDAP_SUCCESS; -- 2.39.5