Fix up feature options for different builds.
authorcantor <cantor@3ebe4818-3638-0410-822d-ece5924dabe2>
Mon, 20 Sep 2010 23:06:42 +0000 (23:06 +0000)
committercantor <cantor@3ebe4818-3638-0410-822d-ece5924dabe2>
Mon, 20 Sep 2010 23:06:42 +0000 (23:06 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/shib-extension/cpp-sp-resolver/trunk@273 3ebe4818-3638-0410-822d-ece5924dabe2

shibresolver/resolver.cpp

index 4a54db2..2164f82 100644 (file)
@@ -125,7 +125,17 @@ void RemotedResolver::receive(DDF& in, ostream& out)
 
 bool ShibbolethResolver::init(unsigned long features, const char* config, bool rethrow)
 {
 
 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))
     if (!SPConfig::getConfig().init())
         return false;
     if (!SPConfig::getConfig().instantiate(config, rethrow))