X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldap%2Fsearch.c;h=41b397a9da22dd2cdef2c9535414219f59671768;hb=71e35141e151b7ca602c7a4638c35260f65d946d;hp=ea47669efdbb1d994b1f137cb463b45e5d49399d;hpb=6939c531700652491f4be4688c6a1f35a1ab8a18;p=openldap diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index ea47669efd..41b397a9da 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -235,7 +235,7 @@ ldap_back_search( #else /* !ENABLE_REWRITE */ filterstr, #endif /* !ENABLE_REWRITE */ - 0); + BACKLDAP_MAP); if ( mapped_filter == NULL ) { #ifdef ENABLE_REWRITE mapped_filter = mfilter.bv_val; @@ -250,7 +250,7 @@ ldap_back_search( } #endif /* ENABLE_REWRITE */ - mapped_attrs = ldap_back_map_attrs(&li->at_map, attrs, 0); + mapped_attrs = ldap_back_map_attrs(&li->at_map, attrs, BACKLDAP_MAP); if ( mapped_attrs == NULL && attrs) { for (count=0; attrs[count].an_name.bv_val; count++); mapped_attrs = ch_malloc( (count+1) * sizeof(char *)); @@ -491,8 +491,8 @@ ldap_send_entry( attrp = &ent.e_attrs; while ( ber_scanf( &ber, "{m", &a ) != LBER_ERROR ) { - ldap_back_map(&li->at_map, &a, &mapped, 1); - if (mapped.bv_val == NULL) + ldap_back_map(&li->at_map, &a, &mapped, BACKLDAP_REMAP); + if (mapped.bv_val == NULL || mapped.bv_val[0] == '\0') continue; attr = (Attribute *)ch_malloc( sizeof(Attribute) ); if (attr == NULL) @@ -536,8 +536,9 @@ ldap_send_entry( for ( last = 0; attr->a_vals[last].bv_val; last++ ) ; for ( i = 0, bv = attr->a_vals; bv->bv_val; bv++, i++ ) { - ldap_back_map(&li->oc_map, bv, &mapped, 1); - if (mapped.bv_val == NULL) { + ldap_back_map(&li->oc_map, bv, &mapped, + BACKLDAP_REMAP); + if (mapped.bv_val == NULL || mapped.bv_val[0] == '\0') { LBER_FREE(bv->bv_val); bv->bv_val = NULL; if (--last < 0)