]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/bconfig.c
Remove unused variable
[openldap] / servers / slapd / bconfig.c
index 4564a6f5032387eaf2539ff80204e164b30d1d25..10fec37525e931f6dd2290cd49e62220ae20f2d8 100644 (file)
@@ -179,6 +179,7 @@ enum {
        CFG_MONITORING,
        CFG_SERVERID,
        CFG_SORTVALS,
+       CFG_IX_INTLEN,
 
        CFG_LAST
 };
@@ -372,6 +373,9 @@ static ConfigTable config_back_cf_table[] = {
        { "index_substr_any_step", "step", 2, 2, 0, ARG_INT|ARG_NONZERO,
                &index_substr_any_step, "( OLcfgGlAt:23 NAME 'olcIndexSubstrAnyStep' "
                        "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
+       { "index_intlen", "len", 2, 2, 0, ARG_INT|ARG_MAGIC|CFG_IX_INTLEN,
+               &config_generic, "( OLcfgGlAt:84 NAME 'olcIndexIntLen' "
+                       "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
        { "lastmod", "on|off", 2, 2, 0, ARG_DB|ARG_ON_OFF|ARG_MAGIC|CFG_LASTMOD,
                &config_generic, "( OLcfgDbAt:0.4 NAME 'olcLastMod' "
                        "SYNTAX OMsBoolean SINGLE-VALUE )", NULL, NULL },
@@ -709,8 +713,8 @@ static ConfigOCs cf_ocs[] = {
                 "olcConnMaxPending $ olcConnMaxPendingAuth $ "
                 "olcDisallows $ olcGentleHUP $ olcIdleTimeout $ "
                 "olcIndexSubstrIfMaxLen $ olcIndexSubstrIfMinLen $ "
-                "olcIndexSubstrAnyLen $ olcIndexSubstrAnyStep $ olcLocalSSF $ "
-                "olcLogLevel $ "
+                "olcIndexSubstrAnyLen $ olcIndexSubstrAnyStep $ olcIndexIntLen $ "
+                "olcLocalSSF $ olcLogLevel $ "
                 "olcPasswordCryptSaltFormat $ olcPasswordHash $ olcPidFile $ "
                 "olcPluginLogFile $ olcReadOnly $ olcReferral $ "
                 "olcReplogFile $ olcRequires $ olcRestrict $ olcReverseLookup $ "
@@ -1014,6 +1018,9 @@ config_generic(ConfigArgs *c) {
                case CFG_SSTR_IF_MIN:
                        c->value_int = index_substr_if_minlen;
                        break;
+               case CFG_IX_INTLEN:
+                       c->value_int = index_intlen;
+                       break;
                case CFG_SORTVALS: {
                        ADlist *sv;
                        rc = 1;
@@ -1151,6 +1158,12 @@ config_generic(ConfigArgs *c) {
                        c->be->be_flags &= ~SLAP_DBFLAG_HIDDEN;
                        break;
 
+               case CFG_IX_INTLEN:
+                       index_intlen = SLAP_INDEX_INTLEN_DEFAULT;
+                       index_intlen_strlen = SLAP_INDEX_INTLEN_STRLEN(
+                               SLAP_INDEX_INTLEN_DEFAULT );
+                       break;
+
                case CFG_ACL:
                        if ( c->valx < 0 ) {
                                AccessControl *end;
@@ -1494,6 +1507,16 @@ config_generic(ConfigArgs *c) {
                                        return(1);
                        break;
 
+               case CFG_IX_INTLEN:
+                       if ( c->value_int < SLAP_INDEX_INTLEN_DEFAULT )
+                               c->value_int = SLAP_INDEX_INTLEN_DEFAULT;
+                       else if ( c->value_int > 255 )
+                               c->value_int = 255;
+                       index_intlen = c->value_int;
+                       index_intlen_strlen = SLAP_INDEX_INTLEN_STRLEN(
+                               index_intlen );
+                       break;
+                       
                case CFG_SORTVALS: {
                        ADlist *svnew = NULL, *svtail, *sv;
 
@@ -4909,6 +4932,7 @@ config_back_modify( Operation *op, SlapReply *rs )
        struct berval rdn;
        char *ptr;
        AttributeDescription *rad = NULL;
+       int do_pause = 1;
 
        cfb = (CfBackInfo *)op->o_bd->be_private;
 
@@ -4939,11 +4963,17 @@ config_back_modify( Operation *op, SlapReply *rs )
                        rs->sr_text = "Use modrdn to change the entry name";
                        goto out;
                }
+               /* Internal update of contextCSN? */
+               if ( ml->sml_desc == slap_schema.si_ad_contextCSN && op->o_conn->c_conn_idx == -1 ) {
+                       do_pause = 0;
+                       break;
+               }
        }
 
        slap_mods_opattrs( op, &op->orm_modlist, 1 );
 
-       ldap_pvt_thread_pool_pause( &connection_pool );
+       if ( do_pause )
+               ldap_pvt_thread_pool_pause( &connection_pool );
 
        /* Strategy:
         * 1) perform the Modify on the cached Entry.
@@ -4975,7 +5005,8 @@ config_back_modify( Operation *op, SlapReply *rs )
                op->o_ndn = ndn;
        }
 
-       ldap_pvt_thread_pool_resume( &connection_pool );
+       if ( do_pause )
+               ldap_pvt_thread_pool_resume( &connection_pool );
 out:
        send_ldap_result( op, rs );
        slap_graduate_commit_csn( op );