]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/backend.c
Factor out ldif2* intialization to ldif2common.c
[openldap] / servers / slapd / backend.c
index 5b5a1f5db822bd99866ab50a86b9ac3777a34059..c8d30afd066efce744304c112c6d58a149fb9c74 100644 (file)
@@ -13,6 +13,8 @@
 #include "slap.h"
 #include "lutil.h"
 
+#include "ldap_defaults.h"
+
 #ifdef SLAPD_LDAP
 #include "back-ldap/external.h"
 #endif
@@ -385,6 +387,9 @@ backend_db_init(
        be->be_sizelimit = defsize;
        be->be_timelimit = deftime;
 
+       be->be_realm = global_realm != NULL
+               ? ch_strdup( global_realm ) : NULL;
+
        if(bi->bi_db_init) {
                rc = bi->bi_db_init( be );
        }
@@ -434,26 +439,6 @@ select_backend( char * dn )
                }
        }
 
-        /* if no proper suffix could be found then check for aliases */
-        for ( i = 0; i < nbackends; i++ ) {
-                for ( j = 0; 
-                     backends[i].be_suffixAlias != NULL && 
-                      backends[i].be_suffixAlias[j] != NULL; 
-                     j += 2 )
-                {
-                        len = strlen( backends[i].be_suffixAlias[j] );
-
-                        if ( len > dnlen ) {
-                                continue;
-                        }
-
-                        if ( strcmp( backends[i].be_suffixAlias[j],
-                            dn + (dnlen - len) ) == 0 ) {
-                                return( &backends[i] );
-                        }
-                }
-        }
-
 #ifdef LDAP_ALLOW_NULL_SEARCH_BASE
        /* Add greg@greg.rim.or.jp
         * It's quick hack for cheap client
@@ -596,7 +581,6 @@ backend_connection_destroy(
        return 0;
 }
 
-#ifdef SLAPD_ACLGROUPS
 int 
 backend_group(
        Backend *be,
@@ -613,4 +597,22 @@ backend_group(
        else
                return(1);
 }
+
+#ifdef SLAPD_SCHEMA_DN
+Attribute *backend_subschemasubentry( Backend *be )
+{
+       /* should be backend specific */
+       static struct berval ss_val = {
+               sizeof(SLAPD_SCHEMA_DN)-1,
+               SLAPD_SCHEMA_DN };
+       static struct berval *ss_vals[2] = { &ss_val, NULL };
+       static Attribute ss_attr = {
+               "subschemasubentry",
+               ss_vals,
+               SYNTAX_DN | SYNTAX_CIS,
+               NULL
+       };
+
+       return &ss_attr;
+}
 #endif