Prepping for release.
[shibboleth/xmltooling.git] / xmltooling / XMLToolingConfig.cpp
index fedd859..ee9cc3c 100644 (file)
@@ -65,8 +65,6 @@
 #endif
 
 using namespace soap11;
-using namespace xmlencryption;
-using namespace xmlsignature;
 using namespace xmltooling::logging;
 using namespace xmltooling;
 using namespace std;
@@ -82,6 +80,8 @@ DECL_XMLTOOLING_EXCEPTION_FACTORY(ValidationException,xmltooling);
 DECL_XMLTOOLING_EXCEPTION_FACTORY(IOException,xmltooling);
 
 #ifndef XMLTOOLING_NO_XMLSEC
+using namespace xmlencryption;
+using namespace xmlsignature;
     DECL_XMLTOOLING_EXCEPTION_FACTORY(XMLSecurityException,xmltooling);
     DECL_XMLTOOLING_EXCEPTION_FACTORY(SignatureException,xmlsignature);
     DECL_XMLTOOLING_EXCEPTION_FACTORY(EncryptionException,xmlencryption);
@@ -165,10 +165,13 @@ bool XMLToolingInternalConfig::log_config(const char* config)
             root.setPriority(Priority::FATAL);
             level=true;
         }
-        if (level)
+        if (level) {
             root.setAppender(new OstreamAppender("default",&cerr));
-        else
-            PropertyConfigurator::configure(config);
+        }
+        else {
+            string path(config);
+            PropertyConfigurator::configure(m_pathResolver ? m_pathResolver->resolve(path, PathResolver::XMLTOOLING_CFG_FILE).c_str() : config);
+        }
     }
     catch (const ConfigureFailure& e) {
         Category::getInstance(XMLTOOLING_LOGCAT".Logging").crit("failed to initialize log4cpp: %s", e.what());
@@ -253,8 +256,6 @@ bool XMLToolingInternalConfig::init()
         // default registrations
         XMLObjectBuilder::registerDefaultBuilder(new UnknownElementBuilder());
 
-        registerKeyInfoClasses();
-        registerEncryptionClasses();
         registerSOAPClasses();
 
         REGISTER_XMLTOOLING_EXCEPTION_FACTORY(XMLParserException,xmltooling);
@@ -271,6 +272,8 @@ bool XMLToolingInternalConfig::init()
         REGISTER_XMLTOOLING_EXCEPTION_FACTORY(XMLSecurityException,xmltooling);
         REGISTER_XMLTOOLING_EXCEPTION_FACTORY(SignatureException,xmlsignature);
         REGISTER_XMLTOOLING_EXCEPTION_FACTORY(EncryptionException,xmlencryption);
+        registerKeyInfoClasses();
+        registerEncryptionClasses();
         registerKeyInfoResolvers();
         registerCredentialResolvers();
         registerTrustEngines();