소스 검색

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 년 전
부모
커밋
6237131879
2개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      ldap/servers/plugins/referint/referint.c
  2. 2 0
      ldap/servers/plugins/syntaxes/string.c

+ 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 );