v0.08_01 2009-01-20 Mike Peachey <zordrak@cpan.org>
* ChangeLog
Added entry for v0.08_01
Tabs-to-spaces conversion made where needed.
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.08_01
DoAuth method created to inherit the work that used to be
performed by the Auth callback for autohandler.
GetAuth reduced to an interface. Its purpose is now just to
check what type of service was passed and then call the
GetAuth method from the right package.
Authentication now halts and returns with error if
ExternalAuthPriority is not set. This prevents a fairly
useless compile error and logs an explanation instead.
Information lookup is now bypassed and logged if
ExternalInfoPriority is not set, preventing another useless
compile error and replacing it with an explanation.
SSO Cookie authentication now available following the
integration of RT::Authen::CookieAuth. Methods updated
to reflect the availability of this service.
* lib/RT/Authen/ExternalAuth/DBI/Cookie.pm
File added to house the cookie grab. While SSO cookies are
a function of DBI authentication (at the moment at least)
there is no need for DBI.pm to use CGI::Cookie for this one
purpose. With the future possibility of futher cookie
functions as well, I decided it deserved its own module.
* lib/RT/Authen/ExternalAuth/LDAP.pm
Changed an unless($base) to unless(defined($base)) to allow
for the use of a defined, but empty, baseDN so that an LDAP
directory may be searched from the root.
* etc/RT_SiteConfig.pm
CookieAuth settings have been merged into the ExternalAuth
settings hash. Example from CookieAuth has been merged in.
'auth' and 'info' settings have been deprecated and so have
been removed from the examples. The function they served has
been replaced by the ExternalAuthPriority and
ExternalInfoPriority variables.
* lib/RT/Authen/User_Vendor.pm
The override for the IsPassword method has been deprecated
and deleted. It is no longer necessary to do password tests
as a call to the User object. The equivalent function is
now provided by GetAuth in ExternalAuth.pm and is called
with an ExternalAuth service name, username and password.
Currently, this only needs to be called by DoAuth in
ExternalAuth.pm
While RT::Authen::ExternalAuth used to be used to integrate
internal RT authentication with an external method as a single
operation, this causes a lack of modularity. Now ExternalAuth
is only concerned with its own authentication methods and if
they fail then RT will decide to do fallback to internal
authentication on its own.
* html/Callbacks/ExternalAuth/autohandler/Auth
Workaround for RT versions 3.8.0 and 3.8.1 removed.
RT::Authen::ExternalAuth v0.08 will be officially compatible
only with versions 3.8.2 and up.
All functionality has been replaced by a call to ExternalAuth.pm's
DoAuth method. This is permitted by the passing of a reference to
the current session variable. DoAuth simply modifies that variable
as necessary to perform its function. Any data returned is purely
informational.
* README
Updated to include basic information on SSO cookies.
* Makefile.PL
Updated to reflect the integration of RT::Authen::CookieAuth.
v0.07_02 2008-12-22 Kevin Falcone <falcone@cpan.org>
* html/Callbacks/ExternalAuth/autohandler/Auth
Make the workaround needed for 3.8.1 work on 3.8.2
v0.07_01 2008-11-06 Mike Peachey <zordrak@cpan.org>
Kevin Falcone <falcone@cpan.org>
* ALL
Complete code refactoring and updates for RT-3.8.x
compatability.
v0.06 2008-11-01 Mike Peachey <zordrak@cpan.org>
* README
A few minor tweaks.
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.06
* etc/RT_SiteConfig.pm
A number of clarifications added to the example config comments
such as making clear the fact that a valid d_filter is required.
v0.06_03 2008-10-31 Mike Peachey <zordrak@cpan.org>
Kevin Falcone <falcone@cpan.org>
* html/Callbacks/ExternalAuth/autohandler/Auth
Add fix to work around a plugin bug in RT-3.8.0 & RT-3.8.1
preventing User_Vendor.pm overlay being required before
RT::User is loaded.
Check the return value from calling RT::User::Create.
Check the return value when loading an autocreated user.
* README
Updated to talk about removing old files in local/.
* lib/RT/Authen/User_Vendor.pm
Added error-checking to complain if a an LDAP configuration is
in use, but no d_filter has been specified.
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.06_03.
* ChangeLog
General clean-up.
v0.06_02 2008-10-01 Kevin Falcone <falcone@cpan.org>
* ChangeLog
Updates to previous release.
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.06_02.
v0.06_01 2008-10-17 Kevin Falcone <falcone@cpan.org>
* lib/RT/Authen/User_Vendor.pm
Add a patch to be compatible with 3.8
* Upgrade Module::Install::RTx to work better with RT-3.8.x
v0.05 2008-04-09 Mike Peachey <zordrak@cpan.org>
* lib/RT/Authen/User_Vendor.pm
Typo on line 962. s/servicen/service/
* html/Callbacks/ExternalAuth/autohandler/Auth
Deprecated $user_autocreated. It was being used to prevent a call
to RT::User::UpdateFromExternal in User_Vendor.pm because it was
deemed an unecessary expense to set the user's info and then look
it up again straight after. However, I have since realised that
UpdateFromExternal is the only code doing a check to see if the
user has been disabled in the external source and so bypassing
it when users are created allows new users to log in once even
if they have not been "enabled".
I will be doing a small rewrite of this code in the future to
abstract the External disable-lookup code from UpdateFromExternal
and perhaps remove the function altogether, but for now everything
will work fine.
* ChangeLog
I did it again. I added a / on the front of the path to
ExternalAuth.pm. What a plonker!
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.05
v0.04 2008-04-03 Mike Peachey <zordrak@cpan.org>
* etc/RT_SiteConfig.pm
The example LDAP ExternalSettings configuration did not contain
example values for user and pass for RT's connection to an LDAP
server. These have now been added.
Thanks to Andrew Fay <andrew.fay@hotmail.com> for noticing this one.
* ChangeLog
Removed a "/" from the start of the ExternalAuth.pm file line in 0.03
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.04
v0.03 2008-03-31 Mike Peachey <zordrak@cpan.org>
* html/Callbacks/ExternalAuth/autohandler/Auth
Bug found on lines 94-100.
The ELSE block starting on line 95 was assigned to the IF starting
on 85 instead of the IF block starting on line 86. This meant that
if the user entered at the login screen exists no password would
be checked.
It was doing this:
If session has current user who has an ID
If password has already been validated
SUCCESS
Else
Return to autohandler with valid session & implicit auth
Else delete session
This has now been corrected to this:
If session has current user who has an ID
If password has already been validated
SUCCESS
Else
Delete session
Else return to autohandler with whatever we had before the block
* lib/RT/Authen/ExternalAuth.pm
Version updated to 0.03
v0.02 2008-03-17 Mike Peachey <zordrak@cpan.org>
* lib/RT/User_Vendor.pm
Bug #1 found on line 446.
CanonicalizeUserInfo was being called directly, instead of being
called on the $self user object.
This was causing CanonicalizeUserInfo to shift the e-mail address
it was passed into the $self var instead of the $email var. It was
therefore returning a blank e-mail address regardless of the input.
* lib/RT/User_Vendor.pm
Header comments altered to reflect that the file is part of the
RT::Authen::ExternalAuth extension.
* /lib/RT/Authen/ExternalAuth.pm
Version updated to 0.02
v0.01 2008-03-13 Mike Peachey <zordrak@cpan.org>
* Initial Release