X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fresolver.git;a=blobdiff_plain;f=shibresolver%2Fresolver.cpp;fp=shibresolver%2Fresolver.cpp;h=2164f82c1559986bc91c52d1ac5a87656b1cf56b;hp=4a54db2956bdc466deb1c97fce0d17ed2b9d6832;hb=a1f29864ff8bac4c659062c31bbed36dfcb16097;hpb=c9375c5579547a98735c10a658cbffaf906db550 diff --git a/shibresolver/resolver.cpp b/shibresolver/resolver.cpp index 4a54db2..2164f82 100644 --- a/shibresolver/resolver.cpp +++ b/shibresolver/resolver.cpp @@ -125,7 +125,17 @@ void RemotedResolver::receive(DDF& in, ostream& out) 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))