PR: 1890
Submitted by: "Green, Paul" <Paul.Green@stratus.com> Approved by: steve@openssl.org Fixes to --with-zlib-include and --with-zlib-lib and init PRNG for VOS.
This commit is contained in:
@@ -1217,9 +1217,16 @@ if ($zlib)
|
|||||||
{
|
{
|
||||||
$cflags = "-DZLIB $cflags";
|
$cflags = "-DZLIB $cflags";
|
||||||
if (defined($disabled{"zlib-dynamic"}))
|
if (defined($disabled{"zlib-dynamic"}))
|
||||||
|
{
|
||||||
|
if (defined($withargs{"zlib-lib"}))
|
||||||
|
{
|
||||||
|
$lflags = "$lflags -L" . $withargs{"zlib-lib"} . " -lz";
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$lflags = "$lflags -lz";
|
$lflags = "$lflags -lz";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$cflags = "-DZLIB_SHARED $cflags";
|
$cflags = "-DZLIB_SHARED $cflags";
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
|
|||||||
MAKEDEPPROG='$(MAKEDEPPROG)' \
|
MAKEDEPPROG='$(MAKEDEPPROG)' \
|
||||||
SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
|
SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
|
||||||
KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
|
KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
|
||||||
|
ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
|
||||||
EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \
|
EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \
|
||||||
SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
|
SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
|
||||||
PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \
|
PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
DIR= crypto
|
DIR= crypto
|
||||||
TOP= ..
|
TOP= ..
|
||||||
CC= cc
|
CC= cc
|
||||||
INCLUDE= -I. -I$(TOP) -I../include
|
INCLUDE= -I. -I$(TOP) -I../include $(ZLIB_INCLUDE)
|
||||||
# INCLUDES targets sudbirs!
|
# INCLUDES targets sudbirs!
|
||||||
INCLUDES= -I.. -I../.. -I../asn1 -I../evp -I../../include
|
INCLUDES= -I.. -I../.. -I../asn1 -I../evp -I../../include $(ZLIB_INCLUDE)
|
||||||
CFLAG= -g
|
CFLAG= -g
|
||||||
MAKEDEPPROG= makedepend
|
MAKEDEPPROG= makedepend
|
||||||
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
|
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
|
||||||
|
|||||||
@@ -133,7 +133,50 @@
|
|||||||
# define FD_SETSIZE (8*sizeof(fd_set))
|
# define FD_SETSIZE (8*sizeof(fd_set))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __OpenBSD__
|
#ifdef __VOS__
|
||||||
|
int RAND_poll(void)
|
||||||
|
{
|
||||||
|
unsigned char buf[ENTROPY_NEEDED];
|
||||||
|
pid_t curr_pid;
|
||||||
|
uid_t curr_uid;
|
||||||
|
static int first=1;
|
||||||
|
int i;
|
||||||
|
long rnd = 0;
|
||||||
|
struct timespec ts;
|
||||||
|
unsigned seed;
|
||||||
|
|
||||||
|
/* The VOS random() function starts from a static seed so its
|
||||||
|
initial value is predictable. If random() returns the
|
||||||
|
initial value, reseed it with dynamic data. The VOS
|
||||||
|
real-time clock has a granularity of 1 nsec so it should be
|
||||||
|
reasonably difficult to predict its exact value. Do not
|
||||||
|
gratuitously reseed the PRNG because other code in this
|
||||||
|
process or thread may be using it. */
|
||||||
|
|
||||||
|
if (first) {
|
||||||
|
first = 0;
|
||||||
|
rnd = random ();
|
||||||
|
if (rnd == 1804289383) {
|
||||||
|
clock_gettime (CLOCK_REALTIME, &ts);
|
||||||
|
curr_pid = getpid();
|
||||||
|
curr_uid = getuid();
|
||||||
|
seed = ts.tv_sec ^ ts.tv_nsec ^ curr_pid ^ curr_uid;
|
||||||
|
srandom (seed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < sizeof(buf); i++) {
|
||||||
|
if (i % 4 == 0)
|
||||||
|
rnd = random();
|
||||||
|
buf[i] = rnd;
|
||||||
|
rnd >>= 8;
|
||||||
|
}
|
||||||
|
RAND_add(buf, sizeof(buf), ENTROPY_NEEDED);
|
||||||
|
memset(buf, 0, sizeof(buf));
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#elif defined __OpenBSD__
|
||||||
int RAND_poll(void)
|
int RAND_poll(void)
|
||||||
{
|
{
|
||||||
u_int32_t rnd = 0, i;
|
u_int32_t rnd = 0, i;
|
||||||
|
|||||||
Reference in New Issue
Block a user