Beats me. Since there must be people in the world that runs Netscape 6.2 on Windows 98, I suspect Netscape knows about the problem and have bypassed it. Since it knows where the nspr4.dll is, perphaps they use the extended NSS_Initialize call and request no load of the secmod.db file. Are perhaps they don't even use the nsrp4.dll. Or perhaps they monkey with the file prior to reading it with nspr.
All I know is if you use the nspr4.dll that comes with the NSS distribution, it will fail. A call to NSS_Init will ABORT (you get the nasty windows message stating the problem has behaved very badly), not simply fail. This includes the tools that come with the NSS distribution such as modutil, certutil, etc. Since it is a "NSPR" issue, does that mean it will never get fixed? Ken "Robert Relyea" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > Kenneth R. Robinette wrote: > > > Found it.! > > > > One of the things Netscape 6.2 (and I think other versions) do to the secmod > > database is to place the full path to the nsscbki.dll into the secmod.db. > > On my systems, Netscape always installs itself into the \PROGRAM > > FILES\NETSCAPE\NETSCAPE 6 directory, by default. This is shown in the > > partial dump of the secmod.db file. The problem appears to be the spaces > > contined within at least the \NETSCAPE 6\ portion of the path. If you edit > > this file with a hex editor and replace the spaces in the path with some non > > space character, my program and the NSS tools no longer abort. > > > Now for the $64,000 question: why does NSS abort when trying to load the > built-in when PSM does not. Since it's essentially the same code, the > only thing I can think of is a bug in NSPR which is fixed in the trunk, > but not in the default version of NSPR included with NSS. > > > > > > I don't know if this is the only problem, but it is the one that is causing > > all non Netscape programs to bomb out when they make the NSS_Init call after > > the secmod database has been "messed" with by Netscape. > > > No, unless the file is marked critical, NSS will ignore failures in > loading other tokens. Does NSS_Init simply fail, or does it actually crash? > > It looks more like an NSPR issue rather than an NSS issue, since > Netscape 6 uses essentially the same version of NSS that you are using > (NSS 3.3). > > bob > > > > >
