[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