int
entry_schema_check(
- Entry *e, Attribute *oldattrs,
+ Backend *be,
+ Entry *e,
+ Attribute *oldattrs,
const char** text,
char *textbuf, size_t textlen )
{
#endif
return LDAP_OBJECT_CLASS_VIOLATION;
+ }
- } else if ( oc->soc_kind == LDAP_SCHEMA_ABSTRACT ) {
+ if ( oc->sco_check ) {
+ int rc = (oc->sco_check)( e, oc,
+ text, textbuf, textlen );
+ if( rc != LDAP_SUCCESS ) {
+ return rc;
+ }
+ }
+ if ( oc->soc_kind == LDAP_SCHEMA_ABSTRACT ) {
/* object class is abstract */
if ( oc != slap_schema.si_oc_top &&
!is_object_subclass( oc, sc ))