/* limits.c - routines to handle regex-based size and time limits */
-/*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* $OpenLDAP$/
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2003 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
*/
#include "portable.h"
bv.bv_val = (char *) pattern;
bv.bv_len = strlen( pattern );
- rc = dnNormalize2( NULL, &bv, &lm->lm_dn_pat );
+ rc = dnNormalize( 0, NULL, NULL, &bv, &lm->lm_dn_pat, NULL );
if ( rc != LDAP_SUCCESS ) {
ch_free( lm );
return( -1 );
return( 1 );
}
}
+
+ } else if ( strncasecmp( arg, "pr", sizeof( "pr" ) - 1 ) == 0 ) {
+ arg += sizeof( "pr" ) - 1;
+ if ( arg[0] != '=' ) {
+ return( 1 );
+ }
+ arg++;
+ if ( strcasecmp( arg, "noEstimate" ) == 0 ) {
+ limit->lms_s_pr_hide = 1;
+ } else {
+ char *next = NULL;
+
+ limit->lms_s_pr =
+ strtol( arg, &next, 10 );
+ if ( next == arg || limit->lms_s_pr < -1 ) {
+ return( 1 );
+ }
+ }
} else {
return( 1 );