While getting a 3.8.6 instance fired up recently, I noticed a couple of bugs in User_Overlay while using RT::Authen::ExternalAuth. Most of this is applicable to 3.8.7, although the fixed warning message with ? : was fixed in a different way.<br>
<br>Now these issues shouldn't generally manifest themselves, but when the do, this additional debugging so it doesn't crash badly does help.<br><br>-Brian<br><br>----------------<br><br>+++ rt-3.8.6/lib/RT/User_Overlay.pm 2009-12-21 20:48:27.000000000 +0000<br>
@@ -116,6 +116,8 @@<br> @_ # get the real argumentlist<br> );<br><br>+ $RT::Logger->warning( "Create called", join(',',%args));<br>+<br> # remove the value so it does not cripple SUPER::Create<br>
my $record_transaction = delete $args{'_RecordTransaction'};<br><br>@@ -1018,6 +1020,13 @@<br> return (undef);<br> }<br><br>+ unless ( defined $self->PrincipalObj ) {<br>+ $RT::Logger->info(<br>
+ "INTERNAL ERROR: IN IsPassword without a valid PrincipalObj when user " . $self->Name . " tried to log in" );<br>+ return (undef);<br>+ }<br>+<br>+<br> if ( $self->PrincipalObj->Disabled ) {<br>
$RT::Logger->info(<br> "Disabled user " . $self->Name . " tried to log in" );<br>@@ -1140,10 +1149,10 @@<br> my $set_err = $self->PrincipalObj->SetDisabled($val);<br>
unless ($set_err) {<br> $RT::Handle->Rollback();<br>- $RT::Logger->warning("Couldn't ".($val == 1) ? "disable" : "enable"." user ".$self->PrincipalObj->Id);<br>
+ $RT::Logger->warning("Couldn't ".(($val == 1) ? "disable" : "enable")." user ".$self->PrincipalObj->Id);<br> return (undef);<br> }<br>- $self->_NewTransaction( Type => ($val == 1) ? "Disabled" : "Enabled" );<br>
+ $self->_NewTransaction( Type => (($val == 1) ? "Disabled" : "Enabled") );<br><br> $RT::Handle->Commit();<br><br><br>