[libauthen-cas-client-perl] 01/01: New upstream version 0.08

Damyan Ivanov dmn at moszumanska.debian.org
Sun Oct 22 20:35:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

dmn pushed a commit to annotated tag upstream/0.08
in repository libauthen-cas-client-perl.

commit 9fca443bf322311477a79347b49b5316ada9c101
Author: Damyan Ivanov <dmn at debian.org>
Date:   Sun Oct 22 19:44:34 2017 +0000

    New upstream version 0.08
---
 Changes                           |   8 ++
 LICENSE                           |  21 +---
 MANIFEST                          |   1 +
 META.yml                          |   8 +-
 Makefile.PL                       |   3 +-
 README                            | 186 ++++++++++++++++++++++++++++++++++
 README.md                         | 207 ++++++++++++++++++++++++++++++++++++++
 inc/Module/AutoInstall.pm         |  44 ++++----
 inc/Module/Install.pm             |  51 +++-------
 inc/Module/Install/AutoInstall.pm |   2 +-
 inc/Module/Install/Base.pm        |   2 +-
 inc/Module/Install/Can.pm         |  13 ++-
 inc/Module/Install/Fetch.pm       |   2 +-
 inc/Module/Install/Include.pm     |   2 +-
 inc/Module/Install/Makefile.pm    |   4 +-
 inc/Module/Install/Metadata.pm    |   6 +-
 inc/Module/Install/Win32.pm       |   2 +-
 inc/Module/Install/WriteAll.pm    |   2 +-
 lib/Authen/CAS/Client.pm          |  25 +----
 lib/Authen/CAS/Client/Response.pm |  25 +----
 20 files changed, 479 insertions(+), 135 deletions(-)

diff --git a/Changes b/Changes
index 93fb177..876f0ba 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,11 @@
+changes from 0.07 to 0.08
+=========================
+
+  * updated Makefile.PL to reflect changes in default @INC handling v5.25+.
+  * fleshed README with documentation
+  * added README.md for GitHub
+  * updated to 'Nil' license
+
 changes from 0.06 to 0.07
 =========================
 
diff --git a/LICENSE b/LICENSE
index a275c76..3fabd71 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,19 +1,2 @@
-Copyright (c) 2007-2014, jason hord
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+This software is information.
+It is subject only to local laws of physics.
diff --git a/MANIFEST b/MANIFEST
index 93139d4..883e103 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -17,6 +17,7 @@ Makefile.PL
 MANIFEST			This list of files
 META.yml
 README
+README.md
 t/00-load.t
 t/01-urls.t
 t/02-validate.t
diff --git a/META.yml b/META.yml
index ca8e91a..c5c0c53 100644
--- a/META.yml
+++ b/META.yml
@@ -10,8 +10,8 @@ configure_requires:
   ExtUtils::MakeMaker: 6.59
 distribution_type: module
 dynamic_config: 1
-generated_by: 'Module::Install version 1.06'
-license: mit
+generated_by: 'Module::Install version 1.17'
+license: nil
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: 1.4
@@ -25,6 +25,4 @@ requires:
   URI: 0
   XML::LibXML: 0
   perl: 5.6.1
-resources:
-  license: http://opensource.org/licenses/mit-license.php
-version: 0.07
+version: '0.08'
diff --git a/Makefile.PL b/Makefile.PL
index 2109c95..3e2923d 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,10 +1,11 @@
 use strict;
 use warnings;
+use lib qw(.);
 
 use inc::Module::Install;
 
 name     'Authen-CAS-Client';
-license  'MIT';
+license  'Nil';
 all_from 'lib/Authen/CAS/Client.pm';
 
 requires 'LWP';
diff --git a/README b/README
index 2266557..9e26735 100644
--- a/README
+++ b/README
@@ -14,3 +14,189 @@ To install this module, use the following steps:
   make
   make test
   make install
+
+
+NAME
+    Authen::CAS::Client - Provides an easy-to-use interface for
+    authentication using JA-SIG's Central Authentication Service
+
+SYNOPSIS
+      use Authen::CAS::Client;
+
+      my $cas = Authen::CAS::Client->new( 'https://example.com/cas' );
+
+
+      # generate an HTTP redirect to the CAS login URL
+      my $r = HTTP::Response->new( 302 );
+      $r->header( Location => $cas->login_url );
+
+
+      # generate an HTTP redirect to the CAS logout URL
+      my $r = HTTP::Response->new( 302 );
+      $r->header( Location => $cas->logout_url );
+
+
+      # validate a service ticket (CAS v1.0)
+      my $r = $cas->validate( $service, $ticket );
+      if( $r->is_success ) {
+        print "User authenticated as: ", $r->user, "\n";
+      }
+
+      # validate a service ticket (CAS v2.0)
+      my $r = $cas->service_validate( $service, $ticket );
+      if( $r->is_success ) {
+        print "User authenticated as: ", $r->user, "\n";
+      }
+
+
+      # validate a service/proxy ticket (CAS v2.0)
+      my $r = $cas->proxy_validate( $service, $ticket );
+      if( $r->is_success ) {
+        print "User authenticated as: ", $r->user, "\n";
+        print "Proxied through:\n";
+        print "  $_\n"
+          for $r->proxies;
+      }
+
+
+      # validate a service ticket and request a proxy ticket (CAS v2.0)
+      my $r = $cas->service_validate( $server, $ticket, pgtUrl => $url );
+      if( $r->is_success ) {
+        print "User authenticated as: ", $r->user, "\n";
+
+        unless( defined $r->iou ) {
+          print "Service validation for proxying failed\n";
+        }
+        else {
+          print "Proxy granting ticket IOU: ", $r->iou, "\n";
+
+          ...
+          # map IOU to proxy granting ticket via request to pgtUrl
+          ...
+
+          $r = $cas->proxy( $pgt, $target_service );
+          if( $r->is_success ) {
+            print "Proxy ticket issued: ", $r->proxy_ticket, "\n";
+          }
+        }
+      }
+
+DESCRIPTION
+    The Authen::CAS::Client module provides a simple interface for
+    authenticating users using JA-SIG's CAS protocol. Both CAS v1.0 and v2.0
+    are supported.
+
+METHODS
+  new $url [, %args]
+    "new()" creates an instance of an "Authen::CAS::Client" object. $url
+    refers to the CAS server's base URL. %args may contain the following
+    optional parameter:
+
+   fatal => $boolean
+    If this argument is true, the CAS client will "die()" when an error
+    occurs and $@ will contain the error message. Otherwise an
+    "Authen::CAS::Client::Response::Error" object will be returned. See
+    Authen::CAS::Client::Response for more detail on response objects.
+
+  login_url $service [, %args]
+    "login_url()" returns the CAS server's login URL which can be used to
+    redirect users to start the authentication process. $service is the
+    service identifier that will be used during validation requests. %args
+    may contain the following optional parameters:
+
+   renew => $boolean
+    This causes the CAS server to force a user to re-authenticate even if an
+    SSO session is already present for that user.
+
+   gateway => $boolean
+    This causes the CAS server to only rely on SSO sessions for
+    authentication. If an SSO session is not available for the current user,
+    validation will result in a failure.
+
+  logout_url [%args]
+    "logout_url()" returns the CAS server's logout URL which can be used to
+    redirect users to end authenticated sessions. %args may contain the
+    following optional parameter:
+
+   url => $url
+    If present, the CAS server will present the user with a link to the
+    given URL once the user has logged out.
+
+  validate $service, $ticket [, %args]
+    "validate()" attempts to validate a service ticket using the CAS v1.0
+    protocol. $service is the service identifier that was passed to the CAS
+    server during the login process. $ticket is the service ticket that was
+    received after a successful authentication attempt. Returns an
+    appropriate Authen::CAS::Client::Response object. %args may contain the
+    following optional parameter:
+
+   renew => $boolean
+    This will cause the CAS server to respond with a failure if
+    authentication validation was done via a CAS SSO session.
+
+  service_validate $service, $ticket [, %args]
+    "service_validate()" attempts to validate a service ticket using the CAS
+    v2.0 protocol. This is similar to "validate()", but allows for greater
+    flexibility when there is a need for proxying authentication to back-end
+    services. The $service and $ticket parameters are the same as above.
+    Returns an appropriate Authen::CAS::Client::Response object. %args may
+    contain the following optional parameters:
+
+   renew => $boolean
+    This will cause the CAS server to respond with a failure if
+    authentication validation was done via a CAS SSO session.
+
+   pgtUrl => $url
+    This tells the CAS server that a proxy ticket needs to be issued for
+    proxying authentication to a back-end service. $url corresponds to a
+    callback URL that the CAS server will use to verify the service's
+    identity. Per the CAS specification, this URL must be HTTPS. If this
+    verification fails, normal validation will occur, but a proxy granting
+    ticket IOU will not be issued.
+
+    Also note that this call will block until the CAS server completes its
+    service verification attempt. The returned proxy granting ticket IOU can
+    then be used to retrieve the proxy granting ticket that was passed as a
+    parameter to the given URL.
+
+  proxy_validate $service, $ticket [, %args]
+    "proxy_validate()" is almost identical in operation to
+    "service_validate()" except that both service tickets and proxy tickets
+    can be used for validation and a list of proxies will be provided if
+    proxied authentication has been used. The $service and $ticket
+    parameters are the same as above. Returns an appropriate
+    Authen::CAS::Client::Response object. %args may contain the following
+    optional parameters:
+
+   renew => $boolean
+    This is the same as described above.
+
+   pgtUrl => $url
+    This is the same as described above.
+
+  proxy $pgt, $target
+    "proxy()" is used to retrieve a proxy ticket that can be passed to a
+    back-end service for proxied authentication. $pgt is the proxy granting
+    ticket that was passed as a parameter to the "pgtUrl" specified in
+    either "service_validate()" or "proxy_validate()". $target is the
+    service identifier for the back-end system that will be using the
+    returned proxy ticket for validation. Returns an appropriate
+    Authen::CAS::Client::Response object.
+
+BUGS
+    None are known at this time, but if you find one, please feel free to
+    submit a report to the author.
+
+AUTHOR
+    jason hord <pravus at cpan.org>
+
+SEE ALSO
+    Authen::CAS::Client::Response
+
+    More information about CAS can be found at JA-SIG's CAS homepage:
+    <http://www.ja-sig.org/products/cas/>
+
+LICENSE
+    This software is information. It is subject only to local laws of
+    physics.
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..dbdedf8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,207 @@
+# NAME
+
+Authen::CAS::Client - Provides an easy-to-use interface for authentication using JA-SIG's Central Authentication Service
+
+# SYNOPSIS
+
+```perl
+use Authen::CAS::Client;
+
+my $cas = Authen::CAS::Client->new( 'https://example.com/cas' );
+
+
+# generate an HTTP redirect to the CAS login URL
+my $r = HTTP::Response->new( 302 );
+$r->header( Location => $cas->login_url );
+
+
+# generate an HTTP redirect to the CAS logout URL
+my $r = HTTP::Response->new( 302 );
+$r->header( Location => $cas->logout_url );
+
+
+# validate a service ticket (CAS v1.0)
+my $r = $cas->validate( $service, $ticket );
+if( $r->is_success ) {
+  print "User authenticated as: ", $r->user, "\n";
+}
+
+# validate a service ticket (CAS v2.0)
+my $r = $cas->service_validate( $service, $ticket );
+if( $r->is_success ) {
+  print "User authenticated as: ", $r->user, "\n";
+}
+
+
+# validate a service/proxy ticket (CAS v2.0)
+my $r = $cas->proxy_validate( $service, $ticket );
+if( $r->is_success ) {
+  print "User authenticated as: ", $r->user, "\n";
+  print "Proxied through:\n";
+  print "  $_\n"
+    for $r->proxies;
+}
+
+
+# validate a service ticket and request a proxy ticket (CAS v2.0)
+my $r = $cas->service_validate( $server, $ticket, pgtUrl => $url );
+if( $r->is_success ) {
+  print "User authenticated as: ", $r->user, "\n";
+
+  unless( defined $r->iou ) {
+    print "Service validation for proxying failed\n";
+  }
+  else {
+    print "Proxy granting ticket IOU: ", $r->iou, "\n";
+
+    ...
+    # map IOU to proxy granting ticket via request to pgtUrl
+    ...
+
+    $r = $cas->proxy( $pgt, $target_service );
+    if( $r->is_success ) {
+      print "Proxy ticket issued: ", $r->proxy_ticket, "\n";
+    }
+  }
+}
+```
+
+# DESCRIPTION
+
+The Authen::CAS::Client module provides a simple interface for
+authenticating users using JA-SIG's CAS protocol.  Both CAS v1.0
+and v2.0 are supported.
+
+# METHODS
+
+## new $url \[, %args\]
+
+`new()` creates an instance of an `Authen::CAS::Client` object.  `$url`
+refers to the CAS server's base URL.  `%args` may contain the
+following optional parameter:
+
+### fatal => $boolean
+
+If this argument is true, the CAS client will `die()` when an error
+occurs and `$@` will contain the error message.  Otherwise an
+`Authen::CAS::Client::Response::Error` object will be returned.  See
+[Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response) for more detail on response objects.
+
+## login\_url $service \[, %args\]
+
+`login_url()` returns the CAS server's login URL which can be used to
+redirect users to start the authentication process.  `$service` is the
+service identifier that will be used during validation requests.
+`%args` may contain the following optional parameters:
+
+### renew => $boolean
+
+This causes the CAS server to force a user to re-authenticate even if
+an SSO session is already present for that user.
+
+### gateway => $boolean
+
+This causes the CAS server to only rely on SSO sessions for authentication.
+If an SSO session is not available for the current user, validation
+will result in a failure.
+
+## logout\_url \[%args\]
+
+`logout_url()` returns the CAS server's logout URL which can be used to
+redirect users to end authenticated sessions.  `%args` may contain
+the following optional parameter:
+
+### url => $url
+
+If present, the CAS server will present the user with a link to the given
+URL once the user has logged out.
+
+## validate $service, $ticket \[, %args\]
+
+`validate()` attempts to validate a service ticket using the CAS v1.0
+protocol.  `$service` is the service identifier that was passed to the
+CAS server during the login process.  `$ticket` is the service ticket
+that was received after a successful authentication attempt.  Returns an
+appropriate [Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response) object.  `%args` may
+contain the following optional parameter:
+
+### renew => $boolean
+
+This will cause the CAS server to respond with a failure if authentication
+validation was done via a CAS SSO session.
+
+## service\_validate $service, $ticket \[, %args\]
+
+`service_validate()` attempts to validate a service ticket using the
+CAS v2.0 protocol.  This is similar to `validate()`, but allows for
+greater flexibility when there is a need for proxying authentication
+to back-end services.  The `$service` and `$ticket` parameters are
+the same as above.  Returns an appropriate [Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response)
+object.  `%args` may contain the following optional parameters:
+
+### renew => $boolean
+
+This will cause the CAS server to respond with a failure if authentication
+validation was done via a CAS SSO session.
+
+### pgtUrl => $url
+
+This tells the CAS server that a proxy ticket needs to be issued for
+proxying authentication to a back-end service.  `$url` corresponds to
+a callback URL that the CAS server will use to verify the service's
+identity.  Per the CAS specification, this URL must be HTTPS.  If this
+verification fails, normal validation will occur, but a proxy granting
+ticket IOU will not be issued.
+
+Also note that this call will block until the CAS server completes its
+service verification attempt.  The returned proxy granting ticket IOU
+can then be used to retrieve the proxy granting ticket that was passed
+as a parameter to the given URL.
+
+## proxy\_validate $service, $ticket \[, %args\]
+
+`proxy_validate()` is almost identical in operation to `service_validate()`
+except that both service tickets and proxy tickets can be used for
+validation and a list of proxies will be provided if proxied authentication
+has been used.  The `$service` and `$ticket` parameters are the same as
+above.  Returns an appropriate [Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response) object.
+`%args` may contain the following optional parameters:
+
+### renew => $boolean
+
+This is the same as described above.
+
+### pgtUrl => $url
+
+This is the same as described above.
+
+## proxy $pgt, $target
+
+`proxy()` is used to retrieve a proxy ticket that can be passed to
+a back-end service for proxied authentication.  `$pgt` is the proxy
+granting ticket that was passed as a parameter to the `pgtUrl`
+specified in either `service_validate()` or `proxy_validate()`.
+`$target` is the service identifier for the back-end system that will
+be using the returned proxy ticket for validation.  Returns an appropriate
+[Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response) object.
+
+# BUGS
+
+None are known at this time, but if you find one, please feel free to
+submit a report to the author.
+
+# AUTHOR
+
+jason hord <pravus at cpan.org>
+
+# SEE ALSO
+
+- [Authen::CAS::Client::Response](https://metacpan.org/pod/Authen::CAS::Client::Response)
+
+More information about CAS can be found at JA-SIG's CAS homepage:
+[http://www.ja-sig.org/products/cas/](http://www.ja-sig.org/products/cas/)
+
+# LICENSE
+
+This software is information.
+It is subject only to local laws of physics.
diff --git a/inc/Module/AutoInstall.pm b/inc/Module/AutoInstall.pm
index aa7aa92..11184d4 100644
--- a/inc/Module/AutoInstall.pm
+++ b/inc/Module/AutoInstall.pm
@@ -8,7 +8,7 @@ use ExtUtils::MakeMaker ();
 
 use vars qw{$VERSION};
 BEGIN {
-	$VERSION = '1.06';
+	$VERSION = '1.17';
 }
 
 # special map on pre-defined feature sets
@@ -115,7 +115,7 @@ sub import {
     print "*** $class version " . $class->VERSION . "\n";
     print "*** Checking for Perl dependencies...\n";
 
-    my $cwd = Cwd::cwd();
+    my $cwd = Cwd::getcwd();
 
     $Config = [];
 
@@ -166,7 +166,7 @@ sub import {
         $modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' );
 
         unshift @$modules, -default => &{ shift(@$modules) }
-          if ( ref( $modules->[0] ) eq 'CODE' );    # XXX: bugward combatability
+          if ( ref( $modules->[0] ) eq 'CODE' );    # XXX: bugward compatibility
 
         while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) {
             if ( $mod =~ m/^-(\w+)$/ ) {
@@ -345,22 +345,26 @@ sub install {
     my $i;    # used below to strip leading '-' from config keys
     my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } );
 
-    my ( @modules, @installed );
-    while ( my ( $pkg, $ver ) = splice( @_, 0, 2 ) ) {
+	my ( @modules, @installed, @modules_to_upgrade );
+	while (my ($pkg, $ver) = splice(@_, 0, 2)) {
 
-        # grep out those already installed
-        if ( _version_cmp( _version_of($pkg), $ver ) >= 0 ) {
-            push @installed, $pkg;
-        }
-        else {
-            push @modules, $pkg, $ver;
-        }
-    }
+		# grep out those already installed
+		if (_version_cmp(_version_of($pkg), $ver) >= 0) {
+			push @installed, $pkg;
+			if ($UpgradeDeps) {
+				push @modules_to_upgrade, $pkg, $ver;
+			}
+		}
+		else {
+			push @modules, $pkg, $ver;
+		}
+	}
 
-    if ($UpgradeDeps) {
-        push @modules, @installed;
-        @installed = ();
-    }
+	if ($UpgradeDeps) {
+		push @modules, @modules_to_upgrade;
+		@installed          = ();
+		@modules_to_upgrade = ();
+	}
 
     return @installed unless @modules;  # nothing to do
     return @installed if _check_lock(); # defer to the CPAN shell
@@ -533,7 +537,7 @@ sub _install_cpan {
     while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) {
         ( $args{$opt} = $arg, next )
           if $opt =~ /^(?:force|notest)$/;    # pseudo-option
-        $CPAN::Config->{$opt} = $arg;
+        $CPAN::Config->{$opt} = $opt eq 'urllist' ? [$arg] : $arg;
     }
 
     if ($args{notest} && (not CPAN::Shell->can('notest'))) {
@@ -611,7 +615,7 @@ sub _under_cpan {
     require Cwd;
     require File::Spec;
 
-    my $cwd  = File::Spec->canonpath( Cwd::cwd() );
+    my $cwd  = File::Spec->canonpath( Cwd::getcwd() );
     my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} );
 
     return ( index( $cwd, $cpan ) > -1 );
@@ -927,4 +931,4 @@ END_MAKE
 
 __END__
 
-#line 1193
+#line 1197
diff --git a/inc/Module/Install.pm b/inc/Module/Install.pm
index 4ecf46b..dbe10ca 100644
--- a/inc/Module/Install.pm
+++ b/inc/Module/Install.pm
@@ -17,7 +17,7 @@ package Module::Install;
 #     3. The ./inc/ version of Module::Install loads
 # }
 
-use 5.005;
+use 5.006;
 use strict 'vars';
 use Cwd        ();
 use File::Find ();
@@ -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.06';
+	$VERSION = '1.17';
 
 	# Storage for the pseudo-singleton
 	$MAIN    = undef;
@@ -156,10 +156,10 @@ END_DIE
 sub autoload {
 	my $self = shift;
 	my $who  = $self->_caller;
-	my $cwd  = Cwd::cwd();
+	my $cwd  = Cwd::getcwd();
 	my $sym  = "${who}::AUTOLOAD";
 	$sym->{$cwd} = sub {
-		my $pwd = Cwd::cwd();
+		my $pwd = Cwd::getcwd();
 		if ( my $code = $sym->{$pwd} ) {
 			# Delegate back to parent dirs
 			goto &$code unless $cwd eq $pwd;
@@ -239,11 +239,13 @@ sub new {
 
 	# ignore the prefix on extension modules built from top level.
 	my $base_path = Cwd::abs_path($FindBin::Bin);
-	unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+	unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
 		delete $args{prefix};
 	}
 	return $args{_self} if $args{_self};
 
+	$base_path = VMS::Filespec::unixify($base_path) if $^O eq 'VMS';
+
 	$args{dispatch} ||= 'Admin';
 	$args{prefix}   ||= 'inc';
 	$args{author}   ||= ($^O eq 'VMS' ? '_author' : '.author');
@@ -322,7 +324,7 @@ sub find_extensions {
 	my ($self, $path) = @_;
 
 	my @found;
-	File::Find::find( sub {
+	File::Find::find( {no_chdir => 1, wanted => sub {
 		my $file = $File::Find::name;
 		return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
 		my $subpath = $1;
@@ -336,9 +338,9 @@ sub find_extensions {
 		# correctly.  Otherwise, root through the file to locate the case-preserved
 		# version of the package name.
 		if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
-			my $content = Module::Install::_read($subpath . '.pm');
+			my $content = Module::Install::_read($File::Find::name);
 			my $in_pod  = 0;
-			foreach ( split //, $content ) {
+			foreach ( split /\n/, $content ) {
 				$in_pod = 1 if /^=\w/;
 				$in_pod = 0 if /^=cut/;
 				next if ($in_pod || /^=cut/);  # skip pod text
@@ -351,7 +353,7 @@ sub find_extensions {
 		}
 
 		push @found, [ $file, $pkg ];
-	}, $path ) if -d $path;
+	}}, $path ) if -d $path;
 
 	@found;
 }
@@ -373,24 +375,14 @@ sub _caller {
 	return $call;
 }
 
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
 sub _read {
 	local *FH;
 	open( FH, '<', $_[0] ) or die "open($_[0]): $!";
+	binmode FH;
 	my $string = do { local $/; <FH> };
 	close FH or die "close($_[0]): $!";
 	return $string;
 }
-END_NEW
-sub _read {
-	local *FH;
-	open( FH, "< $_[0]"  ) or die "open($_[0]): $!";
-	my $string = do { local $/; <FH> };
-	close FH or die "close($_[0]): $!";
-	return $string;
-}
-END_OLD
 
 sub _readperl {
 	my $string = Module::Install::_read($_[0]);
@@ -411,30 +403,19 @@ sub _readpod {
 	return $string;
 }
 
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
 sub _write {
 	local *FH;
 	open( FH, '>', $_[0] ) or die "open($_[0]): $!";
+	binmode FH;
 	foreach ( 1 .. $#_ ) {
 		print FH $_[$_] or die "print($_[0]): $!";
 	}
 	close FH or die "close($_[0]): $!";
 }
-END_NEW
-sub _write {
-	local *FH;
-	open( FH, "> $_[0]"  ) or die "open($_[0]): $!";
-	foreach ( 1 .. $#_ ) {
-		print FH $_[$_] or die "print($_[0]): $!";
-	}
-	close FH or die "close($_[0]): $!";
-}
-END_OLD
 
 # _version is for processing module versions (eg, 1.03_05) not
 # Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
 	my $s = shift || 0;
 	my $d =()= $s =~ /(\.)/g;
 	if ( $d >= 2 ) {
@@ -450,12 +431,12 @@ sub _version ($) {
 	return $l + 0;
 }
 
-sub _cmp ($$) {
+sub _cmp {
 	_version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
 	(
 		defined $_[0]
 		and
diff --git a/inc/Module/Install/AutoInstall.pm b/inc/Module/Install/AutoInstall.pm
index 6efe4fe..03d1e70 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Base.pm b/inc/Module/Install/Base.pm
index 802844a..3d89918 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.06';
+	$VERSION = '1.17';
 }
 
 # Suspend handler for "redefined" warnings
diff --git a/inc/Module/Install/Can.pm b/inc/Module/Install/Can.pm
index 22167b8..fc699b3 100644
--- a/inc/Module/Install/Can.pm
+++ b/inc/Module/Install/Can.pm
@@ -8,7 +8,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
@@ -121,6 +121,15 @@ END_C
 # Can we locate a (the) C compiler
 sub can_cc {
 	my $self   = shift;
+
+	if ($^O eq 'VMS') {
+		require ExtUtils::CBuilder;
+		my $builder = ExtUtils::CBuilder->new(
+		quiet => 1,
+		);
+		return $builder->have_compiler;
+	}
+
 	my @chunks = split(/ /, $Config::Config{cc}) or return;
 
 	# $Config{cc} may contain args; try to find out the program part
@@ -151,4 +160,4 @@ if ( $^O eq 'cygwin' ) {
 
 __END__
 
-#line 236
+#line 245
diff --git a/inc/Module/Install/Fetch.pm b/inc/Module/Install/Fetch.pm
index bee0c4f..3ee0aa1 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Include.pm b/inc/Module/Install/Include.pm
index 8310e4c..e8a73b8 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Makefile.pm b/inc/Module/Install/Makefile.pm
index 7052f36..bc81e06 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
@@ -133,7 +133,7 @@ sub makemaker_args {
 	return $args;
 }
 
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
 # append an argument to the current list.
 sub makemaker_append {
 	my $self = shift;
diff --git a/inc/Module/Install/Metadata.pm b/inc/Module/Install/Metadata.pm
index 58430f3..29934cf 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
@@ -347,7 +347,7 @@ sub name_from {
 		^ \s*
 		package \s*
 		([\w:]+)
-		\s* ;
+		[\s|;]*
 		/ixms
 	) {
 		my ($name, $module_name) = ($1, $1);
@@ -705,7 +705,7 @@ sub _write_mymeta_data {
 	my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
 	my $meta = $yaml[0];
 
-	# Overwrite the non-configure dependency hashs
+	# Overwrite the non-configure dependency hashes
 	delete $meta->{requires};
 	delete $meta->{build_requires};
 	delete $meta->{recommends};
diff --git a/inc/Module/Install/Win32.pm b/inc/Module/Install/Win32.pm
index eeaa3fe..dba25f9 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.06';
+	$VERSION = '1.17';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm
index 85d8018..d553bd7 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.06';
+	$VERSION = '1.17';
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }
diff --git a/lib/Authen/CAS/Client.pm b/lib/Authen/CAS/Client.pm
index 5a4e91d..7c2beaf 100644
--- a/lib/Authen/CAS/Client.pm
+++ b/lib/Authen/CAS/Client.pm
@@ -11,7 +11,7 @@ use URI;
 use URI::QueryParam;
 use XML::LibXML;
 
-our $VERSION = '0.07';
+our $VERSION = '0.08';
 
 
 #======================================================================
@@ -494,26 +494,9 @@ jason hord E<lt>pravus at cpan.orgE<gt>
 More information about CAS can be found at JA-SIG's CAS homepage:
 L<http://www.ja-sig.org/products/cas/>
 
-=head1 COPYRIGHT
+=head1 LICENSE
 
-Copyright (c) 2007-2014, jason hord
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+This software is information.
+It is subject only to local laws of physics.
 
 =cut
diff --git a/lib/Authen/CAS/Client/Response.pm b/lib/Authen/CAS/Client/Response.pm
index 8415178..d86b7ec 100644
--- a/lib/Authen/CAS/Client/Response.pm
+++ b/lib/Authen/CAS/Client/Response.pm
@@ -297,26 +297,9 @@ jason hord E<lt>pravus at cpan.orgE<gt>
 
 =back
 
-=head1 COPYRIGHT
-
-Copyright (c) 2007-2014, jason hord
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+=head1 LICENSE
+
+This software is information.
+It is subject only to local laws of physics.
 
 =cut

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libauthen-cas-client-perl.git



More information about the Pkg-perl-cvs-commits mailing list