]> git.sur5r.net Git - openldap/commitdiff
allow multiple limits setting on one global/per backend config line
authorPierangelo Masarati <ando@openldap.org>
Sat, 4 Aug 2001 11:09:25 +0000 (11:09 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sat, 4 Aug 2001 11:09:25 +0000 (11:09 +0000)
doc/man/man5/slapd.conf.5
servers/slapd/config.c

index 5a1f3aaac555d44c492a1ba9a14aa9129221894b..147db4507e0a4b6db21a5e5fe2641b5f34182824 100644 (file)
@@ -512,10 +512,11 @@ e.g. ldapi:// (and eventually IPSEC).  It is not normally used.
 .TP
 .B sizelimit <integer> 
 .TP
-.B sizelimit size[.{soft|hard|unchecked}]=<integer>
+.B sizelimit size[.{soft|hard|unchecked}]=<integer> [...]
 Specify the maximum number of entries to return from a search operation.
 The default size limit is 500.
 The second format allows a fine grain setting of the size limits.
+Extra args can be added on the same line.
 See
 .BR limits
 for an explanation of the different flags.
@@ -539,11 +540,12 @@ The default is 32.
 .TP
 .B timelimit <integer>
 .TP
-.B timelimit time[.{soft|hard}]=<integer>
+.B timelimit time[.{soft|hard}]=<integer> [...]
 Specify the maximum number of seconds (in real time)
 .B slapd
 will spend answering a search request.  The default time limit is 3600.
 The second format allows a fine grain setting of the time limits.
+Extra args can be added on the same line.
 See
 .BR limits
 for an explanation of the different flags.
index 3547d7548d9e760fea32fc5e15ef3fdf0c0ed0cf..adef505afabefc4ac9c69c6ff64d7584c4a7f45c 100644 (file)
@@ -694,7 +694,7 @@ read_config( const char *fname )
 
                /* set size limit */
                } else if ( strcasecmp( cargv[0], "sizelimit" ) == 0 ) {
-                       int rc = 0;
+                       int rc = 0, i;
                        struct slap_limits_set *lim;
                        
                        if ( cargc < 2 ) {
@@ -717,30 +717,36 @@ read_config( const char *fname )
                                lim = &be->be_def_limit;
                        }
 
-                       if ( strncasecmp( cargv[1], "size", 4 ) == 0 ) {
-                               rc = parse_limit( cargv[1], lim );
-                       } else {
-                               lim->lms_s_soft = atoi( cargv[1] );
-                               lim->lms_s_hard = 0;
-                       }
+                       for ( i = 1; i < cargc; i++ ) {
+                               if ( strncasecmp( cargv[i], "size", 4 ) == 0 ) {
+                                       rc = parse_limit( cargv[i], lim );
+                               } else {
+                                       lim->lms_s_soft = atoi( cargv[i] );
+                                       lim->lms_s_hard = 0;
+                               }
 
-                       if ( rc ) {
+                               if ( rc ) {
 #ifdef NEW_LOGGING
-                               LDAP_LOG(( "config", LDAP_LEVEL_CRIT,
-                                          "%s: line %d: unable to parse value"
-                                          " \"%s\" in \"sizelimit <limit>\""
-                                          " line.\n",
-                                          fname, lineno, cargv[1] ));
+                                       LDAP_LOG(( "config", LDAP_LEVEL_CRIT,
+                                                  "%s: line %d: unable "
+                                                  "to parse value \"%s\" "
+                                                  "in \"sizelimit "
+                                                  "<limit>\" line.\n",
+                                                  fname, lineno, cargv[i] ));
 #else
-                               Debug( LDAP_DEBUG_ANY,
-           "%s: line %d: unable to parse value \"%s\" in \"sizelimit <limit>\" line\n",
-                                   fname, lineno, cargv[1] );
+                                       Debug( LDAP_DEBUG_ANY,
+                                               "%s: line %d: unable "
+                                               "to parse value \"%s\" "
+                                               "in \"sizelimit "
+                                               "<limit>\" line\n",
+                                               fname, lineno, cargv[i] );
 #endif
+                               }
                        }
 
                /* set time limit */
                } else if ( strcasecmp( cargv[0], "timelimit" ) == 0 ) {
-                       int rc = 0;
+                       int rc = 0, i;
                        struct slap_limits_set *lim;
                        
                        if ( cargc < 2 ) {
@@ -763,25 +769,31 @@ read_config( const char *fname )
                                lim = &be->be_def_limit;
                        }
 
-                       if ( strncasecmp( cargv[1], "time", 4 ) == 0 ) {
-                               rc = parse_limit( cargv[1], lim );
-                       } else {
-                               lim->lms_t_soft = atoi( cargv[1] );
-                               lim->lms_t_hard = 0;
-                       }
+                       for ( i = 1; i < cargc; i++ ) {
+                               if ( strncasecmp( cargv[i], "time", 4 ) == 0 ) {
+                                       rc = parse_limit( cargv[i], lim );
+                               } else {
+                                       lim->lms_t_soft = atoi( cargv[i] );
+                                       lim->lms_t_hard = 0;
+                               }
 
-                       if ( rc ) {
+                               if ( rc ) {
 #ifdef NEW_LOGGING
-                               LDAP_LOG(( "config", LDAP_LEVEL_CRIT,
-                                          "%s: line %d: unable to parse value"
-                                          " \"%s\" in \"timelimit <limit>\""
-                                          " line.\n",
-                                          fname, lineno, cargv[1] ));
+                                       LDAP_LOG(( "config", LDAP_LEVEL_CRIT,
+                                                  "%s: line %d: unable "
+                                                  "to parse value \"%s\" "
+                                                  "in \"timelimit "
+                                                  "<limit>\" line.\n",
+                                                  fname, lineno, cargv[i] ));
 #else
-                               Debug( LDAP_DEBUG_ANY,
-           "%s: line %d: unable to parse value \"%s\" in \"timelimit <limit>\" line\n",
-                                   fname, lineno, cargv[1] );
+                                       Debug( LDAP_DEBUG_ANY,
+                                               "%s: line %d: unable "
+                                               "to parse value \"%s\" "
+                                               "in \"timelimit "
+                                               "<limit>\" line\n",
+                                               fname, lineno, cargv[i] );
 #endif
+                               }
                        }
 
                /* set regex-based limits */