Closed
Bug 303872
Opened 20 years ago
Closed 20 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•20 years ago
|
||
P1 for NSS 3.11
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → 3.11
Version: 3.10 → 3.3
Comment 3•20 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•20 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: 20 years ago
Priority: P1 → P2
Resolution: --- → FIXED
Target Milestone: 3.11.1 → 3.11
Assignee | ||
Comment 5•20 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
•