Review at  https://gerrit.osmocom.org/3820

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, 8 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/20/3820/1

diff --git a/configure.ac b/configure.ac
index 1942614..1ad2187 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,6 @@
 PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.2.0)
 PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.0.1)
 PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran) # TODO version?
-PKG_CHECK_MODULES(LIBCRYPTO, libcrypto >= 0.9.5)
 PKG_CHECK_MODULES(LIBOSMOLEGACYMGCP, libosmo-legacy-mgcp >= 0.0.1)
 
 # Enable/disable smpp support in the msc?
diff --git a/debian/control b/debian/control
index 907ec38..d265ea9 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,6 @@
                pkg-config,
                libdbi-dev,
                libtalloc-dev,
-               libssl-dev,
                libc-ares-dev,
                libgtp-dev,
                libasn1c-dev,
diff --git a/src/libmsc/Makefile.am b/src/libmsc/Makefile.am
index c9b8bb4..3b388dc 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 9064ce6..fcf694e 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 ae7e287..26da69f 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 90a0431..b986640 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 17ad411..c5ab4a6 100644
--- a/src/libvlr/Makefile.am
+++ b/src/libvlr/Makefile.am
@@ -1,6 +1,6 @@
 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
 AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) \
-       $(COVERAGE_CFLAGS) $(LIBCRYPTO_CFLAGS)
+       $(COVERAGE_CFLAGS)
 
 noinst_HEADERS = \
        vlr_access_req_fsm.h \
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index a5ea0f6..70b0704 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -30,8 +30,6 @@
 #include <openbsc/vlr.h>
 #include <openbsc/debug.h>
 
-#include <openssl/rand.h>
-
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <limits.h>
@@ -276,8 +274,8 @@
        int tried;
 
        for (tried = 0; tried < 100; tried++) {
-               if (RAND_bytes((uint8_t *) &tmsi, sizeof(tmsi)) != 1) {
-                       LOGP(DVLR, LOGL_ERROR, "RAND_bytes failed\n");
+               if (osmo_get_rand_id((uint8_t *) &tmsi, sizeof(tmsi)) < 0) {
+                       LOGP(DDB, LOGL_ERROR, "osmo_get_rand_id() failed\n");
                        return -1;
                }
                /* throw the dice again, if the TSMI doesn't fit */
diff --git a/src/osmo-msc/Makefile.am b/src/osmo-msc/Makefile.am
index a26b4bd..639002a 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) \
        $(LIBOSMOLEGACYMGCP_LIBS) \
        $(LIBRARY_GSM) \
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 fb4857f..fd32e81 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 \
        $(top_builddir)/src/libmsc/libmsc.a \
        $(top_builddir)/src/libcommon-cs/libcommon-cs.a \
        $(top_builddir)/src/libvlr/libvlr.a \
@@ -38,7 +37,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 4b10e49..0a605e1 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -249,11 +249,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 1d3b9da..abb6b92 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: newchange
Gerrit-Change-Id: I71cd631704a4dc155c6c752fee2a42cd6e2fa336
Gerrit-PatchSet: 1
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Owner: Max <msur...@sysmocom.de>

Reply via email to