summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2014-07-16 17:02:01 +0200
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2014-07-17 10:39:35 +0200
commit89361fa68af9a6854dc3a07711279f27561ea8fb (patch)
tree2229a017e268aa372ee7b2de2e3e071646d060ed
parenta95934d8dbd91e3c6250578171483859cb11f3c2 (diff)
fdo#72277: don't build and use nsspem when building against system curl
System CURL will know how to get the CA bundle from the system openSSL. There is no need to have internal NSS CA database support. Change-Id: Ie5074c78f7d78b2c2f452d4d4e11c98222529883
-rw-r--r--RepositoryExternal.mk3
-rw-r--r--external/nss/ExternalPackage_nss.mk19
-rw-r--r--external/nss/UnpackedTarball_nss.mk8
-rw-r--r--ucb/source/ucp/cmis/cmis_content.cxx4
-rw-r--r--ucb/source/ucp/cmis/cmis_repo_content.cxx4
5 files changed, 34 insertions, 4 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 39ca2d852c27..b0747f18cb0b 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2472,6 +2472,9 @@ endif # !SYSTEM_LIBPNG
ifneq ($(SYSTEM_CURL),)
define gb_LinkTarget__use_curl
+$(call gb_LinkTarget_add_defs,$(1),\
+ -DSYSTEM_CURL \
+)
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
$(CURL_CFLAGS) \
diff --git a/external/nss/ExternalPackage_nss.mk b/external/nss/ExternalPackage_nss.mk
index fcbca816986f..26f923979d63 100644
--- a/external/nss/ExternalPackage_nss.mk
+++ b/external/nss/ExternalPackage_nss.mk
@@ -18,7 +18,6 @@ $(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
dist/out/lib/libnss3.dylib \
dist/out/lib/libnssckbi.dylib \
dist/out/lib/libnssdbm3.dylib \
- dist/out/lib/libnsspem.dylib \
dist/out/lib/libnssutil3.dylib \
dist/out/lib/libplc4.dylib \
dist/out/lib/libplds4.dylib \
@@ -34,7 +33,6 @@ $(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
dist/out/lib/nss3.dll \
dist/out/lib/nssckbi.dll \
dist/out/lib/nssdbm3.dll \
- dist/out/lib/nsspem.dll \
dist/out/lib/nssutil3.dll \
dist/out/lib/plc4.dll \
dist/out/lib/plds4.dll \
@@ -50,7 +48,6 @@ $(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
dist/out/lib/libnss3.so \
dist/out/lib/libnssckbi.so \
dist/out/lib/libnssdbm3.so \
- dist/out/lib/libnsspem.so \
dist/out/lib/libnssutil3.so \
dist/out/lib/libplc4.so \
dist/out/lib/libplds4.so \
@@ -61,4 +58,20 @@ $(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
))
endif
+ifeq ($(SYSTEM_CURL),)
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
+ dist/out/lib/libnsspem.dylib \
+))
+else ifeq ($(OS),WNT)
+$(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
+ dist/out/lib/nsspem.dll \
+))
+else # OS!=WNT/MACOSX
+$(eval $(call gb_ExternalPackage_add_files,nss,$(LIBO_LIB_FOLDER),\
+ dist/out/lib/libnsspem.so \
+))
+endif
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk
index bafe3b5f9415..11839c4e624a 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -18,7 +18,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
external/nss/nss_macosx.patch \
external/nss/nss-linux-x86.patch.0 \
external/nss/nss-win32-make.patch.1 \
- external/nss/nss-pem.patch \
$(if $(filter WNTMSC,$(OS)$(COM)),external/nss/nss.windows.patch) \
$(if $(filter WNTGCC,$(OS)$(COM)),external/nss/nspr-4.9-build.patch.3 \
external/nss/nss-3.13.3-build.patch.3 \
@@ -26,6 +25,13 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
external/nss/nspr-build-config.patch \
))
+# nss-pem is only needed for internal curl to read the NSS CA database
+ifeq ($(SYSTEM_CURL),)
+$(eval $(call gb_UnpackedTarball_add_patches,nss,\
+ external/nss/nss-pem.patch \
+))
+endif
+
ifeq ($(COM_GCC_IS_CLANG)$(filter -fsanitize=address,$(CC)),TRUE-fsanitize=address)
$(eval $(call gb_UnpackedTarball_add_patches,nss,\
external/nss/asan.patch.1 \
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx
index 5b817485e7a7..7cd9d3e7170f 100644
--- a/ucb/source/ucp/cmis/cmis_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_content.cxx
@@ -32,10 +32,12 @@
#include <com/sun/star/ucb/UnsupportedOpenModeException.hpp>
#include <com/sun/star/ucb/XCommandInfo.hpp>
#include <com/sun/star/ucb/XDynamicResultSet.hpp>
+#ifndef SYSTEM_CURL
#include <com/sun/star/xml/crypto/XDigestContext.hpp>
#include <com/sun/star/xml/crypto/XDigestContextSupplier.hpp>
#include <com/sun/star/xml/crypto/DigestID.hpp>
#include <com/sun/star/xml/crypto/NSSInitializer.hpp>
+#endif
#include <comphelper/processfactory.hxx>
#include <config_oauth2.h>
@@ -276,6 +278,7 @@ namespace cmis
if ( NULL == m_pSession )
{
+#ifndef SYSTEM_CURL
// Initialize NSS library to make sure libcmis (and curl) can access CACERTs using NSS
// when using internal libcurl.
uno::Reference< com::sun::star::xml::crypto::XNSSInitializer >
@@ -285,6 +288,7 @@ namespace cmis
xNSSInitializer->getDigestContext( com::sun::star::xml::crypto::DigestID::SHA256,
uno::Sequence< beans::NamedValue >() ),
uno::UNO_SET_THROW );
+#endif
// Set the SSL Validation handler
libcmis::CertValidationHandlerPtr certHandler(
diff --git a/ucb/source/ucp/cmis/cmis_repo_content.cxx b/ucb/source/ucp/cmis/cmis_repo_content.cxx
index 3adc2b34e0b9..4d2504978388 100644
--- a/ucb/source/ucp/cmis/cmis_repo_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_repo_content.cxx
@@ -15,10 +15,12 @@
#include <com/sun/star/ucb/XCommandInfo.hpp>
#include <com/sun/star/ucb/XDynamicResultSet.hpp>
#include <com/sun/star/ucb/XProgressHandler.hpp>
+#ifndef SYSTEM_CURL
#include <com/sun/star/xml/crypto/XDigestContext.hpp>
#include <com/sun/star/xml/crypto/XDigestContextSupplier.hpp>
#include <com/sun/star/xml/crypto/DigestID.hpp>
#include <com/sun/star/xml/crypto/NSSInitializer.hpp>
+#endif
#include <comphelper/processfactory.hxx>
#include <config_oauth2.h>
@@ -124,6 +126,7 @@ namespace cmis
void RepoContent::getRepositories( const uno::Reference< ucb::XCommandEnvironment > & xEnv )
{
+#ifndef SYSTEM_CURL
// Initialize NSS library to make sure libcmis (and curl) can access CACERTs using NSS
// when using internal libcurl.
uno::Reference< com::sun::star::xml::crypto::XNSSInitializer >
@@ -133,6 +136,7 @@ namespace cmis
xNSSInitializer->getDigestContext( com::sun::star::xml::crypto::DigestID::SHA256,
uno::Sequence< beans::NamedValue >() ),
uno::UNO_SET_THROW );
+#endif
// Set the proxy if needed. We are doing that all times as the proxy data shouldn't be cached.
ucbhelper::InternetProxyDecider aProxyDecider( m_xContext );