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 <[email protected]> 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 <[email protected]> + +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 <[email protected]> + +# 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>[email protected]<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>[email protected]<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 _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
