pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/30773 )
Change subject: llc: Initialize gprs_cipher ......................................................................
llc: Initialize gprs_cipher
Change-Id: Ifac6239a3695b69f694eb55574de64a62b0787ed --- M include/osmocom/gprs/llc/llc.h M src/llc/llc.c M tests/llc/llc_prim_test.c 3 files changed, 8 insertions(+), 4 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/include/osmocom/gprs/llc/llc.h b/include/osmocom/gprs/llc/llc.h index 062150e..32ea797 100644 --- a/include/osmocom/gprs/llc/llc.h +++ b/include/osmocom/gprs/llc/llc.h @@ -33,7 +33,7 @@ return get_value_string(osmo_gprs_llc_sapi_names, val); }
-int osmo_gprs_llc_init(enum osmo_gprs_llc_location location); +int osmo_gprs_llc_init(enum osmo_gprs_llc_location location, const char *cipher_plugin_path);
enum osmo_gprs_llc_log_cat { OSMO_GPRS_LLC_LOGC_LLC, diff --git a/src/llc/llc.c b/src/llc/llc.c index 402afab..3ddba6a 100644 --- a/src/llc/llc.c +++ b/src/llc/llc.c @@ -121,10 +121,14 @@ }, };
-int osmo_gprs_llc_init(enum osmo_gprs_llc_location location) +int osmo_gprs_llc_init(enum osmo_gprs_llc_location location, const char *cipher_plugin_path) { + int rc; OSMO_ASSERT(location == OSMO_GPRS_LLC_LOCATION_MS || location == OSMO_GPRS_LLC_LOCATION_SGSN)
+ if ((rc = gprs_cipher_load(cipher_plugin_path)) != 0) + return rc; + if (g_ctx) talloc_free(g_ctx);
diff --git a/tests/llc/llc_prim_test.c b/tests/llc/llc_prim_test.c index 4630a4d..63f99aa 100644 --- a/tests/llc/llc_prim_test.c +++ b/tests/llc/llc_prim_test.c @@ -86,7 +86,7 @@
printf("==== %s() [start] ====\n", __func__);
- rc = osmo_gprs_llc_init(OSMO_GPRS_LLC_LOCATION_MS); + rc = osmo_gprs_llc_init(OSMO_GPRS_LLC_LOCATION_MS, NULL); OSMO_ASSERT(rc == 0);
osmo_gprs_llc_prim_set_up_cb(test_llc_prim_up_cb, NULL); @@ -156,7 +156,7 @@
printf("==== %s() [start] ====\n", __func__);
- rc = osmo_gprs_llc_init(OSMO_GPRS_LLC_LOCATION_SGSN); + rc = osmo_gprs_llc_init(OSMO_GPRS_LLC_LOCATION_SGSN, NULL); OSMO_ASSERT(rc == 0);
osmo_gprs_llc_prim_set_up_cb(test_llc_prim_up_cb, NULL);