]> git.sur5r.net Git - openldap/commitdiff
make sure frontend gets the {-1} (ITS#7016)
authorPierangelo Masarati <ando@OpenLDAP.org>
Wed, 17 Aug 2011 04:17:43 +0000 (22:17 -0600)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 5 Oct 2011 23:56:55 +0000 (16:56 -0700)
servers/slapd/bconfig.c

index cb4d897a8524838edef9317cfa0908e75836568a..851e28df19ca244efd01dd134bbd6760b57273d0 100644 (file)
@@ -7057,6 +7057,22 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
                                        return NOID;
                                }
                        } else {
+                               if ( !strncmp( e->e_nname.bv_val + 
+                                       STRLENOF( "olcDatabase" ), "=frontend",
+                                       STRLENOF( "=frontend" ) ) )
+                               {
+                                       struct berval rdn, pdn, ndn;
+                                       dnParent( &e->e_nname, &pdn );
+                                       rdn.bv_val = ca.log;
+                                       rdn.bv_len = snprintf(rdn.bv_val, sizeof( ca.log ),
+                                               "%s=" SLAP_X_ORDERED_FMT "%s",
+                                               cfAd_database->ad_cname.bv_val, -1,
+                                               frontendDB->bd_info->bi_type );
+                                       build_new_dn( &ndn, &pdn, &rdn, NULL );
+                                       ber_memfree( e->e_name.bv_val );
+                                       e->e_name = ndn;
+                                       ber_bvreplace( &e->e_nname, &e->e_name );
+                               }
                                entry_put_got_frontend++;
                                isFrontend = 1;
                        }