bool ShibbolethResolver::init(unsigned long features, const char* config, bool rethrow)
{
- SPConfig::getConfig().setFeatures(features | SPConfig::AttributeResolution | SPConfig::Metadata | SPConfig::Trust);
+ if (features && SPConfig::OutOfProcess) {
+#ifndef SHIBSP_LITE
+ features = features | SPConfig::AttributeResolution | SPConfig::Metadata | SPConfig::Trust | SPConfig::Credentials;
+#endif
+ if (!(features && SPConfig::InProcess))
+ features |= SPConfig::Listener;
+ }
+ else if (features && SPConfig::InProcess) {
+ features |= SPConfig::Listener;
+ }
+ SPConfig::getConfig().setFeatures(features);
if (!SPConfig::getConfig().init())
return false;
if (!SPConfig::getConfig().instantiate(config, rethrow))