From 1bd0ed87c79f4e80df3024fb1e1441255d517c3c Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 10 Mar 2015 12:15:50 -0400 Subject: [PATCH] Use apr function for random bytes The apr function is thread safe while the OpenSSL one depdns on setting up custom locking, which is hard in a library. --- src/crypto.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/crypto.c b/src/crypto.c index 78429c8..a902d63 100644 --- a/src/crypto.c +++ b/src/crypto.c @@ -57,13 +57,13 @@ apr_status_t SEAL_KEY_CREATE(apr_pool_t *p, struct seal_key **skey, memcpy(n->ekey, keys->value, keylen); memcpy(n->hkey, keys->value + keylen, keylen); } else { - ret = RAND_bytes(n->ekey, keylen); + ret = apr_generate_random_bytes(n->ekey, keylen); if (ret == 0) { ret = EFAULT; goto done; } - ret = RAND_bytes(n->hkey, keylen); + ret = apr_generate_random_bytes(n->hkey, keylen); if (ret == 0) { ret = EFAULT; goto done; @@ -98,7 +98,7 @@ apr_status_t SEAL_BUFFER(apr_pool_t *p, struct seal_key *skey, /* confounder to avoid exposing random numbers directly to clients * as IVs */ - ret = RAND_bytes(rbuf, sizeof(rbuf)); + ret = apr_generate_random_bytes(rbuf, sizeof(rbuf)); if (ret == 0) goto done; if (cipher->length == 0) { -- 2.1.4