--- wvstreams-4.4.1.orig/crypto/wvx509.cc +++ wvstreams-4.4.1/crypto/wvx509.cc @@ -1102,7 +1102,7 @@ WvString WvX509::get_extension(int nid) if (ext) { - X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); + const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); if (!method) { WvDynBuf buf; --- wvstreams-4.4.1.orig/crypto/wvblowfish.cc +++ wvstreams-4.4.1/crypto/wvblowfish.cc @@ -77,7 +77,8 @@ bool WvBlowfishEncoder::_encode(WvBuf &i // if flushing on encryption, add some randomized padding size_t padlen = 8 - remainder; unsigned char *pad = in.alloc(padlen); - RAND_pseudo_bytes(pad, padlen); + if (RAND_bytes(pad, padlen) != 1) + return false; len += 8; } else // nothing we can do here, flushing does not make sense! --- wvstreams-4.4.1.orig/crypto/wvtripledes.cc +++ wvstreams-4.4.1/crypto/wvtripledes.cc @@ -77,7 +77,8 @@ bool WvTripleDESEncoder::_encode(WvBuf & // if flushing on encryption, add some randomized padding size_t padlen = 8 - remainder; unsigned char *pad = in.alloc(padlen); - RAND_pseudo_bytes(pad, padlen); + if(RAND_bytes(pad, padlen) != 1) + return false; len += 8; } else // nothing we can do here, flushing does not make sense!