Contents of /trunk/mozilla-firefox/patches/mozilla-firefox-1.5.0.11-system-nss.patch
Parent Directory | Revision Log
Revision 153 -
(show 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 | 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; |