/* if ignore.. */
if ( first ) {
/* only log if first occurrence */
- if ( first == 1 ) {
+ if ( ( force < 2 && first > 0 ) || abs(first) == 1 ) {
tester_ldap_error( ld, "ldap_sasl_bind_s", NULL );
}
rc = LDAP_SUCCESS;
if ( err[ 0 ] == '!' ) {
ignore = 0;
err++;
+
+ } else if ( err[ 0 ] == '*' ) {
+ ignore = -1;
+ err++;
}
for ( i = 0; ignore_str2err[ i ].name != NULL; i++ ) {
if ( err > 0 ) {
if ( err < TESTER_SERVER_LAST ) {
rc = ignore_server[ err ];
- if ( rc ) {
+ if ( rc > 0 ) {
ignore_server[ err ]++;
+
+ } else if ( rc < 0 ) {
+ ignore_server[ err ]--;
}
}
} else if ( err < 0 ) {
if ( -err < TESTER_CLIENT_LAST ) {
rc = ignore_client[ -err ];
- if ( rc ) {
+ if ( rc > 0 ) {
ignore_client[ -err ]++;
+
+ } else if ( rc < 0 ) {
+ ignore_server[ err ]--;
}
}
}
/* if ignore.. */
if ( first ) {
/* only log if first occurrence */
- if ( force < 2 || first == 1 ) {
+ if ( ( force < 2 && first > 0 ) || abs(first) == 1 ) {
tester_ldap_error( ld, buf, NULL );
}
continue;
/* if ignore.. */
if ( first ) {
/* only log if first occurrence */
- if ( force < 2 || first == 1 ) {
+ if ( ( force < 2 && first > 0 ) || abs(first) == 1 ) {
tester_ldap_error( ld, "ldap_search_ext_s", NULL );
}
continue;