fix ITS#5168 (a better fix would probably be a generic handler to de-normalize values)

This commit is contained in:
Pierangelo Masarati 2007-10-04 21:53:49 +00:00
parent 6dd6155495
commit 4cf03ca277

View file

@ -32,6 +32,7 @@
#include "slap.h"
#include "rwm.h"
#include "lutil.h"
#undef ldap_debug /* silence a warning in ldap-int.h */
#include "../../../libraries/libldap/ldap-int.h"
@ -379,6 +380,7 @@ map_attr_value(
{
struct berval vtmp = BER_BVNULL;
int freeval = 0;
char uuid[ LDAP_LUTIL_UUIDSTR_BUFSIZE ];
AttributeDescription *ad = *adp;
struct ldapmapping *mapping = NULL;
@ -420,6 +422,14 @@ map_attr_value(
return -1;
}
} else if ( ad->ad_type->sat_syntax == slap_schema.si_ad_entryUUID->ad_type->sat_syntax ) {
vtmp.bv_len = lutil_uuidstr_from_normalized( value->bv_val,
value->bv_len, uuid, LDAP_LUTIL_UUIDSTR_BUFSIZE );
if ( vtmp.bv_len < 0 ) {
return -1;
}
vtmp.bv_val = uuid;
} else if ( ad == slap_schema.si_ad_objectClass
|| ad == slap_schema.si_ad_structuralObjectClass )
{