[cpp-sp] 02/02: Implement parent/child between global and site configs.
Scott Cantor
cantor.2 at osu.edu
Tue Jan 14 18:09:58 UTC 2025
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository cpp-sp.
View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=d5eed489933190659e434b539cedcacd50316979
commit d5eed489933190659e434b539cedcacd50316979
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jan 14 13:09:50 2025 -0500
Implement parent/child between global and site configs.
---
shibsp/platform/iis/ModuleConfig.cpp | 1 +
shibsp/util/BoostPropertySet.h | 1 -
tests/data/platform/iis/iis.ini | 4 ++++
tests/data/platform/iis/iis.xml | 2 +-
tests/platform/iis/ModuleConfigTests.cpp | 2 ++
5 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/shibsp/platform/iis/ModuleConfig.cpp b/shibsp/platform/iis/ModuleConfig.cpp
index ed54cefb..e519081e 100644
--- a/shibsp/platform/iis/ModuleConfig.cpp
+++ b/shibsp/platform/iis/ModuleConfig.cpp
@@ -122,6 +122,7 @@ void ModuleConfigImpl::doSites(ptree& parent)
if (child.first == "Site") {
unique_ptr<BoostPropertySet> propset(new BoostPropertySet());
propset->load(child.second);
+ propset->setParent(this);
const char* id = propset->getString("id");
diff --git a/shibsp/util/BoostPropertySet.h b/shibsp/util/BoostPropertySet.h
index e8ff851b..e958b14d 100644
--- a/shibsp/util/BoostPropertySet.h
+++ b/shibsp/util/BoostPropertySet.h
@@ -66,7 +66,6 @@ namespace shibsp {
/** XML-based property trees contain a sub-tree of attributes under this child node. */
static const char XMLATTR_NODE_NAME[];
- protected:
/**
* Returns the parent PropertySet.
*
diff --git a/tests/data/platform/iis/iis.ini b/tests/data/platform/iis/iis.ini
index dea68adf..2c8156eb 100644
--- a/tests/data/platform/iis/iis.ini
+++ b/tests/data/platform/iis/iis.ini
@@ -1,9 +1,13 @@
+[global]
+useHeaders = true
+
[bad]
; no name property
foo = bar
[1]
name = sp.example.org
+useHeaders = false
[2]
name = sp2.example.org
diff --git a/tests/data/platform/iis/iis.xml b/tests/data/platform/iis/iis.xml
index 027b4eb1..fcad64de 100644
--- a/tests/data/platform/iis/iis.xml
+++ b/tests/data/platform/iis/iis.xml
@@ -2,7 +2,7 @@
<Site id="bad" />
- <Site id="1" name="sp.example.org" />
+ <Site id="1" name="sp.example.org" useHeaders="false" />
<Site id="2" name="sp2.example.org" scheme="https" port="443" />
diff --git a/tests/platform/iis/ModuleConfigTests.cpp b/tests/platform/iis/ModuleConfigTests.cpp
index f0beed26..3e301dd2 100644
--- a/tests/platform/iis/ModuleConfigTests.cpp
+++ b/tests/platform/iis/ModuleConfigTests.cpp
@@ -85,6 +85,7 @@ void validateSites(const ModuleConfig* config)
BOOST_CHECK_EQUAL(one->getString(ModuleConfig::SITE_SCHEME_PROP_NAME), nullptr);
BOOST_CHECK_EQUAL(one->getUnsignedInt(ModuleConfig::SITE_PORT_PROP_NAME, 0), 0);
BOOST_CHECK_EQUAL(one->getString(ModuleConfig::SITE_ALIASES_PROP_NAME), nullptr);
+ BOOST_CHECK(!one->getBool(ModuleConfig::USE_HEADERS_PROP_NAME, true));
const PropertySet* two = config->getSiteConfig("2");
BOOST_CHECK(two);
@@ -106,6 +107,7 @@ BOOST_FIXTURE_TEST_CASE(ModuleConfigTest_ini, ModuleConfigFixture)
unique_ptr<ModuleConfig> config(ModuleConfig::newModuleConfig(string(data_path + "iis.ini").c_str()));
BOOST_CHECK(config->getBool(ModuleConfig::USE_VARIABLES_PROP_NAME, true));
+ BOOST_CHECK(config->getBool(ModuleConfig::USE_HEADERS_PROP_NAME, false));
validateSites(config.get());
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list