]> git.sur5r.net Git - openldap/commitdiff
strip entryDN from search entries; frontend will reattach it :(
authorPierangelo Masarati <ando@openldap.org>
Thu, 18 Aug 2005 11:26:29 +0000 (11:26 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 18 Aug 2005 11:26:29 +0000 (11:26 +0000)
servers/slapd/back-ldap/search.c
servers/slapd/back-meta/search.c

index ff9425bb5734c76d2c153f5d05906416ef094398..e06cb8bb42ee53754c94810438faf775554d4bd2 100644 (file)
@@ -545,7 +545,9 @@ ldap_build_entry(
                }
 
                /* no subschemaSubentry */
-               if ( attr->a_desc == slap_schema.si_ad_subschemaSubentry ) {
+               if ( attr->a_desc == slap_schema.si_ad_subschemaSubentry
+                       || attr->a_desc == slap_schema.si_ad_entryDN )
+               {
 
                        /* 
                         * We eat target's subschemaSubentry because
@@ -553,6 +555,10 @@ ldap_build_entry(
                         * to resolve to the appropriate backend;
                         * later, the local subschemaSubentry is
                         * added.
+                        *
+                        * We also eat entryDN because the frontend
+                        * will reattach it without checking if already
+                        * present...
                         */
                        ( void )ber_scanf( &ber, "x" /* [W] */ );
 
index 8437cea8e8232331a24000f921bc3c96898e32b5..570d9deb5f0e10eb852b26cc2a77c6c273a3aeb9 100644 (file)
@@ -924,7 +924,9 @@ meta_send_entry(
                }
 
                /* no subschemaSubentry */
-               if ( attr->a_desc == slap_schema.si_ad_subschemaSubentry ) {
+               if ( attr->a_desc == slap_schema.si_ad_subschemaSubentry
+                       || attr->a_desc == slap_schema.si_ad_entryDN )
+               {
 
                        /* 
                         * We eat target's subschemaSubentry because
@@ -932,6 +934,10 @@ meta_send_entry(
                         * to resolve to the appropriate backend;
                         * later, the local subschemaSubentry is
                         * added.
+                        *
+                        * We also eat entryDN because the frontend
+                        * will reattach it without checking if already
+                        * present...
                         */
                        ( void )ber_scanf( &ber, "x" /* [W] */ );