Closed
Bug 303872
Opened 19 years ago
Closed 19 years ago
RNG_SystemInfoForRNG() is missing from blapi and loader
Categories
(NSS :: Libraries, defect, P2)
Tracking
(Not tracked)
VERIFIED
FIXED
3.11
People
(Reporter: nelson, Assigned: nelson)
Details
The freebl files that enable us to dynamically load freebl and call the public freebl functions declared in blapi.h does not expose the freebl function RNG_SystemInfoForRNG. Consequently, no version of softoken is able to seed the PRNG in freebl shared libs. This was probably my mistake, back in the NSS 3.3 timeframe. To work around this, a copy of sysrand.o was added long ago to libfreebl.a, along with the dynamic loader. (libfreebl.a is supposed to contain ONLY the loader on platforms that use freebl shared libs.) That makes softoken link, but it also means that there are two copies of the PRNG, and only one copy is properly seeded. (I don't understand why there aren't warnings about duplicate symbols when softoken is loaded that way.) The fix is to put RNG_SystemInfoForRNG into blapi.h, loader.c, loader.h, and ldvector.c, and remove sysrand from libfreebl.a I have a large patch for something else that now includes this fix. I will try to separate out the part of the patch necessary to fix this problem by itself on the trunk.
| Assignee | ||
Comment 1•19 years ago
|
||
P1 for NSS 3.11
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → 3.11
Version: 3.10 → 3.3
Comment 3•19 years ago
|
||
Per our meeting today, this is P1 for 3.11.1 .
Priority: P2 → P1
Target Milestone: 3.11 → 3.11.1
Comment 4•19 years ago
|
||
Nelson, you wrote: > > The fix is to put RNG_SystemInfoForRNG into blapi.h, > loader.c, loader.h, and ldvector.c, and remove sysrand > from libfreebl.a I'm happy to report that we took care of this in these checkins: - lib/freebl/blapi.h, rev. 1.23: added RNG_SystemInfoForRNG - lib/freebl/loader.c, rev. 1.22: added RNG_SystemInfoForRNG - lib/freebl/loader.h, rev. 1.16: added p_RNG_SystemInfoForRNG - lib/freebl/ldvector.c, rev. 1.12: added RNG_SystemInfoForRNG - lib/freebl/config.mk, rev. 1.12: removed sysrand.o from libfreebl.a Please verify. The CVS commit comment is: date: 2005/09/07 02:47:16; author: saul.edwards%sun.com; state: Exp; [...] Bug 303508: Add freebl shared libs that do 64-bit integer math. Bug 274984: sof token fails to load freebl in setuid programs. freebl becomes a shared library on all platforms. r=nelson Modified Files: coreconf/HP-UXB.11.mk coreconf/SunOS5.mk nss/cmd/shlibsign/Makefile nss/cmd/shlibsign/manifest.mn nss/lib/freebl/Makefile nss/lib/freebl/arcfour.c nss/lib/freebl/blapi.h nss/lib/freebl/config.mk nss/lib/freebl/ldvector.c nss/lib/freebl/loader.c nss/lib/freebl/loader.h nss/lib/freebl/manifest.mn Added Files: nss/lib/freebl/freebl.def
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Priority: P1 → P2
Resolution: --- → FIXED
Target Milestone: 3.11.1 → 3.11
| Assignee | ||
Comment 5•19 years ago
|
||
Thanks, Wan-Teh, it sure does look fixed.
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•