Browse Source

Trac Ticket #346 - Slow ldapmodify operation time for large
quantities of multi-valued attribute values

https://fedorahosted.org/389/ticket/346

Fix Description: When comparing dn syntax attribute values (e.g.,
member in a group) with filter values, filter values are case-
lowered, but the attribute values in an entry are not any more.
This patch lowers the case before the comparison in the syntax
plugin.
(cherry picked from commit 091166e8c0642380d96cb495e30471b0bb4a5c94)

Noriko Hosoi 13 years ago
parent
commit
6237131879

+ 1 - 1
ldap/servers/plugins/referint/referint.c

@@ -193,7 +193,7 @@ referint_postop_del( Slapi_PBlock *pb )
 	
     if(argv == NULL){
         slapi_log_error( SLAPI_LOG_FATAL, REFERINT_PLUGIN_SUBSYSTEM,
-            "referint_postop_modrdn, args are NULL\n" );
+            "referint_postop_del, args are NULL\n" );
         return( -1 );
     }
 	

+ 2 - 0
ldap/servers/plugins/syntaxes/string.c

@@ -390,6 +390,8 @@ string_filter_sub( Slapi_PBlock *pb, char *initial, char **any, char *final,
 		/* 3rd arg: 1 - trim leading blanks */
 		if (!(slapi_value_get_flags(bvals[j]) & SLAPI_ATTR_FLAG_NORMALIZED)) {
 			value_normalize_ext( realval, syntax, 1, &alt );
+		} else if (syntax & SYNTAX_DN) {
+			slapi_dn_ignore_case(realval);
 		}
 		if (alt) {
 			tmprc = slapi_re_exec( re, alt, time_up );