From: Simo Sorce Date: Tue, 10 Mar 2015 16:15:50 +0000 (-0400) Subject: Use apr function for random bytes X-Git-Tag: v1.1.0~5 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mod_auth_gssapi.git;a=commitdiff_plain;h=1bd0ed87c79f4e80df3024fb1e1441255d517c3c 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. --- 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) {