X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-sql%2Fentry-id.c;h=b864e803d4ab7b28e4bccfb1a201548086ae608c;hb=9647ccd9456b8781066dbba5a063bf6c6c9dab6d;hp=725367a9c96f25a1e1397603e6f93f80f8e0260e;hpb=adf3744dd697b0897e974e3e69c6634897e71231;p=openldap diff --git a/servers/slapd/back-sql/entry-id.c b/servers/slapd/back-sql/entry-id.c index 725367a9c9..b864e803d4 100644 --- a/servers/slapd/back-sql/entry-id.c +++ b/servers/slapd/back-sql/entry-id.c @@ -1,10 +1,21 @@ -/* - * Copyright 1999, Dmitry Kovalev , All rights reserved. +/* $OpenLDAP$ */ +/* This work is part of OpenLDAP Software . * - * Redistribution and use in source and binary forms are permitted only - * as authorized by the OpenLDAP Public License. A copy of this - * license is available at http://www.OpenLDAP.org/license.html or - * in file LICENSE in the top-level directory of the distribution. + * Copyright 1999-2003 The OpenLDAP Foundation. + * Portions Copyright 1999 Dmitry Kovalev. + * 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 + * . + */ +/* ACKNOWLEDGEMENTS: + * This work was initially developed by Dmitry Kovalev for inclusion + * by OpenLDAP Software. */ #include "portable.h" @@ -370,8 +381,6 @@ backsql_id2entry( backsql_srch_info *bsi, Entry *e, backsql_entryID *eid ) e->e_attrs = NULL; e->e_private = NULL; - /* if ( bsi->base_dn != NULL)??? */ - e->e_id = eid->id; if ( bsi->attrs != NULL ) { @@ -380,16 +389,7 @@ backsql_id2entry( backsql_srch_info *bsi, Entry *e, backsql_entryID *eid ) for ( i = 0; bsi->attrs[ i ].an_name.bv_val; i++ ) { AttributeName *attr = &bsi->attrs[ i ]; - if ( attr->an_desc == ad_oc -#if 0 /* FIXME: what is 0.10 ? */ - || !BACKSQL_NCMP( &attr->an_name, &bv_n_0_10 ) -#endif - ) { -#if 0 - backsql_entry_addattr( bsi->e, - &bv_n_objectclass, - BACKSQL_OC_NAME( bsi->oc ) ); -#endif + if ( attr->an_desc == ad_oc ) { continue; } @@ -424,8 +424,6 @@ backsql_id2entry( backsql_srch_info *bsi, Entry *e, backsql_entryID *eid ) size_t textlen = sizeof( textbuf ); struct berval bv[ 2 ]; struct berval soc; - AttributeDescription *ad_soc - = slap_schema.si_ad_structuralObjectClass; int rc; bv[ 0 ] = bsi->oc->oc->soc_cname; @@ -438,10 +436,12 @@ backsql_id2entry( backsql_srch_info *bsi, Entry *e, backsql_entryID *eid ) return NULL; } - if ( bsi->bsi_flags | BSQL_SF_ALL_OPER + if ( ( bsi->bsi_flags | BSQL_SF_ALL_OPER ) || an_find( bsi->attrs, &AllOper ) ) { - if ( attr_merge_normalize_one( bsi->e, ad_soc, &soc, - bsi->op->o_tmpmemctx ) ) { + rc = attr_merge_normalize_one( bsi->e, + slap_schema.si_ad_structuralObjectClass, + &soc, bsi->op->o_tmpmemctx ); + if ( rc != LDAP_SUCCESS ) { entry_free( e ); return NULL; }