This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Max gerrit-no-reply at lists.osmocom.orgMax has submitted this change and it was merged.
Change subject: Migrate from OpenSSL to osmo_get_rand_id()
......................................................................
Migrate from OpenSSL to osmo_get_rand_id()
This avoids potential licensing incompatibility and makes integration of
Debian packaging patches easier.
Related: OS#1694
Change-Id: I71cd631704a4dc155c6c752fee2a42cd6e2fa336
---
M configure.ac
M debian/control
M src/libmsc/Makefile.am
M src/libmsc/auth.c
M src/libmsc/db.c
M src/libmsc/gsm_04_08.c
M src/libvlr/Makefile.am
M src/libvlr/vlr.c
M src/osmo-msc/Makefile.am
M tests/db/Makefile.am
M tests/msc_vlr/Makefile.am
M tests/msc_vlr/msc_vlr_tests.c
M tests/sms_queue/Makefile.am
13 files changed, 10 insertions(+), 27 deletions(-)
Approvals:
Harald Welte: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/configure.ac b/configure.ac
index 49d06f5..feb3de9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,7 +47,6 @@
PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.1.0)
PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.8.0)
PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp)
-PKG_CHECK_MODULES(LIBCRYPTO, libcrypto >= 0.9.5)
PKG_CHECK_MODULES(LIBOSMOMGCPCLIENT, libosmo-mgcp-client >= 1.1.0)
PKG_CHECK_MODULES(LIBSMPP34, libsmpp34 >= 1.12.0)
diff --git a/debian/control b/debian/control
index 60d468e..6219ea4 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,6 @@
pkg-config,
libdbi-dev,
libtalloc-dev,
- libssl-dev (>= 0.9.5),
libsmpp34-dev (>= 1.12),
libasn1c-dev (>= 0.9.28),
libosmocore-dev (>= 0.10.0),
diff --git a/src/libmsc/Makefile.am b/src/libmsc/Makefile.am
index 998df26..7dfb047 100644
--- a/src/libmsc/Makefile.am
+++ b/src/libmsc/Makefile.am
@@ -10,7 +10,6 @@
$(LIBOSMOVTY_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(COVERAGE_CFLAGS) \
- $(LIBCRYPTO_CFLAGS) \
$(LIBSMPP34_CFLAGS) \
$(LIBASN1C_CFLAGS) \
$(LIBOSMOSIGTRAN_CFLAGS) \
diff --git a/src/libmsc/auth.c b/src/libmsc/auth.c
index 7b5367b..7c78c6e 100644
--- a/src/libmsc/auth.c
+++ b/src/libmsc/auth.c
@@ -28,8 +28,6 @@
#include <osmocom/gsm/comp128.h>
#include <osmocom/core/utils.h>
-#include <openssl/rand.h>
-
#include <stdlib.h>
const struct value_string auth_action_names[] = {
diff --git a/src/libmsc/db.c b/src/libmsc/db.c
index 0cb8ff3..28004f7 100644
--- a/src/libmsc/db.c
+++ b/src/libmsc/db.c
@@ -42,8 +42,6 @@
#include <osmocom/core/rate_ctr.h>
#include <osmocom/core/utils.h>
-#include <openssl/rand.h>
-
static char *db_basename = NULL;
static char *db_dirname = NULL;
static dbi_conn conn;
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 26ac923..88472e0 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -31,7 +31,6 @@
#include <netinet/in.h>
#include <regex.h>
#include <sys/types.h>
-#include <openssl/rand.h>
#include "bscconfig.h"
diff --git a/src/libvlr/Makefile.am b/src/libvlr/Makefile.am
index 511dfc0..e3d5ced 100644
--- a/src/libvlr/Makefile.am
+++ b/src/libvlr/Makefile.am
@@ -7,7 +7,6 @@
$(LIBOSMOMGCPCLIENT_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(COVERAGE_CFLAGS) \
- $(LIBCRYPTO_CFLAGS) \
$(NULL)
noinst_HEADERS = \
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 670ff83..8c6911a 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 @@
{
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)
diff --git a/src/osmo-msc/Makefile.am b/src/osmo-msc/Makefile.am
index e296f97..1d8bfbd 100644
--- a/src/osmo-msc/Makefile.am
+++ b/src/osmo-msc/Makefile.am
@@ -13,7 +13,6 @@
$(LIBOSMOCTRL_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(LIBSMPP34_CFLAGS) \
- $(LIBCRYPTO_CFLAGS) \
$(LIBOSMORANAP_CFLAGS) \
$(LIBASN1C_CFLAGS) \
$(LIBOSMOSIGTRAN_CFLAGS) \
@@ -43,7 +42,6 @@
$(LIBOSMOCTRL_LIBS) \
$(LIBOSMOABIS_LIBS) \
$(LIBSMPP34_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBOSMOSIGTRAN_LIBS) \
$(LIBOSMOMGCPCLIENT_LIBS) \
-ldbi \
diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am
index bcb66ec..720e005 100644
--- a/tests/db/Makefile.am
+++ b/tests/db/Makefile.am
@@ -42,6 +42,5 @@
$(LIBOSMOGSM_LIBS) \
$(LIBSMPP34_LIBS) \
$(LIBOSMOVTY_LIBS) \
- $(LIBCRYPTO_LIBS) \
-ldbi \
$(NULL)
diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am
index 8bbe6cb..3a2c859 100644
--- a/tests/msc_vlr/Makefile.am
+++ b/tests/msc_vlr/Makefile.am
@@ -9,7 +9,6 @@
$(LIBOSMOCORE_CFLAGS) \
$(LIBOSMOGSM_CFLAGS) \
$(LIBSMPP34_CFLAGS) \
- $(LIBCRYPTO_CFLAGS) \
$(LIBOSMOVTY_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(LIBOSMOSIGTRAN_CFLAGS) \
@@ -30,7 +29,7 @@
-Wl,--wrap=ranap_iu_page_cs \
-Wl,--wrap=msc_stop_paging \
-Wl,--wrap=gsm340_gen_scts \
- -Wl,--wrap=RAND_bytes \
+ -Wl,--wrap=osmo_get_rand_id \
-Wl,--wrap=msc_call_assignment \
-Wl,--wrap=msc_call_release \
$(NULL)
@@ -43,7 +42,6 @@
$(LIBSMPP34_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBOSMOVTY_LIBS) \
$(LIBOSMOABIS_LIBS) \
$(LIBOSMOSIGTRAN_LIBS) \
diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index 9cc61b1..ac850b3 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -257,11 +257,11 @@
}
unsigned char next_rand_byte = 0;
-/* override, requires '-Wl,--wrap=RAND_bytes' */
-int __real_RAND_bytes(unsigned char *buf, int num);
-int __wrap_RAND_bytes(unsigned char *buf, int num)
+/* override, requires '-Wl,--wrap=osmo_get_rand_id' */
+int __real_osmo_get_rand_id(uint8_t *buf, size_t num);
+int __wrap_osmo_get_rand_id(uint8_t *buf, size_t num)
{
- int i;
+ size_t i;
for (i = 0; i < num; i++)
buf[i] = next_rand_byte++;
return 1;
diff --git a/tests/sms_queue/Makefile.am b/tests/sms_queue/Makefile.am
index a912be1..8c538b0 100644
--- a/tests/sms_queue/Makefile.am
+++ b/tests/sms_queue/Makefile.am
@@ -8,7 +8,6 @@
-ggdb3 \
$(LIBOSMOCORE_CFLAGS) \
$(LIBOSMOGSM_CFLAGS) \
- $(LIBCRYPTO_CFLAGS) \
$(LIBOSMOVTY_CFLAGS) \
$(LIBOSMOABIS_CFLAGS) \
$(LIBOSMOSIGTRAN_CFLAGS) \
@@ -38,7 +37,6 @@
$(LIBSMPP34_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
- $(LIBCRYPTO_LIBS) \
$(LIBOSMOVTY_LIBS) \
$(LIBOSMOABIS_LIBS) \
$(LIBOSMOSIGTRAN_LIBS) \
--
To view, visit https://gerrit.osmocom.org/3820
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I71cd631704a4dc155c6c752fee2a42cd6e2fa336
Gerrit-PatchSet: 8
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>