mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
return structuralObjectClass errors
(likely need to be applied to other backends)
This commit is contained in:
parent
2b242dee14
commit
2c4b2b5566
@ -639,10 +639,16 @@ int slap_add_opattrs(
|
||||
if ( oc ) {
|
||||
rc = structural_class( oc->a_vals, &tmp, NULL, text,
|
||||
textbuf, textlen );
|
||||
if( rc != LDAP_SUCCESS ) return rc;
|
||||
if( rc == LDAP_SUCCESS ) {
|
||||
attr_merge_one( op->ora_e,
|
||||
slap_schema.si_ad_structuralObjectClass,
|
||||
&tmp, NULL );
|
||||
|
||||
attr_merge_one( op->ora_e, slap_schema.si_ad_structuralObjectClass,
|
||||
&tmp, NULL );
|
||||
} else if ( !SLAP_NO_SCHEMA_CHECK( op->o_bd ) &&
|
||||
!get_no_schema_check( op ) )
|
||||
{
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -736,5 +742,6 @@ int slap_add_opattrs(
|
||||
slap_schema.si_ad_modifyTimestamp, ×tamp, NULL );
|
||||
}
|
||||
}
|
||||
|
||||
return LDAP_SUCCESS;
|
||||
}
|
||||
|
@ -93,7 +93,13 @@ txnReturn:
|
||||
|
||||
/* add opattrs to shadow as well, only missing attrs will actually
|
||||
* be added; helps compatibility with older OL versions */
|
||||
slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
|
||||
rs->sr_err = slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
|
||||
if ( rs->sr_err != LDAP_SUCCESS ) {
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
LDAP_XSTRING(bdb_add) ": entry failed op attrs add: "
|
||||
"%s (%d)\n", rs->sr_text, rs->sr_err, 0 );
|
||||
goto return_results;
|
||||
}
|
||||
|
||||
/* check entry's schema */
|
||||
rs->sr_err = entry_schema_check( op, op->oq_add.rs_e, NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user