From 467574fa736ee2323198397ce967c6fb381d0d4e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 19 Jun 2015 10:25:30 +0200 Subject: [PATCH] Bug 14408: Add tests to get_template_and_user Signed-off-by: Jonathan Druart --- t/db_dependent/Auth.t | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Auth.t b/t/db_dependent/Auth.t index 2cb1d5f..8513240 100644 --- a/t/db_dependent/Auth.t +++ b/t/db_dependent/Auth.t @@ -8,7 +8,8 @@ use Modern::Perl; use CGI qw ( -utf8 ); use Test::MockModule; use List::MoreUtils qw/all any none/; -use Test::More tests => 8; +use Test::More tests => 11; +use Test::Warn; use C4::Members; use Koha::AuthUtils qw/hash_password/; @@ -105,6 +106,27 @@ $dbh->{RaiseError} = 1; ok( ( any { $_->name eq 'KohaOpacLanguage' and $_->value eq 'en' } @$cookies ), 'BZ9735: invalid language, then default to en'); + + for my $template_name ( + qw( + ../../../../../../../../../../../../../../../etc/passwd + test/../../../../../../../../../../../../../../etc/passwd + /etc/passwd + ) + ) { + eval { + ( $template, $loggedinuser, $cookies ) = get_template_and_user( + { + template_name => $template_name, + query => $query, + type => "intranet", + authnotrequired => 1, + flagsrequired => { catalogue => 1 }, + } + ); + }; + like ( $@, qr(^bad template path), 'The file $template_name should not be accessible' ); + } } # Check that there is always an OPACBaseURL set. -- 2.1.0