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/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgHello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/1396 to look at the new patch set (#2). oap_client: make use of OAP optional: disable for NULL config When passing a NULL config to osmo_oap_client_init(), set OAP to disabled state. Along with the previous fix that ensures message rejection in the disabled state, this makes use of OAP in the GSUP client optional. oap_client_test: expect null config to set state to disabled. Related: OS#1592 Change-Id: Ie4d622fcfd24cb7d89d19f93e4b2571d8fadd1a3 --- M openbsc/src/libcommon/gsup_client.c M openbsc/src/libcommon/oap_client.c M openbsc/tests/oap/oap_client_test.c M openbsc/tests/oap/oap_client_test.err 4 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/96/1396/2 diff --git a/openbsc/src/libcommon/gsup_client.c b/openbsc/src/libcommon/gsup_client.c index 4c1fe61..2e920a6 100644 --- a/openbsc/src/libcommon/gsup_client.c +++ b/openbsc/src/libcommon/gsup_client.c @@ -266,7 +266,7 @@ struct gsup_client *gsup_client_create(const char *ip_addr, unsigned int tcp_port, gsup_client_read_cb_t read_cb, - struct oap_client_config *oap_config) + struct oap_client_config *oapc_config) { struct gsup_client *gsupc; int rc; @@ -274,7 +274,8 @@ gsupc = talloc_zero(tall_bsc_ctx, struct gsup_client); OSMO_ASSERT(gsupc); - rc = oap_client_init(oap_config, &gsupc->oap_state); + /* a NULL oapc_config will mark oap_state disabled. */ + rc = oap_client_init(oapc_config, &gsupc->oap_state); if (rc != 0) goto failed; diff --git a/openbsc/src/libcommon/oap_client.c b/openbsc/src/libcommon/oap_client.c index e372ede..54b71e4 100644 --- a/openbsc/src/libcommon/oap_client.c +++ b/openbsc/src/libcommon/oap_client.c @@ -35,6 +35,9 @@ { OSMO_ASSERT(state->state == OAP_UNINITIALIZED); + if (!config) + goto disable; + if (config->client_id == 0) goto disable; diff --git a/openbsc/tests/oap/oap_client_test.c b/openbsc/tests/oap/oap_client_test.c index 0163a0c..fac7315 100644 --- a/openbsc/tests/oap/oap_client_test.c +++ b/openbsc/tests/oap/oap_client_test.c @@ -62,6 +62,10 @@ msgb_free(msg_rx); OSMO_ASSERT(!msg_tx); + fprintf(stderr, "- NULL config should disable\n"); + OSMO_ASSERT( oap_client_init(NULL, state) == 0 ); + OSMO_ASSERT(state->state == OAP_DISABLED); + fprintf(stderr, "- reject messages in disabled state\n"); memset(state, 0, sizeof(*state)); memset(&oap_rx, 0, sizeof(oap_rx)); diff --git a/openbsc/tests/oap/oap_client_test.err b/openbsc/tests/oap/oap_client_test.err index d014390..8e15ecb 100644 --- a/openbsc/tests/oap/oap_client_test.err +++ b/openbsc/tests/oap/oap_client_test.err @@ -1,6 +1,7 @@ - make sure filling with zeros means uninitialized - reject messages in uninitialized state DLOAP Received OAP message 5, but the OAP client is not initialized +- NULL config should disable - reject messages in disabled state DLOAP Received OAP message 5, but the OAP client is disabled - invalid client_id and shared secret -- To view, visit https://gerrit.osmocom.org/1396 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie4d622fcfd24cb7d89d19f93e4b2571d8fadd1a3 Gerrit-PatchSet: 2 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder