Convert logging to log4shib via compile time switch.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 31 Jul 2007 17:59:23 +0000 (17:59 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 31 Jul 2007 17:59:23 +0000 (17:59 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@2377 cb58f699-b61c-0410-a6fe-9272a202ed29

63 files changed:
adfs/adfs-lite.vcproj
adfs/adfs.cpp
adfs/adfs.vcproj
apache/mod_apache.cpp
apache/mod_shib13.vcproj
apache/mod_shib20.vcproj
apache/mod_shib22.vcproj
config_win32.h
configure.ac
isapi_shib/isapi_shib.vcproj
nsapi_shib/nsapi_shib.vcproj
odbc-store/odbc-store.cpp
odbc-store/odbc-store.vcproj
shibd/shibd.cpp
shibd/shibd.vcproj
shibsp/AbstractSPRequest.cpp
shibsp/SPConfig.cpp
shibsp/TransactionLog.h
shibsp/attribute/NameIDAttributeDecoder.cpp
shibsp/attribute/ScopedAttributeDecoder.cpp
shibsp/attribute/StringAttributeDecoder.cpp
shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
shibsp/attribute/filtering/impl/XMLAttributeFilter.cpp
shibsp/attribute/resolver/impl/ChainingAttributeResolver.cpp
shibsp/attribute/resolver/impl/QueryAttributeResolver.cpp
shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
shibsp/binding/impl/ArtifactResolver.cpp
shibsp/binding/impl/SOAPClient.cpp
shibsp/handler/AbstractHandler.h
shibsp/handler/AssertionConsumerService.h
shibsp/handler/impl/AbstractHandler.cpp
shibsp/handler/impl/AssertionConsumerService.cpp
shibsp/handler/impl/AssertionLookup.cpp
shibsp/handler/impl/ChainingLogoutInitiator.cpp
shibsp/handler/impl/ChainingSessionInitiator.cpp
shibsp/handler/impl/LocalLogoutInitiator.cpp
shibsp/handler/impl/LogoutHandler.cpp
shibsp/handler/impl/RemotedHandler.cpp
shibsp/handler/impl/SAML1Consumer.cpp
shibsp/handler/impl/SAML2ArtifactResolution.cpp
shibsp/handler/impl/SAML2Consumer.cpp
shibsp/handler/impl/SAML2Logout.cpp
shibsp/handler/impl/SAML2LogoutInitiator.cpp
shibsp/handler/impl/SAML2SessionInitiator.cpp
shibsp/handler/impl/SAMLDSSessionInitiator.cpp
shibsp/handler/impl/Shib1SessionInitiator.cpp
shibsp/handler/impl/WAYFSessionInitiator.cpp
shibsp/impl/RemotedSessionCache.cpp
shibsp/impl/StorageServiceSessionCache.cpp
shibsp/impl/XMLAccessControl.cpp
shibsp/impl/XMLRequestMapper.cpp
shibsp/impl/XMLServiceProvider.cpp
shibsp/internal.h
shibsp/remoting/impl/ListenerService.cpp
shibsp/remoting/impl/SocketListener.cpp
shibsp/remoting/impl/SocketListener.h
shibsp/shibsp-lite.vcproj
shibsp/shibsp.vcproj
shibsp/util/DOMPropertySet.cpp
shibsp/util/DOMPropertySet.h
util/samlquery.vcproj
util/siterefresh.cpp
util/siterefresh.vcproj

index b9afe32..e2e4f18 100644 (file)
@@ -62,7 +62,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling-lite1D.lib"\r
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib xmltooling-lite1D.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="2"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling-lite1.lib"\r
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib xmltooling-lite1.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="1"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
index 05b20b8..6570271 100644 (file)
 #include <shibsp/handler/AssertionConsumerService.h>
 #include <shibsp/handler/LogoutHandler.h>
 #include <shibsp/handler/SessionInitiator.h>
+#include <xmltooling/logging.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/URLEncoder.h>
 #include <xmltooling/util/XMLHelper.h>
-#include <log4cpp/Category.hh>
 #include <xercesc/util/XMLUniDefs.hpp>
 
 #ifndef SHIBSP_LITE
@@ -67,9 +67,9 @@ using namespace opensaml::saml2md;
 #endif
 using namespace shibsp;
 using namespace opensaml;
+using namespace xmltooling::logging;
 using namespace xmltooling;
 using namespace xercesc;
-using namespace log4cpp;
 using namespace std;
 
 #define WSFED_NS "http://schemas.xmlsoap.org/ws/2003/07/secext"
index 6c707e5..5119beb 100644 (file)
@@ -62,7 +62,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib saml2D.lib xmltooling1D.lib"\r
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib saml2D.lib xmltooling1D.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="2"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib saml2.lib xmltooling1.lib"\r
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib saml2.lib xmltooling1.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="1"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
index 08fb663..b7be829 100644 (file)
@@ -1016,22 +1016,6 @@ bool htAccessControl::authorized(const SPRequest& request, const Session* sessio
     return false;
 }
 
-#ifndef SHIB_APACHE_13
-/*
- * shib_exit()
- *  Empty cleanup hook, Apache 2.x doesn't check NULL very well...
- */
-extern "C" apr_status_t shib_exit(void* data)
-{
-    if (g_Config) {
-        g_Config->term();
-        g_Config = NULL;
-    }
-    ap_log_error(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,0,NULL,"shib_exit() done");
-    return OK;
-}
-#endif
-
 
 // Initial look at a request - create the per-request structure
 static int shib_post_read(request_rec *r)
@@ -1066,29 +1050,35 @@ extern "C" int shib_fixups(request_rec* r)
   return OK;
 }
 
+#ifdef SHIB_APACHE_13
 /*
  * shib_child_exit()
  *  Cleanup the (per-process) pool info.
  */
-#ifdef SHIB_APACHE_13
 extern "C" void shib_child_exit(server_rec* s, SH_AP_POOL* p)
 {
-#else
-extern "C" apr_status_t shib_child_exit(void* data)
-{
-  server_rec* s = NULL;
-#endif
     if (g_Config) {
         ap_log_error(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(s),"shib_child_exit(%d) dealing with g_Config..", (int)getpid());
         g_Config->term();
         g_Config = NULL;
         ap_log_error(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(s),"shib_child_exit() done");
     }
-
-#ifndef SHIB_APACHE_13
+}
+#else
+/*
+ * shib_exit()
+ *  Apache 2.x doesn't allow for per-child cleanup, causes CGI forks to hang.
+ */
+extern "C" apr_status_t shib_exit(void* data)
+{
+    if (g_Config) {
+        g_Config->term();
+        g_Config = NULL;
+    }
+    ap_log_error(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,0,NULL,"shib_exit() done");
     return OK;
-#endif
 }
+#endif
 
 /* 
  * shire_child_init()
@@ -1155,7 +1145,7 @@ extern "C" void shib_child_init(apr_pool_t* p, server_rec* s)
     }
 
     // Set the cleanup handler
-    apr_pool_cleanup_register(p, NULL, &shib_exit, &shib_child_exit);
+    apr_pool_cleanup_register(p, NULL, &shib_exit, apr_pool_cleanup_null);
 
     ap_log_error(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(s),"shib_child_init() done");
 }
index 01f33fc..ef3c30f 100644 (file)
@@ -76,7 +76,7 @@
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib ApacheCore.lib xmltooling-lite1.lib"
+                               AdditionalDependencies="xerces-c_2.lib ApacheCore.lib xmltooling-lite1.lib"
                                OutputFile="$(OutDir)\mod_shib_13.so"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib ApacheCore.lib xmltooling-lite1D.lib"
+                               AdditionalDependencies="xerces-c_2D.lib ApacheCore.lib xmltooling-lite1D.lib"
                                OutputFile="$(OutDir)\mod_shib_13.so"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
index 924ca32..84bb1fe 100644 (file)
@@ -76,7 +76,7 @@
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib libapr.lib libaprutil.lib libhttpd.lib xmltooling-lite1.lib"
+                               AdditionalDependencies="xerces-c_2.lib libapr.lib libaprutil.lib libhttpd.lib xmltooling-lite1.lib"
                                OutputFile="$(OutDir)\mod_shib_20.so"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib libapr.lib libaprutil.lib libhttpd.lib xmltooling-lite1D.lib"
+                               AdditionalDependencies="xerces-c_2D.lib libapr.lib libaprutil.lib libhttpd.lib xmltooling-lite1D.lib"
                                OutputFile="$(OutDir)\mod_shib_20.so"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
index ffd590f..ade6366 100644 (file)
@@ -75,7 +75,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling-lite1.lib libapr-1.lib libaprutil-1.lib libhttpd.lib"\r
+                               AdditionalDependencies="xerces-c_2.lib xmltooling-lite1.lib libapr-1.lib libaprutil-1.lib libhttpd.lib"\r
                                OutputFile="$(OutDir)\mod_shib_22.so"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="true"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling-lite1D.lib libapr-1.lib libaprutil-1.lib libhttpd.lib"\r
+                               AdditionalDependencies="xerces-c_2D.lib xmltooling-lite1D.lib libapr-1.lib libaprutil-1.lib libhttpd.lib"\r
                                OutputFile="$(OutDir)\mod_shib_22.so"\r
                                LinkIncremental="2"\r
                                SuppressStartupBanner="true"\r
index 4157a34..a137851 100644 (file)
 /* Define to 1 if you have the `dmallocxx' library (-ldmallocxx). */
 /* #undef HAVE_LIBDMALLOCXX */
 
-/* Define if log4cpp library was found */
-#define HAVE_LIBLOG4CPP 1
+/* Define if log4shib library is used. */
+#define SHIBSP_LOG4SHIB 1
+
+/* Define if log4cpp library is used. */
+/* #undef SHIBSP_LOG4CPP */
 
 /* Define to 1 if you have the `ssl' library (-lssl). */
 #define HAVE_LIBSSL 1
index 1c2be3d..0667d0e 100644 (file)
@@ -74,24 +74,55 @@ AC_LANG(C++)
 AC_CXX_REQUIRE_STL
 AC_CXX_NAMESPACES
 
-# log4cpp settings
-AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config)
-AC_ARG_WITH(log4cpp,
-            AC_HELP_STRING([--with-log4cpp=PATH], [where log4cpp is installed]),
-            [LOG4CPP_CONFIG="${with_log4cpp}/bin/log4cpp-config"])
-if test -f "${LOG4CPP_CONFIG}"; then
-    LDFLAGS="`${LOG4CPP_CONFIG} --libs` $LDFLAGS"
-    CPPFLAGS="`${LOG4CPP_CONFIG} --cflags` $CPPFLAGS"
+# log4shib settings (favor this version over the log4cpp code)
+AC_PATH_PROG(LOG4SHIB_CONFIG,log4shib-config)
+AC_ARG_WITH(log4shib,
+    AC_HELP_STRING([--with-log4shib=PATH], [where log4shib-config is installed]),
+    [
+    LOG4SHIB_CONFIG="${with_log4shib}"
+    if ! test -f "${LOG4SHIB_CONFIG}" ; then
+       LOG4SHIB_CONFIG="${with_log4shib}/bin/log4shib-config"
+    fi
+    ])
+if test -f "${LOG4SHIB_CONFIG}"; then
+    LDFLAGS="`${LOG4SHIB_CONFIG} --libs` $LDFLAGS"
+    CPPFLAGS="`${LOG4SHIB_CONFIG} --cflags` $CPPFLAGS"
 else
-    AC_MSG_WARN([log4cpp-config not found, guessing at log4cpp build settings])
-    LIBS="-llog4cpp $LIBS"
+    AC_MSG_WARN([log4shib-config not found, may need to use --with-log4shib option])
+    AC_MSG_WARN([will look for original log4cpp library])
+    
+       # log4cpp settings
+       AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config)
+       AC_ARG_WITH(log4cpp,
+           AC_HELP_STRING([--with-log4cpp=PATH], [where log4cpp-config is installed]),
+           [
+           LOG4CPP_CONFIG="${with_log4cpp}"
+           if ! test -f "${LOG4CPP_CONFIG}" ; then
+               LOG4CPP_CONFIG="${with_log4cpp}/bin/log4cpp-config"
+           fi
+           ])
+       if test -f "${LOG4CPP_CONFIG}"; then
+               AC_MSG_WARN([will try to use log4cpp, note that most non-Internet2 supplied versions are not thread-safe])
+           LDFLAGS="`${LOG4CPP_CONFIG} --libs` $LDFLAGS"
+           CPPFLAGS="`${LOG4CPP_CONFIG} --cflags` $CPPFLAGS"
+       else
+           AC_MSG_ERROR([log4cpp-config not found, may need to use --with-log4cpp option])
+       fi
+       AC_CHECK_HEADER([log4cpp/Category.hh],,AC_MSG_ERROR([unable to find log4cpp header files]))
+       AC_CHECK_HEADER([log4cpp/PropertyConfigurator.hh],,AC_MSG_ERROR([you need at least log4cpp 0.3.x]))
+       AC_TRY_LINK(
+               [#include <log4cpp/Category.hh>],
+               [log4cpp::Category::getInstance("foo")],
+               [AC_DEFINE(SHIBSP_LOG4CPP,1,[Define if log4cpp library is used.])],
+               [AC_MSG_ERROR([unable to link with log4cpp])])
 fi
-AC_CHECK_HEADER([log4cpp/Category.hh],,AC_MSG_ERROR([unable to find log4cpp header files]))
+AC_CHECK_HEADER([log4shib/Category.hh],,AC_MSG_ERROR([unable to find log4shib header files]))
 AC_TRY_LINK(
-       [#include <log4cpp/Category.hh>],
-       [log4cpp::Category::getInstance("foo")],
-       [AC_DEFINE(HAVE_LIBLOG4CPP,1,[Define if log4cpp library was found])],
-       [AC_MSG_ERROR([unable to link with log4cpp])])
+       [#include <log4shib/Category.hh>],
+       [log4shib::Category::getInstance("foo")],
+       [AC_DEFINE(SHIBSP_LOG4SHIB,1,[Define if log4shib library is used.])],
+       [AC_MSG_ERROR([unable to link with log4shib])])
+
 
 # Xerces settings
 AC_ARG_WITH(xerces, 
index 2af5fab..532cd18 100644 (file)
@@ -78,7 +78,7 @@
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalOptions="/export:GetExtensionVersion /export:GetFilterVersion /export:TerminateExtension /export:TerminateFilter /export:HttpFilterProc /export:HttpExtensionProc"
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling-lite1.lib"
+                               AdditionalDependencies="xerces-c_2.lib xmltooling-lite1.lib"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="&quot;..\..\cpp-xmltooling\$(ConfigurationName)&quot;"
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalOptions="/export:GetExtensionVersion /export:GetFilterVersion /export:TerminateExtension /export:TerminateFilter /export:HttpFilterProc /export:HttpExtensionProc"
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling-lite1D.lib"
+                               AdditionalDependencies="xerces-c_2D.lib xmltooling-lite1D.lib"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="&quot;..\..\cpp-xmltooling\$(ConfigurationName)&quot;"
index 4925839..180e270 100644 (file)
@@ -76,7 +76,7 @@
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling-lite1.lib ns-httpd30.lib"
+                               AdditionalDependencies="xerces-c_2.lib xmltooling-lite1.lib ns-httpd30.lib"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="&quot;..\..\cpp-xmltooling\$(ConfigurationName)&quot;"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling-lite1D.lib ns-httpd30.lib"
+                               AdditionalDependencies="xerces-c_2D.lib xmltooling-lite1D.lib ns-httpd30.lib"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="&quot;..\..\cpp-xmltooling\$(ConfigurationName)&quot;"
index 5eb2a2b..95d4945 100644 (file)
@@ -37,8 +37,8 @@
 # define ODBCSTORE_EXPORTS
 #endif
 
-#include <log4cpp/Category.hh>
 #include <xercesc/util/XMLUniDefs.hpp>
+#include <xmltooling/logging.h>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/StorageService.h>
@@ -48,9 +48,9 @@
 #include <sql.h>
 #include <sqlext.h>
 
+using namespace xmltooling::logging;
 using namespace xmltooling;
 using namespace xercesc;
-using namespace log4cpp;
 using namespace std;
 
 #define PLUGIN_VER_MAJOR 1
index cefc0fe..0edfdea 100644 (file)
@@ -61,7 +61,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling1D.lib"\r
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib xmltooling1D.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="2"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling1.lib"\r
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib xmltooling1.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName).so"\r
                                LinkIncremental="1"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
index bf8a95f..fe30c24 100644 (file)
@@ -44,7 +44,6 @@
 \r
 #include <stdio.h>\r
 #include <signal.h>\r
-#include <log4cpp/Category.hh>\r
 #include <shibsp/ServiceProvider.h>\r
 #include <shibsp/remoting/ListenerService.h>\r
 #include <xercesc/util/XMLUniDefs.hpp>\r
@@ -53,7 +52,6 @@
 #include <xmltooling/util/XMLHelper.h>\r
 \r
 using namespace shibsp;\r
-using namespace log4cpp;\r
 using namespace xmltooling;\r
 using namespace std;\r
 \r
index 8efc825..ac84e1e 100644 (file)
@@ -67,7 +67,7 @@
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="wsock32.lib log4cpp.lib xmltooling1.lib xerces-c_2.lib"
+                               AdditionalDependencies="wsock32.lib log4shib1.lib xmltooling1.lib xerces-c_2.lib"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="wsock32.lib log4cppD.lib xmltooling1D.lib"
+                               AdditionalDependencies="wsock32.lib log4shib1D.lib xmltooling1D.lib"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"
index d6cc6a5..103c2b3 100644 (file)
 #include "ServiceProvider.h"
 #include "SessionCache.h"
 
-#include <log4cpp/Category.hh>
-
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 AbstractSPRequest::AbstractSPRequest()
@@ -277,10 +274,10 @@ const char* AbstractSPRequest::getHandlerURL(const char* resource) const
 void AbstractSPRequest::log(SPLogLevel level, const std::string& msg) const
 {
     reinterpret_cast<Category*>(m_log)->log(
-        (level == SPDebug ? log4cpp::Priority::DEBUG :
-        (level == SPInfo ? log4cpp::Priority::INFO :
-        (level == SPWarn ? log4cpp::Priority::WARN :
-        (level == SPError ? log4cpp::Priority::ERROR : log4cpp::Priority::CRIT)))),
+        (level == SPDebug ? Priority::DEBUG :
+        (level == SPInfo ? Priority::INFO :
+        (level == SPWarn ? Priority::WARN :
+        (level == SPError ? Priority::ERROR : Priority::CRIT)))),
         msg
         );
 }
@@ -288,9 +285,9 @@ void AbstractSPRequest::log(SPLogLevel level, const std::string& msg) const
 bool AbstractSPRequest::isPriorityEnabled(SPLogLevel level) const
 {
     return reinterpret_cast<Category*>(m_log)->isPriorityEnabled(
-        (level == SPDebug ? log4cpp::Priority::DEBUG :
-        (level == SPInfo ? log4cpp::Priority::INFO :
-        (level == SPWarn ? log4cpp::Priority::WARN :
-        (level == SPError ? log4cpp::Priority::ERROR : log4cpp::Priority::CRIT))))
+        (level == SPDebug ? Priority::DEBUG :
+        (level == SPInfo ? Priority::INFO :
+        (level == SPWarn ? Priority::WARN :
+        (level == SPError ? Priority::ERROR : Priority::CRIT))))
         );
 }
index 3c9ad7f..26b86fe 100644 (file)
  */
 
 #include "internal.h"
+
+#if defined(XMLTOOLING_LOG4SHIB)
+# ifndef SHIBSP_LOG4SHIB
+#  error "Logging library mismatch (XMLTooling is using log4shib)."
+# endif
+#elif defined(XMLTOOLING_LOG4CPP)
+# ifndef SHIBSP_LOG4CPP
+#  error "Logging library mismatch (XMLTooling is using log4cpp)."
+# endif
+#else
+# error "No supported logging library."
+#endif
+
 #include "AccessControl.h"
 #include "exceptions.h"
 #include "RequestMapper.h"
 # include <xmltooling/XMLToolingConfig.h>
 #endif
 
-#include <log4cpp/Category.hh>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/TemplateEngine.h>
 
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 
 DECL_XMLTOOLING_EXCEPTION_FACTORY(AttributeException,shibsp);
 DECL_XMLTOOLING_EXCEPTION_FACTORY(AttributeExtractionException,shibsp);
index 843c921..64ba2bc 100644 (file)
@@ -24,7 +24,7 @@
 #define __shibsp_txlog_h__
 
 #include <shibsp/base.h>
-#include <log4cpp/Category.hh>
+#include <xmltooling/logging.h>
 #include <xmltooling/Lockable.h>
 #include <xmltooling/util/Threads.h>
 
@@ -40,7 +40,7 @@ namespace shibsp {
         MAKE_NONCOPYABLE(TransactionLog);
     public:
         TransactionLog()
-            : log(log4cpp::Category::getInstance(SHIBSP_TX_LOGCAT)), m_lock(xmltooling::Mutex::create()) {
+            : log(xmltooling::logging::Category::getInstance(SHIBSP_TX_LOGCAT)), m_lock(xmltooling::Mutex::create()) {
         }
 
         virtual ~TransactionLog() {
@@ -57,7 +57,7 @@ namespace shibsp {
         }
 
         /** Logging object. */
-        log4cpp::Category& log;
+        xmltooling::logging::Category& log;
 
     private:
         xmltooling::Mutex* m_lock;
index 832a327..19ea010 100644 (file)
@@ -24,7 +24,6 @@
 #include "attribute/AttributeDecoder.h"\r
 #include "attribute/NameIDAttribute.h"\r
 \r
-#include <log4cpp/Category.hh>\r
 #include <saml/saml1/core/Assertions.h>\r
 #include <saml/saml2/core/Assertions.h>\r
 \r
@@ -32,7 +31,6 @@ using namespace shibsp;
 using namespace opensaml::saml1;\r
 using namespace opensaml::saml2;\r
 using namespace xmltooling;\r
-using namespace log4cpp;\r
 using namespace std;\r
 \r
 namespace shibsp {\r
index 48652ce..587d346 100644 (file)
@@ -24,7 +24,6 @@
 #include "attribute/AttributeDecoder.h"\r
 #include "attribute/ScopedAttribute.h"\r
 \r
-#include <log4cpp/Category.hh>\r
 #include <saml/saml1/core/Assertions.h>\r
 #include <saml/saml2/core/Assertions.h>\r
 \r
@@ -32,7 +31,6 @@ using namespace shibsp;
 using namespace opensaml::saml1;\r
 using namespace opensaml::saml2;\r
 using namespace xmltooling;\r
-using namespace log4cpp;\r
 using namespace std;\r
 \r
 namespace shibsp {\r
index 4e0bcfb..b652ee0 100644 (file)
@@ -24,7 +24,6 @@
 #include "attribute/AttributeDecoder.h"\r
 #include "attribute/SimpleAttribute.h"\r
 \r
-#include <log4cpp/Category.hh>\r
 #include <saml/saml1/core/Assertions.h>\r
 #include <saml/saml2/core/Assertions.h>\r
 \r
@@ -32,7 +31,6 @@ using namespace shibsp;
 using namespace opensaml::saml1;\r
 using namespace opensaml::saml2;\r
 using namespace xmltooling;\r
-using namespace log4cpp;\r
 using namespace std;\r
 \r
 namespace shibsp {\r
index 3069ffd..7842a59 100644 (file)
 #include "attribute/filtering/AttributeFilter.h"
 #include "attribute/filtering/FilteringContext.h"
 
-#include <log4cpp/Category.hh>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/util/XMLHelper.h>
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 1dd0a2c..86d56c8 100644 (file)
@@ -37,7 +37,6 @@ using namespace shibsp;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 8de4e3d..6579762 100644 (file)
@@ -27,7 +27,6 @@
 #include "attribute/resolver/AttributeResolver.h"
 #include "attribute/resolver/ResolutionContext.h"
 
-#include <log4cpp/Category.hh>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/util/XMLHelper.h>
 
@@ -35,7 +34,6 @@ using namespace shibsp;
 using namespace opensaml::saml2;
 using namespace opensaml::saml2md;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index c5a92f8..f0debc4 100644 (file)
@@ -33,7 +33,6 @@
 #include "binding/SOAPClient.h"
 #include "util/SPConstants.h"
 
-#include <log4cpp/Category.hh>
 #include <saml/exceptions.h>
 #include <saml/binding/SecurityPolicy.h>
 #include <saml/saml1/binding/SAML1SOAPClient.h>
@@ -57,7 +56,6 @@ using namespace opensaml::saml2p;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index b8b145a..44bf5e4 100644 (file)
@@ -39,7 +39,6 @@ using namespace shibsp;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 using saml1::NameIdentifier;
 using saml2::NameID;
index f457a3f..0f35ef5 100644 (file)
 #include <saml/saml2/metadata/MetadataCredentialCriteria.h>
 #include <saml/util/SAMLConstants.h>
 
-#include <log4cpp/Category.hh>
-
 using namespace shibsp;
 using namespace opensaml::saml1p;
 using namespace opensaml::saml2;
 using namespace opensaml::saml2p;
 using namespace opensaml::saml2md;
 using namespace opensaml;
-using namespace log4cpp;
 using namespace xmltooling;
 using namespace std;
 
@@ -56,6 +53,7 @@ saml1p::Response* ArtifactResolver::resolve(
     MetadataCredentialCriteria mcc(idpDescriptor);
     shibsp::SOAPClient soaper(dynamic_cast<shibsp::SecurityPolicy&>(policy));
 
+    bool foundEndpoint = false;
     auto_ptr_XMLCh binding(samlconstants::SAML1_BINDING_SOAP);
     saml1p::Response* response=NULL;
     const vector<ArtifactResolutionService*>& endpoints=idpDescriptor.getArtifactResolutionServices();
@@ -63,6 +61,7 @@ saml1p::Response* ArtifactResolver::resolve(
         try {
             if (!XMLString::equals((*ep)->getBinding(),binding.get()))
                 continue;
+            foundEndpoint = true;
             auto_ptr_char loc((*ep)->getLocation());
             saml1p::Request* request = saml1p::RequestBuilder::buildRequest();
             request->setMinorVersion(idpDescriptor.hasSupport(samlconstants::SAML11_PROTOCOL_ENUM) ? 1 : 0);
@@ -83,7 +82,9 @@ saml1p::Response* ArtifactResolver::resolve(
         }
     }
 
-    if (!response)
+    if (!foundEndpoint)
+        throw MetadataException("No compatible endpoint found in issuer's metadata.");
+    else if (!response)
         throw BindingException("Unable to resolve artifact(s) into a SAML response.");
     const QName* code = (response->getStatus() && response->getStatus()->getStatusCode()) ? response->getStatus()->getStatusCode()->getValue() : NULL;
     if (!code || *code != saml1p::StatusCode::SUCCESS) {
@@ -104,6 +105,7 @@ ArtifactResponse* ArtifactResolver::resolve(
     shibsp::SecurityPolicy& sppolicy = dynamic_cast<shibsp::SecurityPolicy&>(policy);
     shibsp::SOAPClient soaper(sppolicy);
 
+    bool foundEndpoint = false;
     auto_ptr_XMLCh binding(samlconstants::SAML20_BINDING_SOAP);
     ArtifactResponse* response=NULL;
     const vector<ArtifactResolutionService*>& endpoints=ssoDescriptor.getArtifactResolutionServices();
@@ -111,6 +113,7 @@ ArtifactResponse* ArtifactResolver::resolve(
         try {
             if (!XMLString::equals((*ep)->getBinding(),binding.get()))
                 continue;
+            foundEndpoint = true;
             auto_ptr_char loc((*ep)->getLocation());
             auto_ptr_XMLCh issuer(sppolicy.getApplication().getString("entityID").second);
             ArtifactResolve* request = ArtifactResolveBuilder::buildArtifactResolve();
@@ -136,9 +139,11 @@ ArtifactResponse* ArtifactResolver::resolve(
         }
     }
 
-    if (!response)
+    if (!foundEndpoint)
+        throw MetadataException("No compatible endpoint found in issuer's metadata.");
+    else if (!response)
         throw BindingException("Unable to resolve artifact(s) into a SAML response.");
-    if (!response->getStatus() || !response->getStatus()->getStatusCode() ||
+    else if (!response->getStatus() || !response->getStatus()->getStatusCode() ||
            !XMLString::equals(response->getStatus()->getStatusCode()->getValue(), saml2p::StatusCode::SUCCESS)) {
         delete response;
         throw BindingException("Identity provider returned a SAML error in response to artifact.");
index 8dc0574..29a002a 100644 (file)
@@ -26,7 +26,6 @@
 #include "ServiceProvider.h"
 #include "binding/SOAPClient.h"
 
-#include <log4cpp/Category.hh>
 #include <saml/saml2/metadata/Metadata.h>
 #include <xmltooling/soap/SOAP.h>
 #include <xmltooling/soap/HTTPSOAPTransport.h>
@@ -36,7 +35,6 @@ using namespace shibsp;
 using namespace opensaml::saml2md;
 using namespace xmlsignature;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 SOAPClient::SOAPClient(SecurityPolicy& policy)
index 6d2e0b8..7893b13 100644 (file)
 #include <shibsp/handler/Handler.h>
 #include <shibsp/util/DOMPropertySet.h>
 
-#include <log4cpp/Category.hh>
 #ifndef SHIBSP_LITE
 # include <saml/binding/MessageEncoder.h>
 # include <saml/saml2/core/Protocols.h>
 #endif
+#include <xmltooling/logging.h>
 #include <xmltooling/XMLObject.h>
 #include <xmltooling/io/HTTPRequest.h>
 #include <xmltooling/io/HTTPResponse.h>
@@ -60,7 +60,7 @@ namespace shibsp {
          */
         AbstractHandler(
             const xercesc::DOMElement* e,
-            log4cpp::Category& log,
+            xmltooling::logging::Category& log,
             xercesc::DOMNodeFilter* filter=NULL,
             const std::map<std::string,std::string>* remapper=NULL
             );
@@ -149,7 +149,7 @@ namespace shibsp {
             ) const;
         
         /** Logging object. */
-        log4cpp::Category& m_log;
+        xmltooling::logging::Category& m_log;
         
         /** Configuration namespace for custom properties. */
         xmltooling::auto_ptr_char m_configNS;
index df28122..bbedd6c 100644 (file)
@@ -60,7 +60,7 @@ namespace shibsp {
          * @param appId ID of application that "owns" the handler
          * @param log   a logging object to use
          */
-        AssertionConsumerService(const xercesc::DOMElement* e, const char* appId, log4cpp::Category& log);
+        AssertionConsumerService(const xercesc::DOMElement* e, const char* appId, xmltooling::logging::Category& log);
         
 #ifndef SHIBSP_LITE
         /**
index 19eb60c..22910f9 100644 (file)
@@ -51,7 +51,6 @@ using namespace shibsp;
 using namespace samlconstants;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace xercesc;
 using namespace std;
 
@@ -91,7 +90,7 @@ void SHIBSP_API shibsp::registerHandlers()
 }
 
 AbstractHandler::AbstractHandler(
-    const DOMElement* e, log4cpp::Category& log, DOMNodeFilter* filter, const map<string,string>* remapper
+    const DOMElement* e, Category& log, DOMNodeFilter* filter, const map<string,string>* remapper
     ) : m_log(log), m_configNS(shibspconstants::SHIB2SPCONFIG_NS) {
     load(e,log,filter,remapper);
 }
index 57e127c..c8037b7 100644 (file)
@@ -44,7 +44,6 @@ using namespace shibspconstants;
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 AssertionConsumerService::AssertionConsumerService(const DOMElement* e, const char* appId, Category& log)
index b9e9415..61cf3b0 100644 (file)
@@ -33,7 +33,6 @@ using namespace shibspconstants;
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 6ca0e7f..c81fdfa 100644 (file)
@@ -31,7 +31,6 @@
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 38bad77..803e776 100644 (file)
@@ -31,7 +31,6 @@
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 90c8397..e048f0b 100644 (file)
@@ -29,7 +29,6 @@
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 901e45b..39c3e92 100644 (file)
@@ -29,7 +29,6 @@
 #include "util/TemplateParameters.h"
 
 #include <fstream>
-#include <log4cpp/Category.hh>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/util/URLEncoder.h>
 
@@ -91,7 +90,7 @@ void LogoutHandler::receive(DDF& in, ostream& out)
     const Application* app=aid ? SPConfig::getConfig().getServiceProvider()->getApplication(aid) : NULL;
     if (!app) {
         // Something's horribly wrong.
-        log4cpp::Category::getInstance(SHIBSP_LOGCAT".Logout").error("couldn't find application (%s) for logout", aid ? aid : "(missing)");
+        Category::getInstance(SHIBSP_LOGCAT".Logout").error("couldn't find application (%s) for logout", aid ? aid : "(missing)");
         throw ConfigurationException("Unable to locate application for logout, deleted?");
     }
 
@@ -216,7 +215,7 @@ bool LogoutHandler::notifyBackChannel(
                 delete soaper.receive();
             }
             catch (exception& ex) {
-                log4cpp::Category::getInstance(SHIBSP_LOGCAT".Logout").error("error notifying application of logout event: %s", ex.what());
+                Category::getInstance(SHIBSP_LOGCAT".Logout").error("error notifying application of logout event: %s", ex.what());
                 result = false;
             }
             soaper.reset();
index 2838d14..e2c18ff 100644 (file)
@@ -27,7 +27,6 @@
 #include "handler/RemotedHandler.h"
 
 #include <algorithm>
-#include <log4cpp/Category.hh>
 #include <xmltooling/unicode.h>
 
 #ifndef SHIBSP_LITE
@@ -41,7 +40,6 @@
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace xercesc;
 using namespace std;
 
index 871fe80..8b44d5c 100644 (file)
@@ -49,7 +49,6 @@ using saml2md::EntityDescriptor;
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index fdf31ed..6a1097b 100644 (file)
@@ -51,7 +51,6 @@ using namespace shibsp;
 using namespace opensaml;
 using namespace soap11;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index bbc9f49..2bae0f5 100644 (file)
@@ -48,7 +48,6 @@ using namespace opensaml;
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 4684c83..0240946 100644 (file)
@@ -46,7 +46,6 @@ using namespace opensaml;
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index df0cb46..527ae3d 100644 (file)
@@ -45,7 +45,6 @@ using namespace opensaml;
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 8908af3..0992d4d 100644 (file)
@@ -44,7 +44,6 @@ using namespace opensaml::saml2md;
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index d71b7c1..42614f1 100644 (file)
@@ -33,7 +33,6 @@
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index e1fbc90..e7564e9 100644 (file)
@@ -41,7 +41,6 @@ using namespace shibsp;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 0d5e541..03f0ea2 100644 (file)
@@ -34,7 +34,6 @@
 using namespace shibsp;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index 180bbc3..04364e0 100644 (file)
@@ -31,7 +31,6 @@
 \r
 #include <ctime>\r
 #include <sstream>\r
-#include <log4cpp/Category.hh>\r
 #include <xmltooling/XMLToolingConfig.h>\r
 #include <xmltooling/util/DateTime.h>\r
 #include <xmltooling/util/NDC.h>\r
@@ -39,7 +38,6 @@
 \r
 using namespace shibsp;\r
 using namespace xmltooling;\r
-using namespace log4cpp;\r
 using namespace std;\r
 \r
 namespace shibsp {\r
index c41f599..38d5989 100644 (file)
@@ -38,7 +38,6 @@
 #include "remoting/ListenerService.h"
 #include "util/SPConstants.h"
 
-#include <log4cpp/Category.hh>
 #include <saml/SAMLConfig.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/StorageService.h>
@@ -49,7 +48,6 @@ using namespace shibsp;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace shibsp {
index f134dee..7f51df8 100644 (file)
@@ -82,7 +82,7 @@ namespace {
     {\r
     public:\r
         XMLAccessControl(const DOMElement* e)\r
-                : ReloadableXMLFile(e, log4cpp::Category::getInstance(SHIBSP_LOGCAT".AccessControl")), m_rootAuthz(NULL) {\r
+                : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT".AccessControl")), m_rootAuthz(NULL) {\r
             load(); // guarantees an exception or the policy is loaded\r
         }\r
         \r
index 2af0e2c..9119623 100644 (file)
@@ -35,7 +35,6 @@
 \r
 using namespace shibsp;\r
 using namespace xmltooling;\r
-using namespace log4cpp;\r
 using namespace std;\r
 \r
 namespace shibsp {\r
index 9e965b3..dce4b54 100644 (file)
 #include "util/DOMPropertySet.h"
 #include "util/SPConstants.h"
 
-#include <log4cpp/Category.hh>
-#include <log4cpp/PropertyConfigurator.hh>
+#if defined(XMLTOOLING_LOG4SHIB)
+# include <log4shib/PropertyConfigurator.hh>
+#elif defined(XMLTOOLING_LOG4CPP)
+# include <log4cpp/PropertyConfigurator.hh>
+#else
+# error "Supported logging library not available."
+#endif
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/util/NDC.h>
@@ -64,7 +69,6 @@ using namespace opensaml;
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 
 namespace {
index b609431..e10017b 100644 (file)
@@ -43,6 +43,9 @@
 #include "base.h"
 #include "SPConfig.h"
 
+#include <xmltooling/logging.h>
+
+using namespace xmltooling::logging;
 using namespace xercesc;
 
 namespace shibsp {
index 2c40905..20ab9b5 100644 (file)
 #include "ServiceProvider.h"
 #include "remoting/ListenerService.h"
 
-#include <log4cpp/Category.hh>
 #include <xercesc/dom/DOM.hpp>
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace xercesc;
 using namespace std;
 
index c67958e..66ebeb8 100644 (file)
@@ -36,7 +36,6 @@
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace std;
 using xercesc::DOMElement;
 
index 1c9d612..4544e36 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <shibsp/remoting/ListenerService.h>
 
-#include <log4cpp/Category.hh>
 #include <xercesc/dom/DOM.hpp>
+#include <xmltooling/logging.h>
 #include <xmltooling/util/Threads.h>
 
 #ifdef WIN32
@@ -71,7 +71,7 @@ namespace shibsp {
 
     protected:
         bool log_error() const; // for OS-level errors
-        log4cpp::Category* log;
+        xmltooling::logging::Category* log;
         /// @endcond
     
     private:
index 1d7a6ac..9ec04bb 100644 (file)
@@ -61,7 +61,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xmltooling-lite1D.lib wsock32.lib"\r
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib xmltooling-lite1D.lib wsock32.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName)1_0D.dll"\r
                                LinkIncremental="2"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xmltooling-lite1.lib wsock32.lib"\r
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib xmltooling-lite1.lib wsock32.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName)1_0.dll"\r
                                LinkIncremental="1"\r
                                AdditionalLibraryDirectories="..\..\cpp-xmltooling\$(ConfigurationName)"\r
index 854f322..d700794 100644 (file)
@@ -61,7 +61,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xsec_1D.lib saml2D.lib xmltooling1D.lib wsock32.lib"\r
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib xsec_1D.lib saml2D.lib xmltooling1D.lib wsock32.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName)1_0D.dll"\r
                                LinkIncremental="2"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xsec_1.lib saml2.lib xmltooling1.lib wsock32.lib"\r
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib xsec_1.lib saml2.lib xmltooling1.lib wsock32.lib"\r
                                OutputFile="$(OutDir)\$(ProjectName)1_0.dll"\r
                                LinkIncremental="1"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
index 3f45ad6..7735172 100644 (file)
@@ -29,7 +29,6 @@
 
 using namespace shibsp;
 using namespace xmltooling;
-using namespace log4cpp;
 using namespace xercesc;
 using namespace std;
 
index 8777bb1..b94a703 100644 (file)
@@ -24,7 +24,7 @@
 #define __shibsp_dompropset_h__
 
 #include <shibsp/util/PropertySet.h>
-#include <log4cpp/Category.hh>
+#include <xmltooling/logging.h>
 
 namespace shibsp {
 
@@ -67,7 +67,7 @@ namespace shibsp {
          */
         void load(
             const xercesc::DOMElement* e,
-            log4cpp::Category& log,
+            xmltooling::logging::Category& log,
             xercesc::DOMNodeFilter* filter,
             const std::map<std::string,std::string>* remapper=NULL
             );
index a6085fb..48ba614 100644 (file)
@@ -67,7 +67,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wsock32.lib log4cpp.lib saml2.lib xmltooling1.lib xerces-c_2.lib"\r
+                               AdditionalDependencies="wsock32.lib log4shib1.lib saml2.lib xmltooling1.lib xerces-c_2.lib"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="true"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wsock32.lib log4cppD.lib saml2D.lib xmltooling1D.lib xerces-c_2D.lib"\r
+                               AdditionalDependencies="wsock32.lib log4shib1D.lib saml2D.lib xmltooling1D.lib xerces-c_2D.lib"\r
                                LinkIncremental="2"\r
                                SuppressStartupBanner="true"\r
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"\r
index 9017c9f..7f4c741 100644 (file)
    Scott Cantor
    5/12/03
 
-   $Id$
+   $Id:siterefresh.cpp 2252 2007-05-20 20:20:57Z cantor $
 */
 
 #include <saml/SAMLConfig.h>
 #include <saml/saml2/metadata/Metadata.h>
 #include <saml/util/SAMLConstants.h>
+#include <xmltooling/logging.h>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <fstream>
-#include <log4cpp/Category.hh>
-#include <log4cpp/OstreamAppender.hh>
+#if defined(XMLTOOLING_LOG4SHIB)
+# include <log4shib/OstreamAppender.hh>
+#elif defined(XMLTOOLING_LOG4CPP)
+# include <log4cpp/OstreamAppender.hh>
+#endif
 #include <xercesc/framework/URLInputSource.hpp>
 #include <xercesc/framework/StdInInputSource.hpp>
 #include <xercesc/framework/Wrapper4InputSource.hpp>
 
 using namespace xmlsignature;
 using namespace xmlconstants;
+using namespace xmltooling::logging;
 using namespace xmltooling;
 using namespace samlconstants;
 using namespace opensaml::saml2md;
 using namespace opensaml;
 using namespace xercesc;
-using namespace log4cpp;
 using namespace std;
 
 void verifySignature(DOMDocument* doc, DOMNode* sigNode, const char* cert=NULL)
index 773bd95..e17628f 100644 (file)
@@ -72,7 +72,7 @@
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cpp.lib xerces-c_2.lib xsec_1.lib saml2.lib xmltooling1.lib"
+                               AdditionalDependencies="log4shib1.lib xerces-c_2.lib xsec_1.lib saml2.lib xmltooling1.lib"
                                LinkIncremental="1"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="log4cppD.lib xerces-c_2D.lib xsec_1D.lib saml2D.lib xmltooling1D.lib"
+                               AdditionalDependencies="log4shib1D.lib xerces-c_2D.lib xsec_1D.lib saml2D.lib xmltooling1D.lib"
                                LinkIncremental="2"
                                SuppressStartupBanner="true"
                                AdditionalLibraryDirectories="..\..\cpp-opensaml2\$(ConfigurationName);..\..\cpp-xmltooling\$(ConfigurationName)"