Annotation of /trunk/mozilla-firefox/patches/mozilla-firefox-1.5.0.11-system-nss.patch
Parent Directory | Revision Log
Revision 153 -
(hide annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 14562 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 14562 byte(s)
-import
1 | niro | 153 | Index: mozilla/configure.in |
2 | =================================================================== | ||
3 | RCS file: /cvsroot/mozilla/configure.in,v | ||
4 | retrieving revision 1.1571 | ||
5 | diff -u -r1.1571 configure.in | ||
6 | --- mozilla/configure.in 16 Dec 2005 20:55:43 -0000 1.1571 | ||
7 | +++ mozilla/configure.in 20 Dec 2005 09:31:22 -0000 | ||
8 | @@ -86,6 +86,7 @@ | ||
9 | MOZPNG=10207 | ||
10 | MOZZLIB=1.2.3 | ||
11 | NSPR_VERSION=4 | ||
12 | +NSS_VERSION=3 | ||
13 | |||
14 | dnl Set the minimum version of toolkit libs used by mozilla | ||
15 | dnl ======================================================== | ||
16 | @@ -3558,6 +3559,42 @@ | ||
17 | fi | ||
18 | fi | ||
19 | |||
20 | +dnl ======================================================== | ||
21 | +dnl = If NSS was not detected in the system, | ||
22 | +dnl = use the one in the source tree (mozilla/security/nss) | ||
23 | +dnl ======================================================== | ||
24 | + | ||
25 | +MOZ_ARG_WITH_BOOL(system-nss, | ||
26 | +[ --with-system-nss Use system installed NSS], | ||
27 | + _USE_SYSTEM_NSS=1 ) | ||
28 | + | ||
29 | +if test -n "$_USE_SYSTEM_NSS"; then | ||
30 | + AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=]) | ||
31 | +fi | ||
32 | + | ||
33 | +if test -n "$MOZ_NATIVE_NSS"; then | ||
34 | + NSS_LIBS="$NSS_LIBS -lcrmf" | ||
35 | +else | ||
36 | + NSS_CFLAGS='-I$(DIST)/public/nss' | ||
37 | + NSS_DEP_LIBS='\\\ | ||
38 | + $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \\\ | ||
39 | + $(DIST)/lib/$(DLL_PREFIX)smime'$NSS_VERSION'$(DLL_SUFFIX) \\\ | ||
40 | + $(DIST)/lib/$(DLL_PREFIX)ssl'$NSS_VERSION'$(DLL_SUFFIX) \\\ | ||
41 | + $(DIST)/lib/$(DLL_PREFIX)nss'$NSS_VERSION'$(DLL_SUFFIX) \\\ | ||
42 | + $(DIST)/lib/$(DLL_PREFIX)softokn'$NSS_VERSION'$(DLL_SUFFIX)' | ||
43 | + | ||
44 | + if test -z "$GNU_CC" && test "$OS_ARCH" = "WINNT" -o "$OS_ARCH" = "WINCE" -o "$OS_ARCH" = "OS2"; then | ||
45 | + NSS_LIBS='\\\ | ||
46 | + $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \\\ | ||
47 | + $(DIST)/lib/$(DLL_PREFIX)smime'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\ | ||
48 | + $(DIST)/lib/$(DLL_PREFIX)ssl'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\ | ||
49 | + $(DIST)/lib/$(DLL_PREFIX)nss'$NSS_VERSION'$(IMPORT_LIB_SUFFIX) \\\ | ||
50 | + $(DIST)/lib/$(DLL_PREFIX)softokn'$NSS_VERSION'$(IMPORT_LIB_SUFFIX)' | ||
51 | + else | ||
52 | + NSS_LIBS='-L$(LIBS_DIR)'" -lcrmf -lsmime$NSS_VERSION -lssl$NSS_VERSION -lnss$NSS_VERSION -lsoftokn$NSS_VERSION" | ||
53 | + fi | ||
54 | +fi | ||
55 | + | ||
56 | if test -z "$SKIP_LIBRARY_CHECKS"; then | ||
57 | dnl system JPEG support | ||
58 | dnl ======================================================== | ||
59 | @@ -7002,6 +7039,11 @@ | ||
60 | AC_SUBST(NSPR_LIBS) | ||
61 | AC_SUBST(MOZ_NATIVE_NSPR) | ||
62 | |||
63 | +AC_SUBST(NSS_CFLAGS) | ||
64 | +AC_SUBST(NSS_LIBS) | ||
65 | +AC_SUBST(NSS_DEP_LIBS) | ||
66 | +AC_SUBST(MOZ_NATIVE_NSS) | ||
67 | + | ||
68 | AC_SUBST(CFLAGS) | ||
69 | AC_SUBST(CXXFLAGS) | ||
70 | AC_SUBST(CPPFLAGS) | ||
71 | Index: mozilla/aclocal.m4 | ||
72 | =================================================================== | ||
73 | RCS file: /cvsroot/mozilla/aclocal.m4,v | ||
74 | retrieving revision 1.14 | ||
75 | diff -u -r1.14 aclocal.m4 | ||
76 | --- mozilla/aclocal.m4 13 May 2004 03:12:47 -0000 1.14 | ||
77 | +++ mozilla/aclocal.m4 20 Dec 2005 09:31:35 -0000 | ||
78 | @@ -8,6 +8,7 @@ | ||
79 | builtin(include, build/autoconf/libIDL.m4)dnl | ||
80 | builtin(include, build/autoconf/libIDL-2.m4)dnl | ||
81 | builtin(include, build/autoconf/nspr.m4)dnl | ||
82 | +builtin(include, build/autoconf/nss.m4)dnl | ||
83 | builtin(include, build/autoconf/libart.m4)dnl | ||
84 | builtin(include, build/autoconf/pkg.m4)dnl | ||
85 | builtin(include, build/autoconf/freetype2.m4)dnl | ||
86 | Index: mozilla/config/autoconf.mk.in | ||
87 | =================================================================== | ||
88 | RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v | ||
89 | retrieving revision 3.379 | ||
90 | diff -u -r3.379 autoconf.mk.in | ||
91 | --- mozilla/config/autoconf.mk.in 16 Dec 2005 20:55:43 -0000 3.379 | ||
92 | +++ mozilla/config/autoconf.mk.in 20 Dec 2005 09:31:36 -0000 | ||
93 | @@ -236,6 +236,7 @@ | ||
94 | MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@ | ||
95 | |||
96 | MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@ | ||
97 | +MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@ | ||
98 | |||
99 | CROSS_COMPILE = @CROSS_COMPILE@ | ||
100 | |||
101 | @@ -391,6 +392,11 @@ | ||
102 | NSPR_CFLAGS = @NSPR_CFLAGS@ | ||
103 | NSPR_LIBS = @NSPR_LIBS@ | ||
104 | |||
105 | +NSS_CONFIG = @NSS_CONFIG@ | ||
106 | +NSS_CFLAGS = @NSS_CFLAGS@ | ||
107 | +NSS_LIBS = @NSS_LIBS@ | ||
108 | +NSS_DEP_LIBS = @NSS_DEP_LIBS@ | ||
109 | + | ||
110 | LDAP_CFLAGS = @LDAP_CFLAGS@ | ||
111 | LDAP_LIBS = @LDAP_LIBS@ | ||
112 | XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@ | ||
113 | Index: mozilla/config/config.mk | ||
114 | =================================================================== | ||
115 | RCS file: /cvsroot/mozilla/config/config.mk,v | ||
116 | retrieving revision 3.344 | ||
117 | diff -u -r3.344 config.mk | ||
118 | --- mozilla/config/config.mk 18 Dec 2005 17:09:20 -0000 3.344 | ||
119 | +++ mozilla/config/config.mk 20 Dec 2005 09:31:36 -0000 | ||
120 | @@ -136,39 +136,6 @@ | ||
121 | FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps | ||
122 | FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names | ||
123 | |||
124 | -# | ||
125 | -# NSS libs needed for final link in static build | ||
126 | -# | ||
127 | - | ||
128 | -NSS_LIBS = \ | ||
129 | - $(LIBS_DIR) \ | ||
130 | - $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ | ||
131 | - -lsmime3 \ | ||
132 | - -lssl3 \ | ||
133 | - -lnss3 \ | ||
134 | - -lsoftokn3 \ | ||
135 | - $(NULL) | ||
136 | - | ||
137 | -ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH))) | ||
138 | -ifndef GNU_CC | ||
139 | -NSS_LIBS = \ | ||
140 | - $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ | ||
141 | - $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \ | ||
142 | - $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \ | ||
143 | - $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \ | ||
144 | - $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \ | ||
145 | - $(NULL) | ||
146 | -endif | ||
147 | -endif | ||
148 | - | ||
149 | -NSS_DEP_LIBS = \ | ||
150 | - $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ | ||
151 | - $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \ | ||
152 | - $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \ | ||
153 | - $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \ | ||
154 | - $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \ | ||
155 | - $(NULL) | ||
156 | - | ||
157 | MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX) | ||
158 | MOZ_REGISTRY_LIBS = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX) | ||
159 | MOZ_WIDGET_SUPPORT_LIBS = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX) | ||
160 | Index: mozilla/build/autoconf/nss.m4 | ||
161 | =================================================================== | ||
162 | RCS file: mozilla/build/autoconf/nss.m4 | ||
163 | diff -N mozilla/build/autoconf/nss.m4 | ||
164 | --- /dev/null 1 Jan 1970 00:00:00 -0000 | ||
165 | +++ mozilla/build/autoconf/nss.m4 20 Dec 2005 09:31:36 -0000 | ||
166 | @@ -0,0 +1,67 @@ | ||
167 | +# -*- tab-width: 4; -*- | ||
168 | +# Configure paths for NSS | ||
169 | +# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05 | ||
170 | +# Based upon gtk.m4 (also PD) by Owen Taylor | ||
171 | + | ||
172 | +dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | ||
173 | +dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS | ||
174 | +AC_DEFUN(AM_PATH_NSS, | ||
175 | +[dnl | ||
176 | + | ||
177 | +AC_ARG_WITH(nss-prefix, | ||
178 | + [ --with-nss-prefix=PFX Prefix where NSS is installed], | ||
179 | + nss_config_prefix="$withval", | ||
180 | + nss_config_prefix="") | ||
181 | + | ||
182 | +AC_ARG_WITH(nss-exec-prefix, | ||
183 | + [ --with-nss-exec-prefix=PFX | ||
184 | + Exec prefix where NSS is installed], | ||
185 | + nss_config_exec_prefix="$withval", | ||
186 | + nss_config_exec_prefix="") | ||
187 | + | ||
188 | + if test -n "$nss_config_exec_prefix"; then | ||
189 | + nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix" | ||
190 | + if test -z "$NSS_CONFIG"; then | ||
191 | + NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config | ||
192 | + fi | ||
193 | + fi | ||
194 | + if test -n "$nss_config_prefix"; then | ||
195 | + nss_config_args="$nss_config_args --prefix=$nss_config_prefix" | ||
196 | + if test -z "$NSS_CONFIG"; then | ||
197 | + NSS_CONFIG=$nss_config_prefix/bin/nss-config | ||
198 | + fi | ||
199 | + fi | ||
200 | + | ||
201 | + unset ac_cv_path_NSS_CONFIG | ||
202 | + AC_PATH_PROG(NSS_CONFIG, nss-config, no) | ||
203 | + min_nss_version=ifelse([$1], ,3.0.0,$1) | ||
204 | + AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping)) | ||
205 | + | ||
206 | + no_nss="" | ||
207 | + if test "$NSS_CONFIG" = "no"; then | ||
208 | + no_nss="yes" | ||
209 | + else | ||
210 | + NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags` | ||
211 | + NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs` | ||
212 | + | ||
213 | + dnl Skip version check for now | ||
214 | + nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \ | ||
215 | + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | ||
216 | + nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \ | ||
217 | + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | ||
218 | + nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \ | ||
219 | + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | ||
220 | + fi | ||
221 | + | ||
222 | + if test -z "$no_nss"; then | ||
223 | + AC_MSG_RESULT(yes) | ||
224 | + ifelse([$2], , :, [$2]) | ||
225 | + else | ||
226 | + AC_MSG_RESULT(no) | ||
227 | + fi | ||
228 | + | ||
229 | + | ||
230 | + AC_SUBST(NSS_CFLAGS) | ||
231 | + AC_SUBST(NSS_LIBS) | ||
232 | + | ||
233 | +]) | ||
234 | Index: mozilla/security/manager/Makefile.in | ||
235 | =================================================================== | ||
236 | RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v | ||
237 | retrieving revision 1.59 | ||
238 | diff -u -r1.59 Makefile.in | ||
239 | --- mozilla/security/manager/Makefile.in 2 Nov 2005 21:50:36 -0000 1.59 | ||
240 | +++ mozilla/security/manager/Makefile.in 20 Dec 2005 09:31:37 -0000 | ||
241 | @@ -46,6 +46,8 @@ | ||
242 | MODULE = psm | ||
243 | |||
244 | PACKAGE_FILE = psm.pkg | ||
245 | + | ||
246 | +ifndef MOZ_NATIVE_NSS | ||
247 | PACKAGE_VARS += \ | ||
248 | NSS3_LIB \ | ||
249 | SMIME3_LIB \ | ||
250 | @@ -57,6 +59,7 @@ | ||
251 | $(NULL) | ||
252 | |||
253 | LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX) | ||
254 | +endif | ||
255 | |||
256 | NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX) | ||
257 | SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX) | ||
258 | @@ -150,6 +153,7 @@ | ||
259 | export:: .nss.cleaned | ||
260 | |||
261 | .nss.cleaned: .nss.checkout | ||
262 | +ifndef MOZ_NATIVE_NSS | ||
263 | $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean | ||
264 | $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean | ||
265 | ifndef SKIP_CHK | ||
266 | @@ -157,9 +161,12 @@ | ||
267 | $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean | ||
268 | endif | ||
269 | touch $@ | ||
270 | +endif | ||
271 | |||
272 | .nss.checkout: | ||
273 | +ifndef MOZ_NATIVE_NSS | ||
274 | touch $(srcdir)/$@ | ||
275 | +endif | ||
276 | |||
277 | dependclean export packages chrome:: | ||
278 | $(MAKE) -C boot $@ | ||
279 | @@ -170,12 +177,15 @@ | ||
280 | endif | ||
281 | |||
282 | libs:: | ||
283 | +ifndef MOZ_NATIVE_NSS | ||
284 | $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) | ||
285 | +endif | ||
286 | ifeq ($(OS_ARCH),WINNT) | ||
287 | cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) | ||
288 | else | ||
289 | cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) | ||
290 | endif | ||
291 | +ifndef MOZ_NATIVE_NSS | ||
292 | $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) | ||
293 | ifndef SKIP_CHK | ||
294 | $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) | ||
295 | @@ -195,6 +205,7 @@ | ||
296 | $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin | ||
297 | $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin | ||
298 | endif | ||
299 | +endif | ||
300 | $(MAKE) -C boot $@ | ||
301 | $(MAKE) -C ssl $@ | ||
302 | $(MAKE) -C locales $@ | ||
303 | @@ -203,6 +214,7 @@ | ||
304 | endif | ||
305 | |||
306 | install:: | ||
307 | +ifndef MOZ_NATIVE_NSS | ||
308 | $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir) | ||
309 | ifndef SKIP_CHK | ||
310 | $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir) | ||
311 | @@ -217,6 +229,7 @@ | ||
312 | $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir) | ||
313 | $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir) | ||
314 | endif | ||
315 | +endif | ||
316 | $(MAKE) -C boot $@ | ||
317 | $(MAKE) -C ssl $@ | ||
318 | $(MAKE) -C locales $@ | ||
319 | @@ -231,15 +244,18 @@ | ||
320 | ifdef MOZ_XUL | ||
321 | $(MAKE) -C pki $@ | ||
322 | endif | ||
323 | +ifndef MOZ_NATIVE_NSS | ||
324 | $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean | ||
325 | $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean | ||
326 | ifndef SKIP_CHK | ||
327 | $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean | ||
328 | $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean | ||
329 | endif | ||
330 | +endif | ||
331 | |||
332 | echo-requires-recursive:: | ||
333 | $(MAKE) -C boot $@ | ||
334 | $(MAKE) -C ssl $@ | ||
335 | $(MAKE) -C pki $@ | ||
336 | $(MAKE) -C locales $@ | ||
337 | + | ||
338 | Index: mozilla/security/manager/ssl/src/Makefile.in | ||
339 | =================================================================== | ||
340 | RCS file: /cvsroot/mozilla/security/manager/ssl/src/Makefile.in,v | ||
341 | retrieving revision 1.68 | ||
342 | diff -u -r1.68 Makefile.in | ||
343 | --- mozilla/security/manager/ssl/src/Makefile.in 1 Sep 2005 12:43:58 -0000 1.68 | ||
344 | +++ mozilla/security/manager/ssl/src/Makefile.in 20 Dec 2005 09:31:37 -0000 | ||
345 | @@ -123,8 +123,7 @@ | ||
346 | |||
347 | # Use local includes because they are inserted before INCLUDES | ||
348 | # so that Mozilla's nss.h is used, not glibc's | ||
349 | -LOCAL_INCLUDES += -I$(DIST)/public/nss \ | ||
350 | - $(NULL) | ||
351 | +LOCAL_INCLUDES = $(NSS_CFLAGS) | ||
352 | |||
353 | EXTRA_DSO_LDOPTS += \ | ||
354 | $(MOZ_UNICHARUTIL_LIBS) \ | ||
355 | Index: mozilla/security/manager/ssl/src/nsNSSComponent.cpp | ||
356 | =================================================================== | ||
357 | RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v | ||
358 | retrieving revision 1.129 | ||
359 | diff -u -r1.129 nsNSSComponent.cpp | ||
360 | --- mozilla/security/manager/ssl/src/nsNSSComponent.cpp 14 Nov 2005 20:09:49 -0000 1.129 | ||
361 | +++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp 20 Dec 2005 09:31:39 -0000 | ||
362 | @@ -485,14 +485,6 @@ | ||
363 | } | ||
364 | |||
365 | |||
366 | -#ifdef XP_MAC | ||
367 | -#ifdef DEBUG | ||
368 | -#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb") | ||
369 | -#else | ||
370 | -#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb") | ||
371 | -#endif /*DEBUG*/ | ||
372 | -#endif /*XP_MAC*/ | ||
373 | - | ||
374 | static void setOCSPOptions(nsIPrefBranch * pref); | ||
375 | |||
376 | NS_IMETHODIMP | ||
377 | @@ -686,40 +678,42 @@ | ||
378 | |||
379 | const char *possible_ckbi_locations[] = { | ||
380 | NS_GRE_DIR, | ||
381 | - NS_XPCOM_CURRENT_PROCESS_DIR | ||
382 | + NS_XPCOM_CURRENT_PROCESS_DIR, | ||
383 | + 0 // This special value means: | ||
384 | + // search for ckbi in the directories on the shared | ||
385 | + // library/DLL search path | ||
386 | }; | ||
387 | - | ||
388 | + | ||
389 | for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) { | ||
390 | nsCOMPtr<nsILocalFile> mozFile; | ||
391 | - directoryService->Get( possible_ckbi_locations[il], | ||
392 | - NS_GET_IID(nsILocalFile), | ||
393 | - getter_AddRefs(mozFile)); | ||
394 | + char *fullModuleName = nsnull; | ||
395 | + | ||
396 | + if (!possible_ckbi_locations[il]) | ||
397 | + { | ||
398 | + fullModuleName = PR_GetLibraryName(nsnull, "nssckbi"); | ||
399 | + } | ||
400 | + else | ||
401 | + { | ||
402 | + directoryService->Get( possible_ckbi_locations[il], | ||
403 | + NS_GET_IID(nsILocalFile), | ||
404 | + getter_AddRefs(mozFile)); | ||
405 | |||
406 | - if (!mozFile) { | ||
407 | - continue; | ||
408 | + if (!mozFile) { | ||
409 | + continue; | ||
410 | + } | ||
411 | + | ||
412 | + nsCAutoString processDir; | ||
413 | + mozFile->GetNativePath(processDir); | ||
414 | + fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi"); | ||
415 | } | ||
416 | |||
417 | - char *fullModuleName = nsnull; | ||
418 | -#ifdef XP_MAC | ||
419 | - nsCAutoString nativePath; | ||
420 | - mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files")); | ||
421 | - mozFile->AppendNative(LOADABLE_CERTS_MODULE); | ||
422 | - mozFile->GetNativePath(nativePath); | ||
423 | - fullModuleName = (char *) nativePath.get(); | ||
424 | -#else | ||
425 | - nsCAutoString processDir; | ||
426 | - mozFile->GetNativePath(processDir); | ||
427 | - fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi"); | ||
428 | -#endif | ||
429 | /* If a module exists with the same name, delete it. */ | ||
430 | NS_ConvertUCS2toUTF8 modNameUTF8(modName); | ||
431 | int modType; | ||
432 | SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType); | ||
433 | SECStatus rv_add = | ||
434 | SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0); | ||
435 | -#ifndef XP_MAC | ||
436 | - PR_Free(fullModuleName); // allocated by NSPR | ||
437 | -#endif | ||
438 | + PR_FreeLibraryName(fullModuleName); // allocated by NSPR | ||
439 | if (SECSuccess == rv_add) { | ||
440 | // found a module, no need to try other directories | ||
441 | break; |