diff options
author | Mark Wells <mark@freeside.biz> | 2015-07-10 16:38:28 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2015-07-10 16:38:28 -0700 |
commit | 0ed195595b5c7ea404c8848d9d1881ada4214489 (patch) | |
tree | 6d6f3fe6e980cd123ff7a648d27fb9eb6b16ab13 /rt/lib/RT/Test/Apache.pm | |
parent | af05c3dda381122e0a45f72dbc0b4e9492f13fe7 (diff) | |
parent | df4a68099abfa067014f36f92874fccefdea662e (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/lib/RT/Test/Apache.pm')
-rw-r--r-- | rt/lib/RT/Test/Apache.pm | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/rt/lib/RT/Test/Apache.pm b/rt/lib/RT/Test/Apache.pm index f761e3cee..29f5ed1be 100644 --- a/rt/lib/RT/Test/Apache.pm +++ b/rt/lib/RT/Test/Apache.pm @@ -83,6 +83,23 @@ sub basic_auth { EOT } +sub basic_auth_anon { + my $self = shift; + + return <<"EOT"; + AuthType Basic + AuthName "restricted area" + AuthBasicProvider anon + + Anonymous * + Anonymous_NoUserID On + Anonymous_MustGiveEmail Off + Anonymous_VerifyEmail Off + + Require valid-user +EOT +} + sub start_server { my ($self, %config) = @_; my %tmp = %{$config{tmp}}; @@ -108,8 +125,14 @@ sub start_server { rt_sbin_path => $RT::SbinPath, rt_site_config => $ENV{'RT_SITE_CONFIG'}, load_modules => $info{load_modules}, - basic_auth => $config{basic_auth} ? $self->basic_auth : "", ); + if (not $config{basic_auth}) { + $opt{basic_auth} = ""; + } elsif ($config{basic_auth} eq 'anon') { + $opt{basic_auth} = $self->basic_auth_anon; + } else { + $opt{basic_auth} = $self->basic_auth; + } foreach (qw(log pid lock)) { $opt{$_ .'_file'} = File::Spec->catfile( "$tmp{'directory'}", "apache.$_" @@ -193,7 +216,10 @@ sub apache_server_info { ) unless exists $MODULES{$res{version}}{$res{variant}}; my @mlist = @{$MODULES{$res{version}}{$res{variant}}}; - push @mlist, "authn_file", "auth_basic", "authz_user" if $res{basic_auth}; + if ($res{basic_auth}) { + push @mlist, "auth_basic", "authz_user"; + push @mlist, $res{basic_auth} eq 'anon' ? "authn_anon" : "authn_file"; + } $res{'load_modules'} = ''; foreach my $mod ( @mlist ) { |