Issue with ExternalAuth and RT 3.8.2

Hi everyone,

I have just updated to RT 3.8.2 and ExternalAuth 0.08, and haven’t changed my config files in any way. Now, when I log in, I receive the following line, and nothing else, unless I refresh, then everything works as it is supposed to.

RT::User::UpdateFromExternal Unimplemented in HTML::Mason::Commands. (/opt/rt3/local/html/Callbacks/ExternalAuth/autohandler/Auth line 73)

I’ve had a search arround and there are a few discussions regarding this line, and nothing jumps out as a solution.

Any ideas?

My RT_SiteConfig is as below:

Cheers
Tony Ayre
Network Manager
Minehead Middle School

$DatabasePassword = ‘[PASSWORD]’;

$MailCommand = ‘sendmailpipe’;
$SemdmailArguments = ‘-oi’;

$CorrespondAddress = ‘[EMAIL]’;
$CommentAddress = ‘[EMAIL]’;

$Timezone = ‘Europe/London’;

Set( $rtname, ‘supportdesk2/rt’);
Set( $Organization, “MMS”);
Set ($WebBaseURL , ‘http://supportdesk2/’);
Set ($WebPath , ‘/rt’);

Set($WebImageURL, $WebPath . “/NoAuth/images/”);
Set($LogoURL, $WebImagesURL . “logo.gif”);
Set($LogoLinkURL, “http://supportdesk2/rt”);
Set($LogoImageURL, $WebImagesURL . “logo.gif”);
Set($LogoAltText, “MMS ICT Helpdesk”);

#Set(@Plugins,(qw(Extension::QuickDelete)));
Set(@Plugins,‘RT::FM’,‘RT::IR’,‘RTx::Statistics’, ‘RTx::Calendar’,‘RTx::Tags’,(qw(RTx::EmailCompletion)),qw(RT::Authen::ExternalAuth));

Set($HomepageComponents, [qw(QuickCreate Quicksearch MyCalendar
MyAdminQueues MySupportQueues MyReminders RefreshHomepage)]);

THE EXTERNAL AUTH

Set($ExternalAuthPriority, [‘My_LDAP’]);
Set($ExternalInfoPriority, [ ‘My_LDAP’]);

Set($ExternalServiceUsesSSLorTLS, 0);

Set($AutoCreateNonExternalUsers, 0);

Set($ExternalSettings, {
‘My_LDAP’ => {
‘type’ => ‘ldap’,
‘auth’ => 1,
‘info’ => 1,
‘server’ => ‘10.5.143.10’,
‘user’ =>
‘CN=Administrator,CN=Users,DC=[DC],DC=[DC],DC=[DC],DC=[DC]’,
‘pass’ => ‘[PASSWORD]’,
‘base’ => ‘ou=Staff,ou=Managed Users,dc=[DC],dc=[DC],dc=[DC],dc=[DC]’,
‘filter’ => ‘(objectClass=*)’,
‘d_filter’ => ‘(userAccountControl:1.2.840.113556.1.4.803:=2)’,
‘tls’ => 0,
‘net_ldap_args’ => [ version => 3 ],
‘attr_match_list’ => [ ‘Name’,
‘EmailAddress’,
‘RealName’,
‘WorkPhone’,
‘Address2’
],
‘attr_map’ => {
‘Name’ => ‘sAMAccountName’,
‘EmailAddress’ => ‘mail’,
‘Organization’ => ‘physicalDeliveryOfficeName’,
‘RealName’ => ‘cn’,
‘ExternalAuthId’ => ‘sAMAccountName’,
‘Gecos’ => ‘sAMAccountName’,
‘WorkPhone’ => ‘telephoneNumber’,
‘Address1’ => ‘streetAddress’,
‘City’ => ‘l’,
‘State’ => ‘st’,
‘Zip’ => ‘postalCode’,
‘Country’ => ‘co’
}}}
);
1;

Hi everyone,

I have just updated to RT 3.8.2 and ExternalAuth 0.08, and haven’t
changed my config files in any way. Now, when I log in, I receive
the following line, and nothing else, unless I refresh, then
everything works as it is supposed to.

RT::User::UpdateFromExternal Unimplemented in HTML::Mason::Commands.
(/opt/rt3/local/html/Callbacks/ExternalAuth/autohandler/Auth line 73)

This sounds like you have an old version of a callback installed in
local that is conflicting
RT-Authen-ExternalAuth lives in /opt/rt3/local/plugins/RT-Authen-
ExternalAuth
Also, version 0.08 of ExternalAuth has a callback that is less than 73
lines long
and doesn’t call UpdateFromExternal.

Did you try installing one of the manual overlays from the wiki, or an
older version of
ExternalAuth previously?

You probably want to remove the local/html/Callbacks/ExternalAuth/
autohandler file,
but there may be other things in local/ that need to be removed also

-kevin

Hi everyone,

I have just updated to RT 3.8.2 and ExternalAuth 0.08, and haven’t
changed my config files in any way. Now, when I log in, I receive
the following line, and nothing else, unless I refresh, then
everything works as it is supposed to.

RT::User::UpdateFromExternal Unimplemented in HTML::Mason::Commands.
(/opt/rt3/local/html/Callbacks/ExternalAuth/autohandler/Auth line 73)

This sounds like you have an old version of a callback installed in
local that is conflicting
RT-Authen-ExternalAuth lives in /opt/rt3/local/plugins/RT-Authen-
ExternalAuth
Also, version 0.08 of ExternalAuth has a callback that is less than 73
lines long
and doesn’t call UpdateFromExternal.

Did you try installing one of the manual overlays from the wiki, or an
older version of
ExternalAuth previously?

You probably want to remove the local/html/Callbacks/ExternalAuth/
autohandler file,
but there may be other things in local/ that need to be removed also

-kevinHi Kevin,

Thanks for the response. I went through various problems previously with getting LDAP authentication working, but haven’t touched any of that for a good 6 months or more - so knowing exactly what I installed and didn’t install is a little difficult now. But yes, older versions of ExternalAuth have been installed, and then updated.

I have moved the autohandler file you mention (not deleted it, just in case), and now receive this error:

Undefined subroutine &RT::Authen::ExternalAuth::DoAuth called at /opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAuth/autohandler/Auth line 25.

So, I am guessing that the file listed is calling that file I moved?

I’m not much good when it comes to perl, but any tips on what else needs altering would be helpful.

Thanks
Tony

Hi again,

Update, realising that RT::Authen::ExternalAuth likely installs a version of the autohandler file into that location, I have installed it from the tar file. ie. downloaded RT-Authen-ExternalAuth-0.08.tar.gz and taken the file from there. However, this does not solve it. I now get:

Undefined subroutine &RT::Authen::ExternalAuth::DoAuth called at /opt/rt3/local/html/Callbacks/ExternalAuth/autohandler/Auth line 25.

Am I right in thinking I seem to have 2 versions of ExternalAuth, part of one and part of another still existing? Would I also be right in thinking that removing it and reinstalling the plugin entirely would likely fix things? If so, how do I do that?

Cheers
Tony

Ah, so, if I had read the README file properly… I would have seen:

"UPGRADING

If you are upgrading from 0.05 you may have some leftover
parts of the module in

$RTHOME/local/lib/RT/User_Vendor.pm
$RTHOME/local/lib/RT/Authen/External_Auth.pm

that will conflict with the new install and these should be removed"

Now, the thing is… what are these parts and what needs removing?

Sorry about all the posts, I’m investigating as I go along.

Cheers
Tony

New version of the module as well as other updated plugins live in
local/plugins dir. List of files you can get from MANIFEST of an
extension and delete them from local/html, local/lib/,
local/etc/EXT/…On Fri, May 15, 2009 at 5:45 PM, Tony A localzuk@gmail.com wrote:

Ah, so, if I had read the README file properly… I would have seen:
"UPGRADING
If you are upgrading from 0.05 you may have some leftover
parts of the module in
$RTHOME/local/lib/RT/User_Vendor.pm
$RTHOME/local/lib/RT/Authen/External_Auth.pm
that will conflict with the new install and these should be removed"
Now, the thing is… what are these parts and what needs removing?
Sorry about all the posts, I’m investigating as I go along.
Cheers
Tony


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Best regards, Ruslan.