]> git.sur5r.net Git - openldap/commitdiff
import fix to ITS#5168
authorPierangelo Masarati <ando@openldap.org>
Thu, 4 Oct 2007 21:55:51 +0000 (21:55 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 4 Oct 2007 21:55:51 +0000 (21:55 +0000)
CHANGES
servers/slapd/overlays/rwmmap.c

diff --git a/CHANGES b/CHANGES
index a067fcfe474bb999921820b860ab996915e44ce8..587d57730d66b584b99482e25e1af80f6c77b05c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -23,6 +23,7 @@ OpenLDAP 2.4.6 Engineering
         Fixed slapo-pcache returning incomplete results (ITS#5113)
         Fixed slapo-pcache sizelimit handling (ITS#5114)
        Fixed slapo-rwm modlist handling (ITS#5124)
+       Fixed slapo-rwm UUID in filter (ITS#5168)
        Build Environment
                Use separate config OID arc for contrib (ITS#5158)
                 Updated contrib/ldapc++ build enviroment
index f18d80d2716ee404bd653a8cb0967f81c2c2add3..c5c9142090add4b970eaccd8922dad65dfddcc0b 100644 (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 )
                {