]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/bconfig.c
import fix to ITS#4989
[openldap] / servers / slapd / bconfig.c
index f57351ff65f463bd8e68f58704a03c41986e8657..427c0b231af956c2d46cd10bda8201f04332d671 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2005-2006 The OpenLDAP Foundation.
+ * Copyright 2005-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -349,7 +349,7 @@ static ConfigTable config_back_cf_table[] = {
                        "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
        { "moduleload", "file", 2, 0, 0,
 #ifdef SLAPD_MODULES
-               ARG_MAGIC|CFG_MODLOAD, &config_generic,
+               ARG_MAGIC|CFG_MODLOAD|ARG_NO_DELETE, &config_generic,
 #else
                ARG_IGNORED, NULL,
 #endif
@@ -4284,7 +4284,10 @@ config_build_schema_inc( ConfigArgs *c, CfEntryInfo *ceparent,
        struct berval bv;
 
        for (; cf; cf=cf->c_sibs, c->depth++) {
+               if ( !cf->c_at_head && !cf->c_cr_head && !cf->c_oc_head &&
+                       !cf->c_om_head ) continue;
                c->value_dn.bv_val = c->log;
+               LUTIL_SLASHPATH( cf->c_file.bv_val );
                bv.bv_val = strrchr(cf->c_file.bv_val, LDAP_DIRSEP[0]);
                if ( !bv.bv_val ) {
                        bv = cf->c_file;