/* schema.c - routines to enforce schema definitions */
+/*
+ * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
#include "portable.h"
if ( res ) {
fprintf( stderr, "schema_init: Error registering syntax %s\n",
syntax_defs[i].sd_desc );
- exit( 1 );
+ exit( EXIT_FAILURE );
}
}
for ( i=0; mrule_defs[i].mrd_desc != NULL; i++ ) {
if ( res ) {
fprintf( stderr, "schema_init: Error registering matching rule %s\n",
mrule_defs[i].mrd_desc );
- exit( 1 );
+ exit( EXIT_FAILURE );
}
}
schema_init_done = 1;
val.bv_len = sizeof("top")-1;
attr_merge( e, "objectClass", vals );
+ val.bv_val = "LDAPsubentry";
+ val.bv_len = sizeof("LDAPsubentry")-1;
+ attr_merge( e, "objectClass", vals );
+
val.bv_val = "subschema";
val.bv_len = sizeof("subschema")-1;
attr_merge( e, "objectClass", vals );
oc_print( ObjectClass *oc )
{
int i;
+ const char *mid;
- if ( oc->soc_names && oc->soc_names[0] ) {
- printf( "objectclass %s\n", oc->soc_names[0] );
- } else {
- printf( "objectclass %s\n", oc->soc_oid );
- }
+ printf( "objectclass %s\n", ldap_objectclass2name( &oc->soc_oclass ) );
if ( oc->soc_required != NULL ) {
- printf( "\trequires %s", oc->soc_required[0] );
- for ( i = 1; oc->soc_required[i] != NULL; i++ ) {
- printf( ",%s", oc->soc_required[i] );
- }
+ mid = "\trequires ";
+ for ( i = 0; oc->soc_required[i] != NULL; i++, mid = "," )
+ printf( "%s%s", mid,
+ ldap_attributetype2name( &oc->soc_required[i]->sat_atype ) );
printf( "\n" );
}
if ( oc->soc_allowed != NULL ) {
- printf( "\tallows %s", oc->soc_allowed[0] );
- for ( i = 1; oc->soc_allowed[i] != NULL; i++ ) {
- printf( ",%s", oc->soc_allowed[i] );
- }
+ mid = "\tallows ";
+ for ( i = 0; oc->soc_allowed[i] != NULL; i++, mid = "," )
+ printf( "%s%s", mid,
+ ldap_attributetype2name( &oc->soc_allowed[i]->sat_atype ) );
printf( "\n" );
}
}