Commit e0a6b692 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#6172

parent 9b1ce5f2
......@@ -15,6 +15,7 @@ OpenLDAP 2.4.18 Engineering
Fixed slapd-ndb startup (ITS#6203)
Fixed slapd-relay various issues (ITS#6133)
Fixed slapd-relay response/cleanup callback mismatch (ITS#6154)
Fixed slapd-sql with baseObject query (ITS#6172)
Fixed slapd-sql with empty attribute (ITS#6163)
Added slapo-pcache olcProxyCacheOffline (ITS#6152)
Fixed slapo-unique filter matching (ITS#6077)
......
......@@ -934,15 +934,11 @@ backsql_id2entry( backsql_srch_info *bsi, backsql_entryID *eid )
memset( bsi->bsi_e, 0, sizeof( Entry ) );
if ( bi->sql_baseObject && BACKSQL_IS_BASEOBJECT_ID( &eid->eid_id ) ) {
Entry *e;
e = entry_dup( bi->sql_baseObject );
if ( e == NULL ) {
return LDAP_NO_MEMORY;
rc = entry_dup_to( bi->sql_baseObject, bsi->bsi_e );
if ( rc != LDAP_SUCCESS ) {
return rc;
}
*bsi->bsi_e = *e;
free( e );
goto done;
}
......
......@@ -936,17 +936,22 @@ int entry_decode(EntryHeader *eh, Entry **e)
return 0;
}
int entry_dup_to( Entry *source, Entry *dest )
{
dest->e_id = source->e_id;
ber_dupbv( &dest->e_name, &source->e_name );
ber_dupbv( &dest->e_nname, &source->e_nname );
dest->e_attrs = attrs_dup( source->e_attrs );
dest->e_ocflags = source->e_ocflags;
return LDAP_SUCCESS;
}
Entry *entry_dup( Entry *e )
{
Entry *ret;
ret = entry_alloc();
ret->e_id = e->e_id;
ber_dupbv( &ret->e_name, &e->e_name );
ber_dupbv( &ret->e_nname, &e->e_nname );
ret->e_attrs = attrs_dup( e->e_attrs );
ret->e_ocflags = e->e_ocflags;
entry_dup_to(e, ret);
return ret;
}
......
......@@ -991,6 +991,7 @@ LDAP_SLAPD_F (int) entry_cmp LDAP_P(( Entry *a, Entry *b ));
LDAP_SLAPD_F (int) entry_dn_cmp LDAP_P(( const void *v_a, const void *v_b ));
LDAP_SLAPD_F (int) entry_id_cmp LDAP_P(( const void *v_a, const void *v_b ));
LDAP_SLAPD_F (Entry *) entry_dup LDAP_P(( Entry *e ));
LDAP_SLAPD_F (int) entry_dup_to LDAP_P(( Entry *src, Entry *dest ));
LDAP_SLAPD_F (Entry *) entry_dup_bv LDAP_P(( Entry *e ));
LDAP_SLAPD_F (Entry *) entry_alloc LDAP_P((void));
LDAP_SLAPD_F (int) entry_prealloc LDAP_P((int num));
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment