+/*
+ * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
/* backend.c - routines for dealing with back-end databases */
#include "slap.h"
#include "lutil.h"
+#include "ldap_defaults.h"
+
#ifdef SLAPD_LDAP
#include "back-ldap/external.h"
#endif
}
}
- /* 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
return 0;
}
-#ifdef SLAPD_ACLGROUPS
int
backend_group(
Backend *be,
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