BulkResetPassword fails to display any completion message if you change more than 3 or 4 passwords at a time. Error reporting does not work with multiple updates.
Attempting to reset more than a couple of passwords results in a blank screen and a Page Cannot Be Displayed error. The password change e-mails ARE sent.
Problem is that TWiki::OopsException is being called with ALL the change information in the $message. This exceeds the maximum length of the GET parameter area and results in invalid page, possibly also Apache malformed header for script error.
Rough solution is to replace detail in $message with just a list of users when doing bulk registration. Here is a rough change to lib/TWiki/UI/Register.pm starting at line 486 with added lines flagged in comments--
# Collect all messages into one string
my $message = '';
my $good = 1;
my $user_count = 0; # added
my $user_list = ''; # added
foreach my $userName (@userNames) {
$user_count++; # added
unless ( $user_list eq '' ) { $user_list .= ", "; } # added
$user_list .= "$userName"; #added
$good = $good &&
_resetUsersPassword( $session, $userName, $introduction, \$message );
}
my $action = '';
if ( $isBulk ) { #added
# replace message with user list
$message = "Changed $user_count passwords: $user_list";
}
Error handling/reporting logic appears to have been designed for a single update. If you have multiple updates, success and errors are NOT be reported correctly.
This is growing some months old, and Bulk code were touched a few times since.
Is this still a problem with 4.1.0?
--
SP
No feedback, so discarding under 30 day rule.
CC