Another ExternalAuth question - "strict refs"

Hi guys,
I’ve been following the discussions about ExternalAuth with great interest
as I"ve been slowly working to move my 3.6.0 install to the most current
version. I’m trying to setup ExternalAuth to LDAP currently. When its
enabled I get this message in the browser when I try to login:

Can’t use string (“My_LDAP”) as an ARRAY ref while “strict refs” in use at
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm line
728, line 273.

I cannot login as root (local) or LDAP. I installed ExternaAUth v006 which
I understand has a bug in it but i’m not sure if this is the same error or
something different. Can somone point me in the right direction?

Thanks,
Aaron

A followup:

I looked at the User_Vendor.pm file in the error and commented out the “use
strict;” line at the beginning of the file. now I can login as root but not
LDAP. I’m not a programmer so I don’t understand the sigificance of that
statement. Will my “fix” cause any other errors/problems? Is there a
better option?

ThanksOn Wed, Nov 5, 2008 at 1:48 PM, Aaron Zuercher aaron.techgeeks@gmail.comwrote:

Hi guys,
I’ve been following the discussions about ExternalAuth with great interest
as I"ve been slowly working to move my 3.6.0 install to the most current
version. I’m trying to setup ExternalAuth to LDAP currently. When its
enabled I get this message in the browser when I try to login:

Can’t use string (“My_LDAP”) as an ARRAY ref while “strict refs” in use at
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm line
728, line 273.

I cannot login as root (local) or LDAP. I installed ExternaAUth v006 which
I understand has a bug in it but i’m not sure if this is the same error or
something different. Can somone point me in the right direction?

Thanks,
Aaron

If you have “use strict;”, it just means that you have to explicitly
define your variables before you use them. That means that you either
have to have a section where you define the variables that you’re going
to use such as:

my $foo;
my $bar;
my $baz;

or you have to define it the first time it’s used (and only the first
time), such as

#do some things
my $foo=“bar”;
$foo=“baz”;

It’s designed to make sure that you don’t have typos inside your
variable names and is mostly just a matter of style more than anything
else. That doesn’t address your LDAP issue, but should help to show why
the fatal error was occurring.

Aaron Zuercher wrote:

Hi guys,
I’ve been following the discussions about ExternalAuth with great
interest as I"ve been slowly working to move my 3.6.0 install to the
most current version. I’m trying to setup ExternalAuth to LDAP
currently. When its enabled I get this message in the browser when
I try to login:

Can’t use string (“My_LDAP”) as an ARRAY ref while “strict refs” in
use at /opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/
User_Vendor.pm line 728, line 273.

In your config do you have this

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

or this

Set($ExternalInfoPriority, ‘My_LDAP’ );

You want the former

-kevin

Aaron Zuercher wrote:

Hi guys,
I’ve been following the discussions about ExternalAuth with great
interest as I"ve been slowly working to move my 3.6.0 install to the
most current version. I’m trying to setup ExternalAuth to LDAP
currently. When its enabled I get this message in the browser when I
try to login:

Can’t use string (“My_LDAP”) as an ARRAY ref while “strict refs” in use
at /opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm
line 728, line 273.

As Kevin said, this is probably a small issue with your config. It
wouldn’t hurt to provide your config if it doesn’t resolve your problem.

Also, enabling debug-level log-to-file is very useful.

I cannot login as root (local) or LDAP. I installed ExternaAUth v006
which I understand has a bug in it but i’m not sure if this is the same
error or something different. Can somone point me in the right direction?

With v0.06 you should be able to login as any user that already exists
in RT, using external authentication checking, but you’ll hit a wall
when it comes to autocreating new users. I’m currently working flat out
(as much as I can around everything else) to produce a new completely
refactored version of the plugin that will work properly.
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

Kevin,
that was it! Thanks. Now I’m getting the “SetDisabled” on line 1087 error.
which I believe is the previously mentioned add user bug. I will patiently
await a fix for that.

AaronOn Wed, Nov 5, 2008 at 2:34 PM, Kevin Falcone falcone@bestpractical.comwrote:

On Nov 5, 2008, at 2:48 PM, Aaron Zuercher wrote:

Hi guys,
I’ve been following the discussions about ExternalAuth with great
interest as I"ve been slowly working to move my 3.6.0 install to the
most current version. I’m trying to setup ExternalAuth to LDAP
currently. When its enabled I get this message in the browser when
I try to login:

Can’t use string (“My_LDAP”) as an ARRAY ref while “strict refs” in
use at /opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/
User_Vendor.pm line 728, line 273.

In your config do you have this

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

or this

Set($ExternalInfoPriority, ‘My_LDAP’ );

You want the former

-kevin

I cannot login as root (local) or LDAP. I installed ExternaAUth
v006 which I understand has a bug in it but i’m not sure if this is
the same error or something different. Can somone point me in the
right direction?

Thanks,
Aaron


The rt-users Archives

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


The rt-users Archives

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