From 13183de60b54921e59bda80b53af91c523780d20 Mon Sep 17 00:00:00 2001
From: Guillaume Rousse <guillaume.rousse@renater.fr>
Date: Tue, 7 Nov 2017 16:56:37 +0100
Subject: [PATCH] make IdP accounts file location configurable

---
 conf/manager.conf.in                | 3 +++
 lib/IdPAccountManager/Tools.pm      | 4 +---
 lib/IdPAccountManager/WebRequest.pm | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/conf/manager.conf.in b/conf/manager.conf.in
index c9cbba6..08c91d0 100644
--- a/conf/manager.conf.in
+++ b/conf/manager.conf.in
@@ -22,6 +22,9 @@ idp_entityid = https://my.fqdn/simplesaml/saml2/idp/metadata.php
 # Name of the IdP
 idp_displayname = eduGAIN Access Check
 
+# IdP test accounts file
+idp_accounts_file = = @sysconfdir@/accounts.php
+
 # Root simpleSamlPhp directory
 root_ssp_dir = /opt/testidp/simplesamlphp
 
diff --git a/lib/IdPAccountManager/Tools.pm b/lib/IdPAccountManager/Tools.pm
index 7ceca5e..f18f6e4 100644
--- a/lib/IdPAccountManager/Tools.pm
+++ b/lib/IdPAccountManager/Tools.pm
@@ -82,7 +82,7 @@ sub generate_password {
 
 ## Updates simpleSamlPhp authsources.php configuration file
 sub update_ssp_authsources {
-    my ($templates_dir, $conf) = @_;
+    my ($templates_dir, $output) = @_;
 
     my $tt2 = Template->new({
         INCLUDE_PATH => $templates_dir
@@ -90,9 +90,7 @@ sub update_ssp_authsources {
     my $template = 'accountProfiles/valid-accounts.php.tt2';
     my $data = {
         accounts => IdPAccountManager::Data::TestAccount::Manager->get_testaccounts(),
-        conf     => $conf,
     };
-    my $output   = 'conf/valid-accounts.php';
 
     return $tt2->process($template, $data, $output);
 }
diff --git a/lib/IdPAccountManager/WebRequest.pm b/lib/IdPAccountManager/WebRequest.pm
index 0f70443..67170f3 100755
--- a/lib/IdPAccountManager/WebRequest.pm
+++ b/lib/IdPAccountManager/WebRequest.pm
@@ -487,7 +487,7 @@ sub req_validate_token {
     ## Update simpleSAMLphp configuration to enable test accounts
     unless (IdPAccountManager::Tools::update_ssp_authsources(
             $self->{configuration}->{templates_dir},
-            $self->{configuration}
+            $self->{configuration}->{idp_accounts_file}
         )) {
         push @{ $self->{out}->{errors} }, "accounts_creation_failed";
         $self->{logger}->error(
-- 
GitLab