From 063e1517b4d681d0593141d2cdc742f3e7f42aae Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Aug 16 2012 01:31:20 +0000 Subject: 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) --- diff --git a/ldap/servers/plugins/referint/referint.c b/ldap/servers/plugins/referint/referint.c index 7aee564..8f751da 100644 --- a/ldap/servers/plugins/referint/referint.c +++ b/ldap/servers/plugins/referint/referint.c @@ -196,7 +196,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 ); } diff --git a/ldap/servers/plugins/syntaxes/string.c b/ldap/servers/plugins/syntaxes/string.c index e5bdc18..54cd7c8 100644 --- a/ldap/servers/plugins/syntaxes/string.c +++ b/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 );