summaryrefslogtreecommitdiff
diff options
-rw-r--r--src/jrequest.c13
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
}