aboutsummaryrefslogtreecommitdiffstats
path: root/src/libvlr/vlr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libvlr/vlr.c')
-rw-r--r--src/libvlr/vlr.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 670ff839d..8c6911a60 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -31,8 +31,6 @@
#include <osmocom/msc/vlr.h>
#include <osmocom/msc/debug.h>
-#include <openssl/rand.h>
-
#include <netinet/in.h>
#include <arpa/inet.h>
#include <limits.h>
@@ -275,12 +273,13 @@ int vlr_subscr_alloc_tmsi(struct vlr_subscr *vsub)
{
struct vlr_instance *vlr = vsub->vlr;
uint32_t tmsi;
- int tried;
+ int tried, rc;
for (tried = 0; tried < 100; tried++) {
- if (RAND_bytes((uint8_t *) &tmsi, sizeof(tmsi)) != 1) {
- LOGP(DVLR, LOGL_ERROR, "RAND_bytes failed\n");
- return -1;
+ rc = osmo_get_rand_id((uint8_t *) &tmsi, sizeof(tmsi));
+ if (rc < 0) {
+ LOGP(DDB, LOGL_ERROR, "osmo_get_rand_id() failed: %s\n", strerror(-rc));
+ return rc;
}
/* throw the dice again, if the TSMI doesn't fit */
if (tmsi == GSM_RESERVED_TMSI)