Skip to content
Snippets Groups Projects
Commit e0a6b692 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#6172

parent 9b1ce5f2
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ OpenLDAP 2.4.18 Engineering ...@@ -15,6 +15,7 @@ OpenLDAP 2.4.18 Engineering
Fixed slapd-ndb startup (ITS#6203) Fixed slapd-ndb startup (ITS#6203)
Fixed slapd-relay various issues (ITS#6133) Fixed slapd-relay various issues (ITS#6133)
Fixed slapd-relay response/cleanup callback mismatch (ITS#6154) 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) Fixed slapd-sql with empty attribute (ITS#6163)
Added slapo-pcache olcProxyCacheOffline (ITS#6152) Added slapo-pcache olcProxyCacheOffline (ITS#6152)
Fixed slapo-unique filter matching (ITS#6077) Fixed slapo-unique filter matching (ITS#6077)
......
...@@ -934,15 +934,11 @@ backsql_id2entry( backsql_srch_info *bsi, backsql_entryID *eid ) ...@@ -934,15 +934,11 @@ backsql_id2entry( backsql_srch_info *bsi, backsql_entryID *eid )
memset( bsi->bsi_e, 0, sizeof( Entry ) ); memset( bsi->bsi_e, 0, sizeof( Entry ) );
if ( bi->sql_baseObject && BACKSQL_IS_BASEOBJECT_ID( &eid->eid_id ) ) { if ( bi->sql_baseObject && BACKSQL_IS_BASEOBJECT_ID( &eid->eid_id ) ) {
Entry *e; rc = entry_dup_to( bi->sql_baseObject, bsi->bsi_e );
if ( rc != LDAP_SUCCESS ) {
e = entry_dup( bi->sql_baseObject ); return rc;
if ( e == NULL ) {
return LDAP_NO_MEMORY;
} }
*bsi->bsi_e = *e;
free( e );
goto done; goto done;
} }
......
...@@ -936,17 +936,22 @@ int entry_decode(EntryHeader *eh, Entry **e) ...@@ -936,17 +936,22 @@ int entry_decode(EntryHeader *eh, Entry **e)
return 0; 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 *entry_dup( Entry *e )
{ {
Entry *ret; Entry *ret;
ret = entry_alloc(); ret = entry_alloc();
entry_dup_to(e, ret);
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;
return ret; return ret;
} }
......
...@@ -991,6 +991,7 @@ LDAP_SLAPD_F (int) entry_cmp LDAP_P(( Entry *a, Entry *b )); ...@@ -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_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 (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 (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_dup_bv LDAP_P(( Entry *e ));
LDAP_SLAPD_F (Entry *) entry_alloc LDAP_P((void)); LDAP_SLAPD_F (Entry *) entry_alloc LDAP_P((void));
LDAP_SLAPD_F (int) entry_prealloc LDAP_P((int num)); LDAP_SLAPD_F (int) entry_prealloc LDAP_P((int num));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment