[Bps-public-commit] rt-authen-externalauth branch, master, updated. 0.09-3-g7969ffb
Kevin Falcone
falcone at bestpractical.com
Mon Sep 19 13:57:05 EDT 2011
The branch, master has been updated
via 7969ffb8af8b1ca4031563585050ac6e9e993e46 (commit)
via af4a845028f66bafe4fd5257d63f46964124138b (commit)
from 1ef374c94f8a485f3b7d40685bfffff29ec6643a (commit)
Summary of changes:
META.yml | 3 +-
Makefile.PL | 1 +
README | 161 ++++++++++++++++-------------------
inc/Module/Install.pm | 4 +-
inc/Module/Install/AutoInstall.pm | 2 +-
inc/Module/Install/Base.pm | 2 +-
inc/Module/Install/Can.pm | 2 +-
inc/Module/Install/Fetch.pm | 2 +-
inc/Module/Install/Include.pm | 2 +-
inc/Module/Install/Makefile.pm | 2 +-
inc/Module/Install/Metadata.pm | 9 +-
inc/Module/Install/RTx.pm | 2 +-
inc/Module/Install/ReadmeFromPod.pm | 48 ++++++++++
inc/Module/Install/Win32.pm | 2 +-
inc/Module/Install/WriteAll.pm | 2 +-
lib/RT/Authen/ExternalAuth.pm | 114 ++++++++++++++++++++++++-
16 files changed, 252 insertions(+), 106 deletions(-)
create mode 100644 inc/Module/Install/ReadmeFromPod.pm
- Log -----------------------------------------------------------------
commit af4a845028f66bafe4fd5257d63f46964124138b
Author: Kevin Falcone <falcone at bestpractical.com>
Date: Mon Sep 19 13:50:52 2011 -0400
Upgrade MI and MI::RTx
diff --git a/META.yml b/META.yml
index 21c2e4e..71c6773 100644
--- a/META.yml
+++ b/META.yml
@@ -1,13 +1,14 @@
---
abstract: 'RT Authen-ExternalAuth Extension'
author:
+ - 'Mike Peachey'
- 'Mike Peachey <zordrak at cpan.org>'
build_requires:
ExtUtils::MakeMaker: 6.42
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
-generated_by: 'Module::Install version 1.00'
+generated_by: 'Module::Install version 1.01'
license: gpl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
diff --git a/inc/Module/Install.pm b/inc/Module/Install.pm
index 8ee839d..74caf9c 100644
--- a/inc/Module/Install.pm
+++ b/inc/Module/Install.pm
@@ -31,7 +31,7 @@ BEGIN {
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.00';
+ $VERSION = '1.01';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -467,4 +467,4 @@ sub _CLASS ($) {
1;
-# Copyright 2008 - 2010 Adam Kennedy.
+# Copyright 2008 - 2011 Adam Kennedy.
diff --git a/inc/Module/Install/AutoInstall.pm b/inc/Module/Install/AutoInstall.pm
index f1f5356..bc3d172 100644
--- a/inc/Module/Install/AutoInstall.pm
+++ b/inc/Module/Install/AutoInstall.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Base.pm b/inc/Module/Install/Base.pm
index b55bda3..d3662c9 100644
--- a/inc/Module/Install/Base.pm
+++ b/inc/Module/Install/Base.pm
@@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
}
# Suspend handler for "redefined" warnings
diff --git a/inc/Module/Install/Can.pm b/inc/Module/Install/Can.pm
index 71ccc27..276409a 100644
--- a/inc/Module/Install/Can.pm
+++ b/inc/Module/Install/Can.pm
@@ -9,7 +9,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Fetch.pm b/inc/Module/Install/Fetch.pm
index ec1f106..093cb7a 100644
--- a/inc/Module/Install/Fetch.pm
+++ b/inc/Module/Install/Fetch.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Include.pm b/inc/Module/Install/Include.pm
index a28cd4c..90cc979 100644
--- a/inc/Module/Install/Include.pm
+++ b/inc/Module/Install/Include.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Makefile.pm b/inc/Module/Install/Makefile.pm
index 5dfd0e9..4c71003 100644
--- a/inc/Module/Install/Makefile.pm
+++ b/inc/Module/Install/Makefile.pm
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Metadata.pm b/inc/Module/Install/Metadata.pm
index cfe45b3..3b01e09 100644
--- a/inc/Module/Install/Metadata.pm
+++ b/inc/Module/Install/Metadata.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -515,6 +515,7 @@ sub __extract_license {
'GNU Free Documentation license' => 'unrestricted', 1,
'GNU Affero General Public License' => 'open_source', 1,
'(?:Free)?BSD license' => 'bsd', 1,
+ 'Artistic license 2\.0' => 'artistic_2', 1,
'Artistic license' => 'artistic', 1,
'Apache (?:Software )?license' => 'apache', 1,
'GPL' => 'gpl', 1,
@@ -550,9 +551,9 @@ sub license_from {
sub _extract_bugtracker {
my @links = $_[0] =~ m#L<(
- \Qhttp://rt.cpan.org/\E[^>]+|
- \Qhttp://github.com/\E[\w_]+/[\w_]+/issues|
- \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list
+ https?\Q://rt.cpan.org/\E[^>]+|
+ https?\Q://github.com/\E[\w_]+/[\w_]+/issues|
+ https?\Q://code.google.com/p/\E[\w_\-]+/issues/list
)>#gx;
my %links;
@links{@links}=();
diff --git a/inc/Module/Install/RTx.pm b/inc/Module/Install/RTx.pm
index b83e279..73b9cda 100644
--- a/inc/Module/Install/RTx.pm
+++ b/inc/Module/Install/RTx.pm
@@ -8,7 +8,7 @@ no warnings 'once';
use Module::Install::Base;
use base 'Module::Install::Base';
-our $VERSION = '0.28';
+our $VERSION = '0.29';
use FindBin;
use File::Glob ();
diff --git a/inc/Module/Install/ReadmeFromPod.pm b/inc/Module/Install/ReadmeFromPod.pm
new file mode 100644
index 0000000..348531e
--- /dev/null
+++ b/inc/Module/Install/ReadmeFromPod.pm
@@ -0,0 +1,48 @@
+#line 1
+package Module::Install::ReadmeFromPod;
+
+use 5.006;
+use strict;
+use warnings;
+use base qw(Module::Install::Base);
+use vars qw($VERSION);
+
+$VERSION = '0.12';
+
+sub readme_from {
+ my $self = shift;
+ return unless $self->is_admin;
+
+ my $file = shift || $self->_all_from
+ or die "Can't determine file to make readme_from";
+ my $clean = shift;
+
+ print "Writing README from $file\n";
+
+ require Pod::Text;
+ my $parser = Pod::Text->new();
+ open README, '> README' or die "$!\n";
+ $parser->output_fh( *README );
+ $parser->parse_file( $file );
+ if ($clean) {
+ $self->clean_files('README');
+ }
+ return 1;
+}
+
+sub _all_from {
+ my $self = shift;
+ return unless $self->admin->{extensions};
+ my ($metadata) = grep {
+ ref($_) eq 'Module::Install::Metadata';
+ } @{$self->admin->{extensions}};
+ return unless $metadata;
+ return $metadata->{values}{all_from} || '';
+}
+
+'Readme!';
+
+__END__
+
+#line 112
+
diff --git a/inc/Module/Install/Win32.pm b/inc/Module/Install/Win32.pm
index edc18b4..3139a63 100644
--- a/inc/Module/Install/Win32.pm
+++ b/inc/Module/Install/Win32.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm
index d0f6599..1f724a7 100644
--- a/inc/Module/Install/WriteAll.pm
+++ b/inc/Module/Install/WriteAll.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
commit 7969ffb8af8b1ca4031563585050ac6e9e993e46
Author: Kevin Falcone <falcone at bestpractical.com>
Date: Mon Sep 19 13:52:05 2011 -0400
Unify the README with the partial docs in the .pm file
diff --git a/Makefile.PL b/Makefile.PL
index 4e55763..39d8c93 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -6,6 +6,7 @@ license('GPL version 2');
author('Mike Peachey <zordrak at cpan.org>');
all_from('lib/RT/Authen/ExternalAuth.pm');
+readme_from;
feature 'SSL LDAP Connections' =>
-default => 0,
diff --git a/README b/README
index 4696bcc..5ee8a9e 100644
--- a/README
+++ b/README
@@ -1,123 +1,110 @@
-RT-Authen-ExternalAuth
+NAME
+ RT::Authen::ExternalAuth - RT Authentication using External Sources
-=========================
-Important Upgrading Notes:
-=========================
+DESCRIPTION
+ A complete package for adding external authentication mechanisms
+ to RT. It currently supports LDAP via Net::LDAP and External Database
+ authentication for any database with an installed DBI driver.
-If you are upgrading from an earlier version of this extension, you must
-remove the following files manually:
+ It also allows for authenticating cookie information against an
+ external database through the use of the RT-Authen-CookieAuth extension.
- $RTHOME/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm
- $RTHOME/local/lib/RT/User_Vendor.pm
- $RTHOME/local/lib/RT/Authen/External_Auth.pm
+UPGRADING
+ If you are upgrading from an earlier version of this extension, you must
+ remove the following files manually:
-Otherwise you will most likely encounter an error about modifying a read
-only value and be unable to start RT.
+ $RTHOME/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm
+ $RTHOME/local/lib/RT/User_Vendor.pm
+ $RTHOME/local/lib/RT/Authen/External_Auth.pm
-You may not have all of these files. It depends what versions you are
-upgrading between.
+ Otherwise you will most likely encounter an error about modifying a read
+ only value and be unable to start RT.
-If you are using a vendor packaged RT, your local directories are likely
-to be somewhere under /usr/local instead of in $RTHOME so you will need
-to visit Configuration -> Tools -> System Configuration to find your
-plugin root.
+ You may not have all of these files. It depends what versions you are
+ upgrading between.
-=========================
-Import Version Notes:
-=========================
+ If you are using a vendor packaged RT, your local directories are likely
+ to be somewhere under /usr/local instead of in $RTHOME so you will need
+ to visit Configuration -> Tools -> System Configuration to find your
+ plugin root.
-If you are using RT 3.6, you want to use the 0.05 version.
+ VERSION NOTES
+ If you are using RT 3.6, you want to use the 0.05 version.
-If you are using RT 3.8.0 or 3.8.1, you may have trouble using this
-due to RT bugs related to plugins, but you may be able to use 0.08.
+ If you are using RT 3.8.0 or 3.8.1, you may have trouble using this due
+ to RT bugs related to plugins, but you may be able to use 0.08.
-0.08_02 or later will not work on 3.8.0 or 3.8.1
+ 0.08_02 or later will not work on 3.8.0 or 3.8.1
-=================
-About This Module
-=================
+ If you are using RT 4.0.0 or greater, you must use at least 0.09
-This module provides the ability to authenticate RT users
-against one or more external data sources at once. It will
-also allow information about that user to be loaded from
-the same, or any other available, source as well as allowing
-multple redundant servers for each method.
+MORE ABOUT THIS MODULE
+ This module provides the ability to authenticate RT users against one or
+ more external data sources at once. It will also allow information about
+ that user to be loaded from the same, or any other available, source as
+ well as allowing multple redundant servers for each method.
-The extension currently supports authentication and
-information from LDAP via the Net::LDAP module, and from
-any data source that an installed DBI driver is available
-for.
+ The extension currently supports authentication and information from
+ LDAP via the Net::LDAP module, and from any data source that an
+ installed DBI driver is available for.
-It is also possible to use cookies set by an alternate
-application for Single Sign-On (SSO) with that application.
-For example, you may integrate RT with your own website login
-system so that once users log in to your website, they will be
-automagically logged in to RT when they access it.
+ It is also possible to use cookies set by an alternate application for
+ Single Sign-On (SSO) with that application. For example, you may
+ integrate RT with your own website login system so that once users log
+ in to your website, they will be automagically logged in to RT when they
+ access it.
-It was originally designed and tested against:
+ It was originally designed and tested against:
-MySQL v4.1.21-standard
-MySQL v5.0.22
-Windows Active Directory v2003
+ MySQL v4.1.21-standard MySQL v5.0.22 Windows Active Directory v2003
-But it has been designed so that it should work with ANY
-LDAP service and ANY DBI-drivable database, based upon the
-configuration given in your $RTHOME/etc/RT_SiteConfig.pm
-
-As of v0.08 ExternalAuth also allows you to pull a browser
-cookie value and test it against a DBI data source allowing
-the use of cookies for Single Sign-On (SSO) authentication
-with another application or website login system. This is
-due to the merging of RT::Authen::ExternalAuth and
-RT::Authen::CookieAuth. For example, you may integrate RT
-with your own website login system so that once users log in
-to your website, they will be automagically logged in to RT
-when they access it.
+ But it has been designed so that it should work with ANY LDAP service
+ and ANY DBI-drivable database, based upon the configuration given in
+ your $RTHOME/etc/RT_SiteConfig.pm
+ As of v0.08 ExternalAuth also allows you to pull a browser cookie value
+ and test it against a DBI data source allowing the use of cookies for
+ Single Sign-On (SSO) authentication with another application or website
+ login system. This is due to the merging of RT::Authen::ExternalAuth and
+ RT::Authen::CookieAuth. For example, you may integrate RT with your own
+ website login system so that once users log in to your website, they
+ will be automagically logged in to RT when they access it.
INSTALLATION
+ To install this module, run the following commands:
-To install this module, run the following commands:
-
- perl Makefile.PL
- make
- make install
+ perl Makefile.PL
+ make
+ make install
-I recommend:
-RT::Authen::ExternalAuth v0.05 for RT-3.6.x
-RT::Authen::ExternalAuth v0.08+ for RT-3.8.x
+ If you are using RT 3.8.x, you need to enable this module by adding
+ RT::Authen::ExternalAuth to your @Plugins configuration:
-If you are using RT 3.8.x, you need to enable this
-module by adding RT::Authen::ExternalAuth to your
- at Plugins configuration:
+ Set( @Plugins, qw(RT::Authen::ExternalAuth) );
-Set( @Plugins, qw(RT::Authen::ExternalAuth) );
+ If you already have a @Plugins line, add RT::Authen::ExternalAuth to the
+ existing list. Adding a second @Plugins line will cause interesting
+ bugs.
-If you already have a @Plugins line, add RT::Authen::ExternalAuth to the
-existing list. Adding a second @Plugins line will cause interesting
-bugs.
+ Once installed, you should view the file:
-Once installed, you should view the file:
-
-3.4/3.6 $RTHOME/local/etc/ExternalAuth/RT_SiteConfig.pm
-3.8 $RTHOME/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm
+ 3.4/3.6 $RTHOME/local/etc/ExternalAuth/RT_SiteConfig.pm 3.8
+ $RTHOME/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm
-Then use the examples provided to prepare your own custom
-configuration which should be added to your site configuration in
-$RTHOME/etc/RT_SiteConfig.pm
+ Then use the examples provided to prepare your own custom configuration
+ which should be added to your site configuration in
+ $RTHOME/etc/RT_SiteConfig.pm
AUTHOR
Mike Peachey
Jennic Ltd.
zordrak at cpan.org
-
- Various Best Practical Developers
+ Various Best Practical Developers
COPYRIGHT AND LICENCE
+ Copyright (C) 2008, Jennic Ltd.
-Copyright (C) 2008, Jennic Ltd.
+ This software is released under version 2 of the GNU General Public
+ License. The license is distributed with this package in the LICENSE
+ file found in the directory root.
-This software is released under version 2 of the GNU
-General Public License. The license is distributed with
-this package in the LICENSE file found in the directory
-root.
diff --git a/lib/RT/Authen/ExternalAuth.pm b/lib/RT/Authen/ExternalAuth.pm
index f07e17f..4513344 100644
--- a/lib/RT/Authen/ExternalAuth.pm
+++ b/lib/RT/Authen/ExternalAuth.pm
@@ -15,11 +15,119 @@ our $VERSION = '0.09';
It also allows for authenticating cookie information against an
external database through the use of the RT-Authen-CookieAuth extension.
-=begin testing
+=head1 UPGRADING
-ok(require RT::Authen::ExternalAuth);
+If you are upgrading from an earlier version of this extension, you must
+remove the following files manually:
-=end testing
+ $RTHOME/local/plugins/RT-Authen-ExternalAuth/lib/RT/User_Vendor.pm
+ $RTHOME/local/lib/RT/User_Vendor.pm
+ $RTHOME/local/lib/RT/Authen/External_Auth.pm
+
+Otherwise you will most likely encounter an error about modifying a read
+only value and be unable to start RT.
+
+You may not have all of these files. It depends what versions you are
+upgrading between.
+
+If you are using a vendor packaged RT, your local directories are likely
+to be somewhere under /usr/local instead of in $RTHOME so you will need
+to visit Configuration -> Tools -> System Configuration to find your
+plugin root.
+
+=head2 VERSION NOTES
+
+If you are using RT 3.6, you want to use the 0.05 version.
+
+If you are using RT 3.8.0 or 3.8.1, you may have trouble using this
+due to RT bugs related to plugins, but you may be able to use 0.08.
+
+0.08_02 or later will not work on 3.8.0 or 3.8.1
+
+If you are using RT 4.0.0 or greater, you must use at least 0.09
+
+=head1 MORE ABOUT THIS MODULE
+
+This module provides the ability to authenticate RT users
+against one or more external data sources at once. It will
+also allow information about that user to be loaded from
+the same, or any other available, source as well as allowing
+multple redundant servers for each method.
+
+The extension currently supports authentication and
+information from LDAP via the Net::LDAP module, and from
+any data source that an installed DBI driver is available
+for.
+
+It is also possible to use cookies set by an alternate
+application for Single Sign-On (SSO) with that application.
+For example, you may integrate RT with your own website login
+system so that once users log in to your website, they will be
+automagically logged in to RT when they access it.
+
+It was originally designed and tested against:
+
+MySQL v4.1.21-standard
+MySQL v5.0.22
+Windows Active Directory v2003
+
+But it has been designed so that it should work with ANY
+LDAP service and ANY DBI-drivable database, based upon the
+configuration given in your $RTHOME/etc/RT_SiteConfig.pm
+
+As of v0.08 ExternalAuth also allows you to pull a browser
+cookie value and test it against a DBI data source allowing
+the use of cookies for Single Sign-On (SSO) authentication
+with another application or website login system. This is
+due to the merging of RT::Authen::ExternalAuth and
+RT::Authen::CookieAuth. For example, you may integrate RT
+with your own website login system so that once users log in
+to your website, they will be automagically logged in to RT
+when they access it.
+
+
+=head1 INSTALLATION
+
+To install this module, run the following commands:
+
+ perl Makefile.PL
+ make
+ make install
+
+If you are using RT 3.8.x, you need to enable this
+module by adding RT::Authen::ExternalAuth to your
+ at Plugins configuration:
+
+Set( @Plugins, qw(RT::Authen::ExternalAuth) );
+
+If you already have a @Plugins line, add RT::Authen::ExternalAuth to the
+existing list. Adding a second @Plugins line will cause interesting
+bugs.
+
+Once installed, you should view the file:
+
+3.4/3.6 $RTHOME/local/etc/ExternalAuth/RT_SiteConfig.pm
+3.8 $RTHOME/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm
+
+Then use the examples provided to prepare your own custom
+configuration which should be added to your site configuration in
+$RTHOME/etc/RT_SiteConfig.pm
+
+=head1 AUTHOR
+ Mike Peachey
+ Jennic Ltd.
+ zordrak at cpan.org
+
+ Various Best Practical Developers
+
+=head1 COPYRIGHT AND LICENCE
+
+Copyright (C) 2008, Jennic Ltd.
+
+This software is released under version 2 of the GNU
+General Public License. The license is distributed with
+this package in the LICENSE file found in the directory
+root.
=cut
-----------------------------------------------------------------------
More information about the Bps-public-commit
mailing list