Skip to content
Snippets Groups Projects
Commit 4919363f authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

more intuitive special limits configuration

parent 41478305
No related branches found
No related tags found
No related merge requests found
......@@ -183,8 +183,9 @@ limit is used; if the requested time limit exceedes the
limit, an "Unwilling to perform" is returned.
If the
.BR hard
limit is set to zero, the soft limit is used in either case;
if it is set to -1, no hard limit is enforced.
limit is set to 0 or to the keyword "soft", the soft limit is used
in either case; if it is set to -1 or to the keyword "none",
no hard limit is enforced.
Explicit requests for time limits smaller or equal to the
.BR hard
limit are honored.
......@@ -207,8 +208,9 @@ limit is used; if the requested size limit exceedes the
limit, an "Unwilling to perform" is returned.
If the
.BR hard
limit is set to zero, the soft limit is used in either case;
if it is set to -1, no hard limit is enforced.
limit is set to 0 or to the keyword "soft", the soft limit is used
in either case; if it is set to -1 or to the keyword "none",
no hard limit is enforced.
Explicit requests for size limits smaller or equal to the
.BR hard
limit are honored.
......@@ -219,6 +221,7 @@ to examine.
If the selected candidates exceed the
.BR unchecked
limit, the search will abort with "Unwilling to perform".
If it is set to -1 or to the keyword "none", no limit is applied (the default).
If no flag is set, the value is assigned to the
.BR soft
limit, and the
......
......@@ -47,7 +47,7 @@ get_limits(
break;
case SLAP_LIMITS_REGEX:
if ( regexec( &lm[0]->lm_dn_regex, ndn, 0, NULL, 0) == 0 ) {
if ( regexec( &lm[0]->lm_dn_regex, ndn, 0, NULL, 0 ) == 0 ) {
*limit = &lm[0]->lm_limits;
return( 0 );
}
......@@ -264,7 +264,13 @@ parse_limit(
return( 1 );
}
arg++;
limit->lms_t_hard = atoi( arg );
if ( strcasecmp( arg, "soft" ) == 0 ) {
limit->lms_t_hard = 0;
} else if ( strcasecmp( arg, "none" ) == 0 ) {
limit->lms_t_hard = -1;
} else {
limit->lms_t_hard = atoi( arg );
}
} else {
return( 1 );
......@@ -297,7 +303,13 @@ parse_limit(
return( 1 );
}
arg++;
limit->lms_s_hard = atoi( arg );
if ( strcasecmp( arg, "soft" ) == 0 ) {
limit->lms_s_hard = 0;
} else if ( strcasecmp( arg, "none" ) == 0 ) {
limit->lms_s_hard = -1;
} else {
limit->lms_s_hard = atoi( arg );
}
} else if ( strncasecmp( arg, "unchecked", 9 ) == 0 ) {
arg += 9;
......@@ -305,7 +317,11 @@ parse_limit(
return( 1 );
}
arg++;
limit->lms_s_unchecked = atoi( arg );
if ( strcasecmp( arg, "none" ) == 0 ) {
limit->lms_s_unchecked = -1;
} else {
limit->lms_s_unchecked = atoi( arg );
}
} else {
return( 1 );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment