mozilla-shared-nss-db.patch
changeset 125 bfef1af1ee28
parent 1 045edd78eceb
child 164 995e803e8198
--- a/mozilla-shared-nss-db.patch	Wed Aug 11 09:42:33 2010 +0200
+++ b/mozilla-shared-nss-db.patch	Wed Aug 11 10:17:01 2010 +0200
@@ -7,7 +7,7 @@
 diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
 --- a/config/autoconf.mk.in
 +++ b/config/autoconf.mk.in
-@@ -548,16 +548,20 @@ MOZ_ENABLE_LIBNOTIFY	= @MOZ_ENABLE_LIBNO
+@@ -560,16 +560,20 @@ MOZ_ALSA_LIBS           = @MOZ_ALSA_LIBS
  
  GLIB_CFLAGS	= @GLIB_CFLAGS@
  GLIB_LIBS	= @GLIB_LIBS@
@@ -25,27 +25,27 @@
  MOZ_AUTO_DEPS	= @MOZ_AUTO_DEPS@
  COMPILER_DEPEND = @COMPILER_DEPEND@
  MDDEPDIR        := @MDDEPDIR@
- 
- MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@
+ CC_WRAPPER = @CC_WRAPPER@
+ CXX_WRAPPER = @CXX_WRAPPER@
  
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -7756,16 +7756,31 @@ AC_SUBST(MOZ_CAIRO_LIBS)
+@@ -8452,16 +8452,31 @@ AC_SUBST(QCMS_LIBS)
  
- dnl qcms
  dnl ========================================================
- 
- QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFIX)mozqcms.$(LIB_SUFFIX)'
- AC_SUBST(QCMS_LIBS)
+ dnl HarfBuzz
+ dnl ========================================================
+ MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
+ AC_SUBST(MOZ_HARFBUZZ_LIBS)
  
  dnl ========================================================
 +dnl Check for nss-shared-helper
 +dnl ========================================================
 +
 +  PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper, 
-+   [MOZ_ENABLE_NSSHELPER=1],
-+   [MOZ_ENABLE_NSSHELPER=])
++    [MOZ_ENABLE_NSSHELPER=1],
++    [MOZ_ENABLE_NSSHELPER=])
 +
 +if test "$MOZ_ENABLE_NSSHELPER"; then
 +  AC_DEFINE(MOZ_ENABLE_NSSHELPER)
@@ -66,8 +66,8 @@
 diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
 --- a/security/manager/ssl/src/Makefile.in
 +++ b/security/manager/ssl/src/Makefile.in
-@@ -133,19 +133,20 @@ REQUIRES	= nspr \
- 		  $(NULL)
+@@ -112,19 +112,20 @@ CSRCS += md4.c
+ 
  
  EXTRA_DEPS = $(NSS_DEP_LIBS)
  
@@ -115,30 +115,34 @@
  
  #include "nsNetUtil.h"
  #include "nsAppDirectoryServiceDefs.h"
-@@ -1600,17 +1607,31 @@ nsNSSComponent::InitializeNSS(PRBool sho
-     // The call to ConfigureInternalPKCS11Token needs to be done before NSS is initialized, 
-     // but affects only static data.
-     // If we could assume i18n will not change between profiles, one call per application
-     // run were sufficient. As I can't predict what happens in the future, let's repeat
-     // this call for every re-init of NSS.
- 
+@@ -1647,18 +1654,34 @@ nsNSSComponent::InitializeNSS(PRBool sho
      ConfigureInternalPKCS11Token();
  
--    SECStatus init_rv = ::NSS_InitReadWrite(profileStr.get());
+     // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
+     // module by NSS_Initialize because we will load it in InstallLoadableRoots
+     // later.  It also allows us to work around a bug in the system NSS in
+     // Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
+     // "/usr/lib/nss/libnssckbi.so".
+     PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
+-    SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
+-                                         SECMOD_DB, init_flags);
 +    SECStatus init_rv = SECFailure;
 +#ifdef MOZ_ENABLE_NSSHELPER
 +    if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
-+      init_rv = ::NSS_InitReadWrite(profileStr.get());
++      init_rv = ::NSS_Initialize(profileStr.get(), "", "",
++                                 SECMOD_DB, init_flags);
 +    } else {
-+      init_rv = ::nsshelp_open_db ("mozilla-xul", profileStr.get(), 0);
++      init_rv = ::nsshelp_open_db ("mozilla-xul", profileStr.get(), init_flags);
 +
 +      if (init_rv != SECSuccess) {
 +        PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
-+        init_rv = ::NSS_InitReadWrite(profileStr.get());
++        init_rv = ::NSS_Initialize(profileStr.get(), "", "",
++                                   SECMOD_DB, init_flags);
 +      }
 +    }
 +#else
-+    init_rv = ::NSS_InitReadWrite(profileStr.get());
++    init_rv = ::NSS_Initialize(profileStr.get(), "", "",
++                               SECMOD_DB, init_flags);
 +#endif
  
      if (init_rv != SECSuccess) {
@@ -151,7 +155,7 @@
 diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
 --- a/toolkit/library/Makefile.in
 +++ b/toolkit/library/Makefile.in
-@@ -189,17 +189,17 @@ else
+@@ -169,17 +169,17 @@ ifndef MOZ_ENABLE_LIBXUL
  EXTRA_DSO_LDOPTS += \
  	$(MOZ_COMPONENT_LIBS) \
  	$(MOZ_JS_LIBS) \
@@ -160,12 +164,12 @@
  
  DEFINES += -DIMPL_XREAPI
  
--EXTRA_DSO_LDOPTS += $(NSPR_LIBS)
-+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(NSSHELPER_LIBS)
+-EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB)
++EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS)
  
  ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
  CXXFLAGS	+= $(TK_CFLAGS)
- EXTRA_DSO_LDOPTS += \
+ OS_LIBS += \
  	-framework SystemConfiguration \
  	-framework QuickTime \
  	-framework IOKit \