mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-25 09:34:11 +00:00
- update to 2.05
- assign to perl@
This commit is contained in:
parent
51507034cb
commit
6693c92770
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=160198
@ -6,24 +6,21 @@
|
||||
#
|
||||
|
||||
PORTNAME= Apache-AuthenURL
|
||||
PORTVERSION= 0.9
|
||||
PORTVERSION= 2.05
|
||||
CATEGORIES= www perl5
|
||||
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
|
||||
MASTER_SITE_SUBDIR= Apache
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= perl@FreeBSD.org
|
||||
COMMENT= Apache/mod_perl module to handle auth against external URLs
|
||||
|
||||
BUILD_DEPENDS= ${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww \
|
||||
${SITE_PERL}/Apache/AuthenCache.pm:${PORTSDIR}/www/p5-Apache-AuthenCache
|
||||
RUN_DEPENDS= ${BUILD_DEPENDS}
|
||||
RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/mod_perl.pm:${PORTSDIR}/www/mod_perl \
|
||||
${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww
|
||||
BUILD_DEPENDS= ${RUN_DEPENDS}
|
||||
|
||||
PERL_CONFIGURE= yes
|
||||
|
||||
MAN3= Apache::AuthenURL.3
|
||||
|
||||
post-patch:
|
||||
@${FIND} ${WRKSRC} -name "*.orig" -a -exec ${RM} -f {} \;
|
||||
MAN3= Apache::AuthenURL.3 Apache::AuthenURL::Cache.3
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
MD5 (Apache-AuthenURL-0.9.tar.gz) = 67b90d3e88a6339ee8734c4ece36c880
|
||||
SHA256 (Apache-AuthenURL-0.9.tar.gz) = b96c66c1c384a7fa0bfc25b1b8dc886942fa7d0956e9733ad76e583341fd2ad2
|
||||
SIZE (Apache-AuthenURL-0.9.tar.gz) = 2609
|
||||
MD5 (Apache-AuthenURL-2.05.tar.gz) = 2304343e0268f1622b15f0c864382f86
|
||||
SHA256 (Apache-AuthenURL-2.05.tar.gz) = 49cdd2ed1e00c5aa0ceb72a454332bcc3a9c2df8694bfb9dcdcf80d3ccda3cfa
|
||||
SIZE (Apache-AuthenURL-2.05.tar.gz) = 4998
|
||||
|
@ -1,124 +0,0 @@
|
||||
--- AuthenURL.pm Tue Nov 4 23:47:14 2003
|
||||
+++ AuthenURL.pm Sat Oct 23 14:58:56 2004
|
||||
@@ -1,14 +1,31 @@
|
||||
# $Id: AuthenURL.pm,v 0.10 2003/11/04 15:47:13 jdg117 Exp $
|
||||
package Apache::AuthenURL;
|
||||
+$Apache::AuthenURL::VERSION = '0.9';
|
||||
+
|
||||
use strict;
|
||||
-use Apache();
|
||||
-use Apache::Constants qw(OK SERVER_ERROR AUTH_REQUIRED);
|
||||
use LWP::UserAgent;
|
||||
-use vars qw($VERSION);
|
||||
|
||||
-my $prefix = "Apache::AuthenURL";
|
||||
+BEGIN { local $@; eval { require Apache2; } }
|
||||
|
||||
-$VERSION = '0.9';
|
||||
+use mod_perl;
|
||||
+use constant MP2 => ($mod_perl::VERSION >= 1.99);
|
||||
+use constant OK => 0;
|
||||
+use constant SERVER_ERROR => 500;
|
||||
+use constant AUTH_REQUIRED => 401;
|
||||
+
|
||||
+if (MP2) {
|
||||
+ require Apache::Access;
|
||||
+ require Apache::Connection;
|
||||
+ require Apache::Log;
|
||||
+ require Apache::RequestRec;
|
||||
+ require Apache::RequestUtil;
|
||||
+}
|
||||
+else {
|
||||
+ require Apache::ModuleConfig;
|
||||
+ require Apache::Constants;
|
||||
+}
|
||||
+
|
||||
+my $prefix = "Apache::AuthenURL";
|
||||
|
||||
my(%Config) = (
|
||||
'AuthenURL_url' => '',
|
||||
@@ -31,20 +48,23 @@
|
||||
|
||||
sub check {
|
||||
my($r, $attr) = @_;
|
||||
+ return undef unless defined($r);
|
||||
+
|
||||
my($res, $sent_pwd);
|
||||
($res, $sent_pwd) = $r->get_basic_auth_pw;
|
||||
return $res if $res; #decline if not Basic
|
||||
|
||||
- my $user = $r->connection->user;
|
||||
- my $passwd;
|
||||
+ my $user = (MP2) ? $r->user : $r->connection->user;
|
||||
+ my $uri = $r->uri;
|
||||
+ my $method = $r->method;
|
||||
|
||||
unless ( $attr->{method} ) {
|
||||
- $r->warn("$prefix is missing the METHOD (defaulting to GET) for URI: " . $r->uri);
|
||||
+ $r->warn("$prefix is missing the METHOD (defaulting to GET) for URI: " . $uri);
|
||||
$attr->{method} = "GET";
|
||||
}
|
||||
|
||||
unless ( $attr->{url} ) {
|
||||
- $r->log_reason("$prefix is missing the URL", $r->uri);
|
||||
+ $r->log_error("$prefix is missing the URL for $uri");
|
||||
return SERVER_ERROR;
|
||||
}
|
||||
|
||||
@@ -55,14 +75,32 @@
|
||||
$lwp_ua->use_alarm(0);
|
||||
my $lwp_req = new HTTP::Request $attr->{method} => $attr->{url};
|
||||
unless( defined $lwp_req ) {
|
||||
- $r->log_reason("LWP failed to use METHOD: " . $attr->{method} . " to connect to URL: ".$attr->{url}, $r->uri);
|
||||
+ $r->log_error("LWP failed to use METHOD: " . $attr->{method} . " to connect to URL: ".$attr->{url});
|
||||
return SERVER_ERROR;
|
||||
}
|
||||
|
||||
$lwp_req->authorization_basic($user, $sent_pwd);
|
||||
+
|
||||
+ if ($attr->{method} eq 'POST') {
|
||||
+ $lwp_req->header('Content-Type' => 'application/x-www-form-urlencoded');
|
||||
+
|
||||
+ require URI;
|
||||
+ my $url = URI->new('http:');
|
||||
+ $url->query_form(
|
||||
+ user => $user,
|
||||
+ password => $sent_pwd,
|
||||
+ uri => $uri,
|
||||
+ method => $method,
|
||||
+ );
|
||||
+
|
||||
+ my $content = $url->query;
|
||||
+ $lwp_req->header('Content-Length' => length($content));
|
||||
+ $lwp_req->content($content);
|
||||
+ }
|
||||
+
|
||||
my $lwp_res = $lwp_ua->request($lwp_req);
|
||||
unless( $lwp_res->is_success ) {
|
||||
- $r->log_reason("LWP user $user: " . $attr->{url} . $lwp_res->status_line, $r->uri);
|
||||
+ $r->log_error("LWP user $user: $attr->{url} fails with ".$lwp_res->status_line)."for $uri";
|
||||
$r->note_basic_auth_failure;
|
||||
return AUTH_REQUIRED;
|
||||
}
|
||||
@@ -83,7 +121,7 @@
|
||||
#in .htaccess
|
||||
AuthName MyHTTPAuth
|
||||
AuthType Basic
|
||||
- PerlAuthenHandler Apache::AuthenCache Apache::AuthenURL::handler Apache::AuthenCache::manage_cache
|
||||
+ PerlAuthenHandler Apache::AuthenCache Apache::AuthenURL Apache::AuthenCache::manage_cache
|
||||
|
||||
PerlSetVar AuthenURL_method HEAD # a valid LWP method
|
||||
PerlSetVar AuthenURL_url https://somehost
|
||||
@@ -99,6 +137,12 @@
|
||||
I wrote this module to work around the lack of DCE support for Solaris x86.
|
||||
DCE authentication in my application is handled using Gradient's DCE
|
||||
plug-in for Netscape Enterprise Server. The request is encrypted using SSL.
|
||||
+
|
||||
+=head1 NOTES
|
||||
+
|
||||
+If C<AuthenURL_method> is set to C<POST>, the request is sent with three
|
||||
+parameters: C<user>, C<password> and C<uri>, in addition to the basic
|
||||
+authentication headers common to all methods.
|
||||
|
||||
=head1 ACKNOWLEDGEMENTS
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- Makefile.PL Wed Aug 16 11:56:21 2000
|
||||
+++ Makefile.PL Sat Oct 23 14:58:56 2004
|
||||
@@ -6,6 +6,7 @@
|
||||
my $missing_modules = 0;
|
||||
|
||||
print "Checking for Apache::AuthenCache......";
|
||||
+eval { require Apache2 };
|
||||
eval {
|
||||
require Apache::AuthenCache;
|
||||
};
|
@ -1,3 +1,6 @@
|
||||
%%SITE_PERL%%/Apache/AuthenURL.pm
|
||||
%%SITE_PERL%%/Apache/AuthenURL/Cache.pm
|
||||
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Apache/AuthenURL/.packlist
|
||||
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Apache/AuthenURL
|
||||
@dirrmtry %%SITE_PERL%%/Apache/AuthenURL
|
||||
@dirrmtry %%SITE_PERL%%/Apache
|
||||
|
Loading…
Reference in New Issue
Block a user