Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 116231 | Differences between
and this patch

Collapse All | Expand All

(-)mozilla/configure.in (+42 lines)
Lines 86-91 Link Here
86
MOZPNG=10207
86
MOZPNG=10207
87
MOZZLIB=1.2.3
87
MOZZLIB=1.2.3
88
NSPR_VERSION=4
88
NSPR_VERSION=4
89
NSS_VERSION=3
89
90
90
dnl Set the minimum version of toolkit libs used by mozilla
91
dnl Set the minimum version of toolkit libs used by mozilla
91
dnl ========================================================
92
dnl ========================================================
Lines 3558-3563 Link Here
3558
    fi
3559
    fi
3559
fi
3560
fi
3560
3561
3562
dnl ========================================================
3563
dnl = If NSS was not detected in the system, 
3564
dnl = use the one in the source tree (mozilla/security/nss)
3565
dnl ========================================================
3566
3567
MOZ_ARG_WITH_BOOL(system-nss,
3568
[  --with-system-nss      Use system installed NSS],
3569
    _USE_SYSTEM_NSS=1 )
3570
3571
if test -n "$_USE_SYSTEM_NSS"; then
3572
    AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
3573
fi
3574
3575
if test -n "$MOZ_NATIVE_NSS"; then
3576
   NSS_LIBS="$NSS_LIBS -lcrmf"
3577
else
3578
   NSS_CFLAGS='-I$(DIST)/public/nss'
3579
   NSS_DEP_LIBS='\\\
3580
        $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \\\
3581
        $(DIST)/lib/$(DLL_PREFIX)smime'$NSS_VERSION'$(DLL_SUFFIX) \\\
3582
        $(DIST)/lib/$(DLL_PREFIX)ssl'$NSS_VERSION'$(DLL_SUFFIX) \\\
3583
        $(DIST)/lib/$(DLL_PREFIX)nss'$NSS_VERSION'$(DLL_SUFFIX) \\\
3584
        $(DIST)/lib/$(DLL_PREFIX)softokn'$NSS_VERSION'$(DLL_SUFFIX)'
3585
3586
   if test -z "$GNU_CC" && test "$OS_ARCH" = "WINNT" -o "$OS_ARCH" = "WINCE" -o "$OS_ARCH" = "OS2"; then
3587
       NSS_LIBS='\\\
3588
        $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \\\
3589
        $(DIST)/lib/$(DLL_PREFIX)smime'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\
3590
        $(DIST)/lib/$(DLL_PREFIX)ssl'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\
3591
        $(DIST)/lib/$(DLL_PREFIX)nss'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\
3592
        $(DIST)/lib/$(DLL_PREFIX)softokn'$NSS_VERSION'$(IMPORT_LIB_SUFFIX)'
3593
   else
3594
       NSS_LIBS='-L$(LIBS_DIR)'" -lcrmf -lsmime$NSS_VERSION -lssl$NSS_VERSION -lnss$NSS_VERSION -lsoftokn$NSS_VERSION"
3595
   fi
3596
fi
3597
3561
if test -z "$SKIP_LIBRARY_CHECKS"; then
3598
if test -z "$SKIP_LIBRARY_CHECKS"; then
3562
dnl system JPEG support
3599
dnl system JPEG support
3563
dnl ========================================================
3600
dnl ========================================================
Lines 7002-7007 Link Here
7002
AC_SUBST(NSPR_LIBS)
7039
AC_SUBST(NSPR_LIBS)
7003
AC_SUBST(MOZ_NATIVE_NSPR)
7040
AC_SUBST(MOZ_NATIVE_NSPR)
7004
7041
7042
AC_SUBST(NSS_CFLAGS)
7043
AC_SUBST(NSS_LIBS)
7044
AC_SUBST(NSS_DEP_LIBS)
7045
AC_SUBST(MOZ_NATIVE_NSS)
7046
7005
AC_SUBST(CFLAGS)
7047
AC_SUBST(CFLAGS)
7006
AC_SUBST(CXXFLAGS)
7048
AC_SUBST(CXXFLAGS)
7007
AC_SUBST(CPPFLAGS)
7049
AC_SUBST(CPPFLAGS)
(-)mozilla/aclocal.m4 (+1 lines)
Lines 8-13 Link Here
8
builtin(include, build/autoconf/libIDL.m4)dnl
8
builtin(include, build/autoconf/libIDL.m4)dnl
9
builtin(include, build/autoconf/libIDL-2.m4)dnl
9
builtin(include, build/autoconf/libIDL-2.m4)dnl
10
builtin(include, build/autoconf/nspr.m4)dnl
10
builtin(include, build/autoconf/nspr.m4)dnl
11
builtin(include, build/autoconf/nss.m4)dnl
11
builtin(include, build/autoconf/libart.m4)dnl
12
builtin(include, build/autoconf/libart.m4)dnl
12
builtin(include, build/autoconf/pkg.m4)dnl
13
builtin(include, build/autoconf/pkg.m4)dnl
13
builtin(include, build/autoconf/freetype2.m4)dnl
14
builtin(include, build/autoconf/freetype2.m4)dnl
(-)mozilla/config/autoconf.mk.in (+6 lines)
Lines 236-241 Link Here
236
MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
236
MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
237
237
238
MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
238
MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
239
MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
239
240
240
CROSS_COMPILE   = @CROSS_COMPILE@
241
CROSS_COMPILE   = @CROSS_COMPILE@
241
242
Lines 391-396 Link Here
391
NSPR_CFLAGS	= @NSPR_CFLAGS@
392
NSPR_CFLAGS	= @NSPR_CFLAGS@
392
NSPR_LIBS	= @NSPR_LIBS@
393
NSPR_LIBS	= @NSPR_LIBS@
393
394
395
NSS_CONFIG	= @NSS_CONFIG@
396
NSS_CFLAGS	= @NSS_CFLAGS@
397
NSS_LIBS	= @NSS_LIBS@
398
NSS_DEP_LIBS	= @NSS_DEP_LIBS@
399
394
LDAP_CFLAGS	= @LDAP_CFLAGS@
400
LDAP_CFLAGS	= @LDAP_CFLAGS@
395
LDAP_LIBS	= @LDAP_LIBS@
401
LDAP_LIBS	= @LDAP_LIBS@
396
XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
402
XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
(-)mozilla/config/config.mk (-33 lines)
Lines 136-174 Link Here
136
FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
136
FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
137
FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
137
FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
138
138
139
# 
140
# NSS libs needed for final link in static build
141
# 
142
143
NSS_LIBS	= \
144
	$(LIBS_DIR) \
145
	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
146
	-lsmime3 \
147
	-lssl3 \
148
	-lnss3 \
149
	-lsoftokn3 \
150
	$(NULL)
151
152
ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
153
ifndef GNU_CC
154
NSS_LIBS	= \
155
	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
156
	$(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
157
	$(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
158
	$(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
159
	$(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
160
	$(NULL)
161
endif
162
endif
163
164
NSS_DEP_LIBS	= \
165
	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
166
	$(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
167
	$(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
168
	$(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
169
	$(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
170
	$(NULL)
171
172
MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
139
MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
173
MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
140
MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
174
MOZ_WIDGET_SUPPORT_LIBS    = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
141
MOZ_WIDGET_SUPPORT_LIBS    = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
(-)mozilla/build/autoconf/nss.m4 (+67 lines)
Added Link Here
1
# -*- tab-width: 4; -*-
2
# Configure paths for NSS
3
# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05
4
# Based upon gtk.m4 (also PD) by Owen Taylor
5
6
dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
7
dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
8
AC_DEFUN(AM_PATH_NSS,
9
[dnl
10
11
AC_ARG_WITH(nss-prefix,
12
	[  --with-nss-prefix=PFX  Prefix where NSS is installed],
13
	nss_config_prefix="$withval",
14
	nss_config_prefix="")
15
16
AC_ARG_WITH(nss-exec-prefix,
17
	[  --with-nss-exec-prefix=PFX
18
                          Exec prefix where NSS is installed],
19
	nss_config_exec_prefix="$withval",
20
	nss_config_exec_prefix="")
21
22
	if test -n "$nss_config_exec_prefix"; then
23
		nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
24
		if test -z "$NSS_CONFIG"; then
25
			NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
26
		fi
27
	fi
28
	if test -n "$nss_config_prefix"; then
29
		nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
30
		if test -z "$NSS_CONFIG"; then
31
			NSS_CONFIG=$nss_config_prefix/bin/nss-config
32
		fi
33
	fi
34
35
	unset ac_cv_path_NSS_CONFIG
36
	AC_PATH_PROG(NSS_CONFIG, nss-config, no)
37
	min_nss_version=ifelse([$1], ,3.0.0,$1)
38
	AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
39
40
	no_nss=""
41
	if test "$NSS_CONFIG" = "no"; then
42
		no_nss="yes"
43
	else
44
		NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
45
		NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
46
47
		dnl Skip version check for now
48
		nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
49
			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
50
		nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
51
			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
52
		nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
53
			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
54
	fi
55
56
	if test -z "$no_nss"; then
57
		AC_MSG_RESULT(yes)
58
		ifelse([$2], , :, [$2])     
59
	else
60
		AC_MSG_RESULT(no)
61
	fi
62
63
64
	AC_SUBST(NSS_CFLAGS)
65
	AC_SUBST(NSS_LIBS)
66
67
])
(-)mozilla/security/manager/Makefile.in (+16 lines)
Lines 46-51 Link Here
46
MODULE = psm
46
MODULE = psm
47
47
48
PACKAGE_FILE = psm.pkg
48
PACKAGE_FILE = psm.pkg
49
50
ifndef MOZ_NATIVE_NSS
49
PACKAGE_VARS += \
51
PACKAGE_VARS += \
50
	NSS3_LIB \
52
	NSS3_LIB \
51
	SMIME3_LIB \
53
	SMIME3_LIB \
Lines 57-62 Link Here
57
	$(NULL)
59
	$(NULL)
58
60
59
LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
61
LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
62
endif
60
63
61
NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
64
NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
62
SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
65
SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
Lines 150-155 Link Here
150
export:: .nss.cleaned
153
export:: .nss.cleaned
151
154
152
.nss.cleaned: .nss.checkout
155
.nss.cleaned: .nss.checkout
156
ifndef MOZ_NATIVE_NSS
153
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
157
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
154
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
158
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
155
ifndef SKIP_CHK
159
ifndef SKIP_CHK
Lines 157-165 Link Here
157
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
161
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
158
endif
162
endif
159
	touch $@
163
	touch $@
164
endif
160
165
161
.nss.checkout:
166
.nss.checkout:
167
ifndef MOZ_NATIVE_NSS
162
	touch $(srcdir)/$@
168
	touch $(srcdir)/$@
169
endif
163
170
164
dependclean export packages chrome::
171
dependclean export packages chrome::
165
	$(MAKE) -C boot $@
172
	$(MAKE) -C boot $@
Lines 170-181 Link Here
170
endif
177
endif
171
178
172
libs::
179
libs::
180
ifndef MOZ_NATIVE_NSS
173
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
181
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
182
endif
174
ifeq ($(OS_ARCH),WINNT)
183
ifeq ($(OS_ARCH),WINNT)
175
	cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
184
	cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
176
else
185
else
177
	cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
186
	cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
178
endif
187
endif
188
ifndef MOZ_NATIVE_NSS
179
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
189
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
180
ifndef SKIP_CHK
190
ifndef SKIP_CHK
181
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
191
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
Lines 195-200 Link Here
195
	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin
205
	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin
196
	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
206
	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
197
endif
207
endif
208
endif
198
	$(MAKE) -C boot $@
209
	$(MAKE) -C boot $@
199
	$(MAKE) -C ssl $@
210
	$(MAKE) -C ssl $@
200
	$(MAKE) -C locales $@
211
	$(MAKE) -C locales $@
Lines 203-208 Link Here
203
endif
214
endif
204
215
205
install::
216
install::
217
ifndef MOZ_NATIVE_NSS
206
	$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
218
	$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
207
ifndef SKIP_CHK
219
ifndef SKIP_CHK
208
	$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
220
	$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
Lines 217-222 Link Here
217
	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
229
	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
218
	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
230
	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
219
endif
231
endif
232
endif
220
	$(MAKE) -C boot $@
233
	$(MAKE) -C boot $@
221
	$(MAKE) -C ssl $@
234
	$(MAKE) -C ssl $@
222
	$(MAKE) -C locales $@
235
	$(MAKE) -C locales $@
Lines 231-245 Link Here
231
ifdef MOZ_XUL
244
ifdef MOZ_XUL
232
	$(MAKE) -C pki $@
245
	$(MAKE) -C pki $@
233
endif
246
endif
247
ifndef MOZ_NATIVE_NSS
234
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
248
	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
235
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
249
	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
236
ifndef SKIP_CHK
250
ifndef SKIP_CHK
237
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
251
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
238
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
252
	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
239
endif
253
endif
254
endif
240
255
241
echo-requires-recursive::
256
echo-requires-recursive::
242
	$(MAKE) -C boot $@
257
	$(MAKE) -C boot $@
243
	$(MAKE) -C ssl $@
258
	$(MAKE) -C ssl $@
244
	$(MAKE) -C pki $@
259
	$(MAKE) -C pki $@
245
	$(MAKE) -C locales $@
260
	$(MAKE) -C locales $@
261
(-)mozilla/security/manager/ssl/src/Makefile.in (-2 / +1 lines)
Lines 123-130 Link Here
123
123
124
# Use local includes because they are inserted before INCLUDES
124
# Use local includes because they are inserted before INCLUDES
125
# so that Mozilla's nss.h is used, not glibc's
125
# so that Mozilla's nss.h is used, not glibc's
126
LOCAL_INCLUDES += -I$(DIST)/public/nss \
126
LOCAL_INCLUDES = $(NSS_CFLAGS)
127
                  $(NULL)
128
127
129
EXTRA_DSO_LDOPTS += \
128
EXTRA_DSO_LDOPTS += \
130
		$(MOZ_UNICHARUTIL_LIBS) \
129
		$(MOZ_UNICHARUTIL_LIBS) \
(-)mozilla/security/manager/ssl/src/nsNSSComponent.cpp (-30 / +24 lines)
Lines 485-498 Link Here
485
}
485
}
486
486
487
487
488
#ifdef XP_MAC
489
#ifdef DEBUG
490
#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
491
#else
492
#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
493
#endif /*DEBUG*/ 
494
#endif /*XP_MAC*/
495
496
static void setOCSPOptions(nsIPrefBranch * pref);
488
static void setOCSPOptions(nsIPrefBranch * pref);
497
489
498
NS_IMETHODIMP
490
NS_IMETHODIMP
Lines 686-725 Link Here
686
678
687
    const char *possible_ckbi_locations[] = {
679
    const char *possible_ckbi_locations[] = {
688
      NS_GRE_DIR,
680
      NS_GRE_DIR,
689
      NS_XPCOM_CURRENT_PROCESS_DIR
681
      NS_XPCOM_CURRENT_PROCESS_DIR,
682
      0 // This special value means: 
683
        //   search for ckbi in the directories on the shared
684
        //   library/DLL search path
690
    };
685
    };
691
    
686
692
    for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
687
    for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
693
      nsCOMPtr<nsILocalFile> mozFile;
688
      nsCOMPtr<nsILocalFile> mozFile;
694
      directoryService->Get( possible_ckbi_locations[il],
689
      char *fullModuleName = nsnull;
695
                             NS_GET_IID(nsILocalFile), 
690
696
                             getter_AddRefs(mozFile));
691
      if (!possible_ckbi_locations[il])
692
      {
693
        fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
694
      }
695
      else
696
      {
697
        directoryService->Get( possible_ckbi_locations[il],
698
                               NS_GET_IID(nsILocalFile), 
699
                               getter_AddRefs(mozFile));
697
    
700
    
698
      if (!mozFile) {
701
        if (!mozFile) {
699
        continue;
702
          continue;
703
        }
704
705
        nsCAutoString processDir;
706
        mozFile->GetNativePath(processDir);
707
        fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
700
      }
708
      }
701
709
702
      char *fullModuleName = nsnull;
703
#ifdef XP_MAC
704
      nsCAutoString nativePath;
705
      mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
706
      mozFile->AppendNative(LOADABLE_CERTS_MODULE);
707
      mozFile->GetNativePath(nativePath);    
708
      fullModuleName = (char *) nativePath.get();
709
#else
710
      nsCAutoString processDir;
711
      mozFile->GetNativePath(processDir);
712
      fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
713
#endif
714
      /* If a module exists with the same name, delete it. */
710
      /* If a module exists with the same name, delete it. */
715
      NS_ConvertUCS2toUTF8 modNameUTF8(modName);
711
      NS_ConvertUCS2toUTF8 modNameUTF8(modName);
716
      int modType;
712
      int modType;
717
      SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
713
      SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
718
      SECStatus rv_add = 
714
      SECStatus rv_add = 
719
        SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
715
        SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
720
#ifndef XP_MAC
716
      PR_FreeLibraryName(fullModuleName); // allocated by NSPR
721
      PR_Free(fullModuleName); // allocated by NSPR
722
#endif
723
      if (SECSuccess == rv_add) {
717
      if (SECSuccess == rv_add) {
724
        // found a module, no need to try other directories
718
        // found a module, no need to try other directories
725
        break;
719
        break;

Return to bug 116231