diff options
| -rw-r--r-- | src/jrequest.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/jrequest.c b/src/jrequest.c index 9e3e920..04d85b1 100644 --- a/src/jrequest.c +++ b/src/jrequest.c @@ -99,8 +99,17 @@ int eXosip_byte_generate_random(char *buf, int buf_size) { #ifdef HAVE_OPENSSL_SSL_H return RAND_bytes((unsigned char *) buf, buf_size) > 0 ? 0 : -1; #else - eXosip_generate_random(buf, 16); - eXosip_hexa_generate_random(buf, buf_size, buf, "key", "crypto"); + unsigned int random_value; + int remaining_bytes = buf_size; + char *buf_ptr = buf; + + while (remaining_bytes > 0) { + random_value = osip_build_random_number(); + int copy_size = remaining_bytes < sizeof(random_value) ? remaining_bytes : sizeof(random_value); + memcpy(buf_ptr, &random_value, copy_size); + buf_ptr += copy_size; + remaining_bytes -= copy_size; + } return 0; #endif } |
