diff options
Diffstat (limited to 'xmlsecurity')
-rw-r--r-- | xmlsecurity/Library_xsec_xmlsec.mk | 8 | ||||
-rw-r--r-- | xmlsecurity/inc/xmlsec-wrapper.h | 2 | ||||
-rw-r--r-- | xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/xmlsecurity/Library_xsec_xmlsec.mk b/xmlsecurity/Library_xsec_xmlsec.mk index d35bc848930e..41f6d81e169e 100644 --- a/xmlsecurity/Library_xsec_xmlsec.mk +++ b/xmlsecurity/Library_xsec_xmlsec.mk @@ -46,12 +46,16 @@ $(eval $(call gb_Library_use_libraries,xsec_xmlsec,\ xo \ )) +ifeq ($(SYSTEM_XMLSEC),) $(eval $(call gb_Library_use_packages,xsec_xmlsec,\ xmlsec \ )) +endif + $(eval $(call gb_Library_use_externals,xsec_xmlsec,\ boost_headers \ libxml2 \ + xmlsec \ )) ifneq ($(filter-out WNT MACOSX ANDROID IOS,$(OS)),) $(eval $(call gb_Library_use_externals,xsec_xmlsec,\ @@ -128,12 +132,16 @@ $(eval $(call gb_Library_add_libs,xsec_xmlsec,\ $(call gb_UnpackedTarball_get_dir,xmlsec)/src/.libs/libxmlsec1.a \ )) else + +ifeq ($(SYSTEM_XMLSEC),) $(eval $(call gb_Library_add_libs,xsec_xmlsec,\ $(call gb_UnpackedTarball_get_dir,xmlsec)/src/nss/.libs/libxmlsec1-nss.a \ $(call gb_UnpackedTarball_get_dir,xmlsec)/src/.libs/libxmlsec1.a \ )) endif +endif + $(eval $(call gb_Library_use_externals,xsec_xmlsec,\ plc4 \ )) diff --git a/xmlsecurity/inc/xmlsec-wrapper.h b/xmlsecurity/inc/xmlsec-wrapper.h index 4a8a6554311b..6047d516a9ce 100644 --- a/xmlsecurity/inc/xmlsec-wrapper.h +++ b/xmlsecurity/inc/xmlsec-wrapper.h @@ -25,7 +25,7 @@ #include <sal/types.h> // Cf. xmlsec's configure.in (but which isn't used for MSVC): -#if !defined _MSC_VER && SAL_TYPES_SIZEOFPOINTER != 4 +#if !defined _MSC_VER && SAL_TYPES_SIZEOFPOINTER != 4 && !defined SYSTEM_XMLSEC #define XMLSEC_NO_SIZE_T #endif diff --git a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx index a5b29017d180..5273c1c444d3 100644 --- a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx +++ b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx @@ -897,6 +897,7 @@ xmlSecKeysMngrPtr SecurityEnvironment_NssImpl::createKeysManager() { for (CIT_SLOTS islots = m_Slots.begin();islots != m_Slots.end(); ++islots, ++count) slots[count] = *islots; +#ifndef SYSTEM_XMLSEC xmlSecKeysMngrPtr pKeysMngr = xmlSecNssAppliedKeysMngrCreate(slots, cSlots, m_pHandler ) ; if( pKeysMngr == nullptr ) throw RuntimeException() ; @@ -930,6 +931,14 @@ xmlSecKeysMngrPtr SecurityEnvironment_NssImpl::createKeysManager() { throw RuntimeException() ; } } +#else // SYSTEM_XMLSEC + xmlSecKeysMngrPtr pKeysMngr = xmlSecKeysMngrCreate(); + if (!pKeysMngr) + throw RuntimeException(); + + if (xmlSecNssAppDefaultKeysMngrInit(pKeysMngr) < 0) + throw RuntimeException(); +#endif // SYSTEM_XMLSEC // Adopt the private key of the signing certificate, if it has any. if (auto pCertificate = dynamic_cast<X509Certificate_NssImpl*>(m_xSigningCertificate.get())) |