diff options
author | Max <msuraev@sysmocom.de> | 2017-12-21 15:00:33 +0100 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-12-27 11:10:59 +0000 |
commit | ad1e3cdd6c93b9f47d13785ed0966de8019a5e1e (patch) | |
tree | 2767c690ebbe7df11443ef4397d1429fce0bf329 | |
parent | 77a9d4e6cefbe0bb4b4ae5b62de3ac8a57cb922b (diff) |
Migrate from OpenSSL to osmo_get_rand_id()
This avoids potential licensing incompatibility and makes integration of
Debian packaging patches easier.
The libosmocore version requirements are fine already but for jenkins
tests to pass we have to have Ic77866ce65acf524b768882c751a4f9c0635740b
merged into libosmocore master.
Change-Id: Ia57bf1300525cf3c247284fe966b1c415c2d53e2
Related: OS#1694
-rw-r--r-- | configure.ac | 1 | ||||
-rwxr-xr-x | contrib/jenkins.sh | 2 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | src/osmo-bsc_nat/Makefile.am | 2 | ||||
-rw-r--r-- | src/osmo-bsc_nat/bsc_nat.c | 18 | ||||
-rw-r--r-- | tests/channel/Makefile.am | 1 |
6 files changed, 8 insertions, 17 deletions
diff --git a/configure.ac b/configure.ac index 98f96bb1d..97b2e2f33 100644 --- a/configure.ac +++ b/configure.ac @@ -46,7 +46,6 @@ PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.10.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.3.2) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.1.0) PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.8.0) -PKG_CHECK_MODULES(LIBCRYPTO, libcrypto >= 0.9.5) PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp >= 0.0.2) PKG_CHECK_MODULES(LIBOSMOMGCPCLIENT, libosmo-mgcp-client >= 1.2.0) PKG_CHECK_MODULES(LIBOSMOLEGACYMGCP, libosmo-legacy-mgcp >= 1.0.0) diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index d7a41a8a8..873d1a5af 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -18,7 +18,7 @@ osmo-clean-workspace.sh mkdir "$deps" || true -osmo-build-dep.sh libosmocore "" ac_cv_path_DOXYGEN=false +osmo-build-dep.sh libosmocore "" '--disable-doxygen --enable-gnutls' verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") diff --git a/debian/control b/debian/control index 5e9ad602c..fae280abd 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,6 @@ Build-Depends: debhelper (>=9), libtool, pkg-config, python-minimal, - libssl-dev (>= 0.9.5), libtalloc-dev, libosmocore-dev (>= 0.10.0), libosmo-sccp-dev (>= 0.0.2), diff --git a/src/osmo-bsc_nat/Makefile.am b/src/osmo-bsc_nat/Makefile.am index 1bee68edf..a941b5869 100644 --- a/src/osmo-bsc_nat/Makefile.am +++ b/src/osmo-bsc_nat/Makefile.am @@ -12,7 +12,6 @@ AM_CFLAGS = \ $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMOSCCP_CFLAGS) \ $(LIBOSMOLEGACYMGCP_CFLAGS) \ - $(LIBCRYPTO_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -49,7 +48,6 @@ osmo_bsc_nat_LDADD = \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOCTRL_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ - $(LIBCRYPTO_LIBS) \ $(LIBRARY_GSM) \ -lrt \ $(NULL) diff --git a/src/osmo-bsc_nat/bsc_nat.c b/src/osmo-bsc_nat/bsc_nat.c index 1548ea38b..5569d2fc9 100644 --- a/src/osmo-bsc_nat/bsc_nat.c +++ b/src/osmo-bsc_nat/bsc_nat.c @@ -74,8 +74,6 @@ #include <osmocom/abis/ipa.h> -#include <openssl/rand.h> - #include "../../bscconfig.h" #define SCCP_CLOSE_TIME 20 @@ -208,7 +206,7 @@ static void send_id_req(struct bsc_nat *nat, struct bsc_connection *bsc) 0x01, IPAC_IDTAG_UNITNAME, 0x01, IPAC_IDTAG_SERNR, }; - + int rc; uint8_t *mrand; uint8_t id_req[sizeof(s_id_req) + (2+16)]; uint8_t *buf = &id_req[sizeof(s_id_req)]; @@ -221,19 +219,17 @@ static void send_id_req(struct bsc_nat *nat, struct bsc_connection *bsc) buf = v_put(buf, 0x23); mrand = bsc->last_rand; - if (RAND_bytes(mrand, 16) != 1) - goto failed_random; + rc = osmo_get_rand_id(mrand, 16); + if (rc < 0) { + /* the timeout will trigger and close this connection */ + LOGP(DNAT, LOGL_ERROR, "osmo_get_rand_id() failed: %s\n", strerror(-rc)); + return; + } memcpy(buf, mrand, 16); buf += 16; bsc_send_data(bsc, id_req, sizeof(id_req), IPAC_PROTO_IPACCESS); - return; - -failed_random: - /* the timeout will trigger and close this connection */ - LOGP(DNAT, LOGL_ERROR, "Failed to read from urandom.\n"); - return; } static struct msgb *nat_create_rlsd(struct nat_sccp_connection *conn) diff --git a/tests/channel/Makefile.am b/tests/channel/Makefile.am index 395daf722..12f18f85c 100644 --- a/tests/channel/Makefile.am +++ b/tests/channel/Makefile.am @@ -29,5 +29,4 @@ channel_test_LDADD = \ $(top_builddir)/src/libcommon/libcommon.a \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ - $(LIBCRYPTO_LIBS) \ $(NULL) |