[rt-users] Undefined Subroutine (was: CALLING EXTERNALAUTH TESTERS - v0.07_01 nowavailable.)
Robert Munsch
Munsch at phillycarshare.org
Fri Nov 14 16:50:03 EST 2008
I've checked and I'm not sure what's going wrong, still. Basic config
seems OK. ExternalAuth is in place and fully (re-)installed. LDAP.pm
exists and is properly readable by the webserver:
root at data:/opt/rt3/var/log# ls -lah
/opt/rt3/local/plugins/RT-Authen-
ExternalAuth/lib/RT/Authen/ExternalAuth/
total 44K
drwxr-xr-x 2 www-data www-data 4.0K 2008-11-14 16:37 .
drwxr-xr-x 3 www-data www-data 4.0K 2008-11-14 16:37 ..
-r--r--r-- 1 www-data www-data 13K 2008-11-06 13:20 DBI.pm
-r--r--r-- 1 www-data www-data 18K 2008-11-06 13:36 LDAP.pm
And yet I still get
Undefined subroutine &RT::Authen::ExternalAuth::UserExists called at
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAut
h/autohandler/Auth line 39.
When I attempt any kind of login. Line 39 is the last line in this
block:
# Unless we have loaded a valid user with a UserID
# check if user exists externally and autocreate if it does
unless ($session{'CurrentUser'}->Id) {
if(RT::Authen::ExternalAuth::UserExists($user)){
and my debug-level logs for this show the following (password is bogus -
what I actually typed, just not a real password):
---
[Fri Nov 14 21:37:54 2008] [error]: Working around bug in RT and
reloading RT::User
(/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAu
th/autohandler/Auth:12)
Trace begun at /opt/rt3/bin/../lib/RT.pm line 289
Log::Dispatch::__ANON__('Log::Dispatch=HASH(0xc010f90)', 'Working around
bug in RT and reloading RT::User') called at
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAut
h/autohandler/Auth line 12
HTML::Mason::Commands::__ANON__('pass', '65dfg', 'user', 'munsch')
called at /usr/local/share/perl/5.8.8/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0xc8
e2c60)', 'pass', '65dfg', 'user', 'munsch') called at
/usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 1279
eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line
1274
HTML::Mason::Request::comp(undef, undef, 'pass', '65dfg', 'user',
'munsch') called at /opt/rt3/bin/../lib/RT/Interface/Web/Request.pm line
176
RT::Interface::Web::Request::callback('RT::Interface::Web::Request=HASH(
0xc9081e0)', 'pass', '65dfg', 'user', 'munsch', 'CallbackName', 'Auth')
called at /opt/rt3/share/html/autohandler line 253
HTML::Mason::Commands::__ANON__('pass', '65dfg', 'user', 'munsch')
called at /usr/local/share/perl/5.8.8/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0xc7
dc4d0)', 'pass', '65dfg', 'user', 'munsch') called at
/usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 1279
eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line
1274
HTML::Mason::Request::comp(undef, undef, undef, 'pass', '65dfg', 'user',
'munsch') called at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm
line 473
eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 473
eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 425
HTML::Mason::Request::exec('RT::Interface::Web::Request=HASH(0xc9081e0)'
) called at /usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line
168
HTML::Mason::Request::ApacheHandler::exec('RT::Interface::Web::Request=H
ASH(0xc9081e0)') called at
/usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line 825
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=H
ASH(0x1171890)', 'Apache2::RequestRec=SCALAR(0xc923dd0)') called at
/opt/rt3/bin/webmux.pl line 148
eval {...} at /opt/rt3/bin/webmux.pl line 148
RT::Mason::handler('Apache2::RequestRec=SCALAR(0xc923dd0)') called at -e
line 0
eval {...} at -e line 0
---
Any help or pointing in any kind of direction at all would be
appreciated. I don't understand what the logs are trying to tell me.
LDAP.pm is there, ::UserExists is called by the code, but it complains
there's no such animal. This is a 5-minute-old fresh install of 7_01.
Clearly it's working for most people - what's so special about my
::UserExists call..?
Halp!,
Rob
-----Original Message-----
From: mpeac at jennic.com [mailto:mpeac at jennic.com] On Behalf Of Mike
Peachey
Sent: Thursday, November 13, 2008 4:39 AM
To: Robert Munsch
Cc: RT Users
Subject: Re: [rt-users] CALLING EXTERNALAUTH TESTERS - v0.07_01
nowavailable.
Robert Munsch wrote:
> Still experiencing this. Not sure what's going on. Any attempt at
> login for any user - root or otherwise - gets this:
>
> Undefined subroutine &RT::Authen::ExternalAuth::UserExists called at
>
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAut
> h/autohandler/Auth line 39.
>
> The difference being only that if I tried logging in as a user that
> doesn't exist yet and should be looked up in AD, refreshing the page
> gives me the login screen again: and if I tried logging in as root, it
> says line 89 instead of 39 and refreshing the page gives me RT at a
> glance successfully.
>
> Very confused.
I would really like to help, but I'm having difficulty seeing where the
problem might be. It's very much a perl/systemconfiguration/rt-core
problem - I'm much better on ExternalAuth issues.
>> You might want to try, as the user your web server runs as,
>> not root:
>> perl -I/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib -
> MRT::Authen::ExternalAuth -e1
>
> Did that. No apparent output: just hangs until I ctrl-C.
This could be telling.. though I'm not sure what of.
I know this has probably been mentioned before, but just in case it's
worth at least suggesting:
chown -R apache:apache /opt/rt3
(or whatever is your web user, web group and $RTHOME).
--
Kind Regards,
__________________________________________________
Mike Peachey, IT
Tel: +44 114 281 2655
Fax: +44 114 281 2951
Jennic Ltd, Furnival Street, Sheffield, S1 4QT, UK
Comp Reg No: 3191371 - Registered In England
http://www.jennic.com
__________________________________________________
More information about the rt-users
mailing list