From 73ed45599b94f666fedd043028daad9427c241bd Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 9 Dec 2016 00:01:56 +0100 Subject: oap_client: move logging to DLOAP logging category Use libosmocore's DLOAP logging category for OAP. oap_client_test.c: make sure DLOAP is in DEBUG level to not lose any logging messages from experr. Todo: we're using a "Library" logging category, which is not really what the library category was intended for. Instead, the OAP client should probably be given a logging category like DVLR or DGPRS in its initialization API. Related: OS#1592 Change-Id: Ic765c19381b0d983da90a5d8aee9cd17e31cf34a --- openbsc/src/libcommon/oap_client.c | 24 ++++++++++++------------ openbsc/tests/oap/oap_client_test.c | 20 ++++++++------------ openbsc/tests/oap/oap_client_test.err | 20 ++++++++++---------- 3 files changed, 30 insertions(+), 34 deletions(-) (limited to 'openbsc') diff --git a/openbsc/src/libcommon/oap_client.c b/openbsc/src/libcommon/oap_client.c index 92140c17d..46dbcdda2 100644 --- a/openbsc/src/libcommon/oap_client.c +++ b/openbsc/src/libcommon/oap_client.c @@ -38,12 +38,12 @@ int oap_client_init(struct oap_client_config *config, goto disable; if (config->secret_k_present == 0) { - LOGP(DGPRS, LOGL_NOTICE, "OAP: client ID set, but secret K missing.\n"); + LOGP(DLOAP, LOGL_NOTICE, "OAP: client ID set, but secret K missing.\n"); goto disable; } if (config->secret_opc_present == 0) { - LOGP(DGPRS, LOGL_NOTICE, "OAP: client ID set, but secret OPC missing.\n"); + LOGP(DLOAP, LOGL_NOTICE, "OAP: client ID set, but secret OPC missing.\n"); goto disable; } @@ -101,16 +101,16 @@ static int oap_evaluate_challenge(const struct oap_client_state *state, osmo_auth_gen_vec(&vec, &auth, rx_random); if (vec.res_len != 8) { - LOGP(DGPRS, LOGL_ERROR, "OAP: Expected XRES to be 8 octets, got %d\n", + LOGP(DLOAP, LOGL_ERROR, "OAP: Expected XRES to be 8 octets, got %d\n", vec.res_len); return -3; } if (osmo_constant_time_cmp(vec.autn, rx_autn, sizeof(vec.autn)) != 0) { - LOGP(DGPRS, LOGL_ERROR, "OAP: AUTN mismatch!\n"); - LOGP(DGPRS, LOGL_INFO, "OAP: AUTN from server: %s\n", + LOGP(DLOAP, LOGL_ERROR, "OAP: AUTN mismatch!\n"); + LOGP(DLOAP, LOGL_INFO, "OAP: AUTN from server: %s\n", osmo_hexdump_nospc(rx_autn, sizeof(vec.autn))); - LOGP(DGPRS, LOGL_INFO, "OAP: AUTN expected: %s\n", + LOGP(DLOAP, LOGL_INFO, "OAP: AUTN expected: %s\n", osmo_hexdump_nospc(vec.autn, sizeof(vec.autn))); return -2; } @@ -135,7 +135,7 @@ static struct msgb* oap_msg_register(uint16_t client_id) struct osmo_oap_message oap_msg = {0}; if (client_id < 1) { - LOGP(DGPRS, LOGL_ERROR, "OAP: Invalid client ID: %d\n", client_id); + LOGP(DLOAP, LOGL_ERROR, "OAP: Invalid client ID: %d\n", client_id); return NULL; } @@ -175,7 +175,7 @@ static int handle_challenge(struct oap_client_state *state, uint8_t xres[8]; if (!(oap_rx->rand_present && oap_rx->autn_present)) { - LOGP(DGPRS, LOGL_ERROR, + LOGP(DLOAP, LOGL_ERROR, "OAP challenge incomplete (rand_present: %d, autn_present: %d)\n", oap_rx->rand_present, oap_rx->autn_present); rc = -2; @@ -218,7 +218,7 @@ int oap_client_handle(struct oap_client_state *state, rc = osmo_oap_decode(&oap_msg, data, data_len); if (rc < 0) { - LOGP(DGPRS, LOGL_ERROR, + LOGP(DLOAP, LOGL_ERROR, "Decoding OAP message failed with error '%s' (%d)\n", get_value_string(gsm48_gmm_cause_names, -rc), -rc); return -10; @@ -234,7 +234,7 @@ int oap_client_handle(struct oap_client_state *state, break; case OAP_MSGT_REGISTER_ERROR: - LOGP(DGPRS, LOGL_ERROR, + LOGP(DLOAP, LOGL_ERROR, "OAP registration failed\n"); state->state = OAP_INITIALIZED; if (state->registration_failures < 3) { @@ -245,13 +245,13 @@ int oap_client_handle(struct oap_client_state *state, case OAP_MSGT_REGISTER_REQUEST: case OAP_MSGT_CHALLENGE_RESULT: - LOGP(DGPRS, LOGL_ERROR, + LOGP(DLOAP, LOGL_ERROR, "Received invalid OAP message type for OAP client side: %d\n", (int)oap_msg.message_type); return -12; default: - LOGP(DGPRS, LOGL_ERROR, + LOGP(DLOAP, LOGL_ERROR, "Unknown OAP message type: %d\n", (int)oap_msg.message_type); return -13; diff --git a/openbsc/tests/oap/oap_client_test.c b/openbsc/tests/oap/oap_client_test.c index 147314689..a54e3869c 100644 --- a/openbsc/tests/oap/oap_client_test.c +++ b/openbsc/tests/oap/oap_client_test.c @@ -213,17 +213,12 @@ static void test_oap_api(void) msgb_free(msg_rx); } -static struct log_info_cat gprs_categories[] = { - [DGPRS] = { - .name = "DGPRS", - .description = "GPRS Packet Service", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, +static struct log_info_cat oap_client_test_categories[] = { }; static struct log_info info = { - .cat = gprs_categories, - .num_cat = ARRAY_SIZE(gprs_categories), + .cat = oap_client_test_categories, + .num_cat = ARRAY_SIZE(oap_client_test_categories), }; int main(int argc, char **argv) @@ -232,10 +227,11 @@ int main(int argc, char **argv) osmo_init_logging(&info); OSMO_ASSERT(osmo_stderr_target); - osmo_stderr_target->use_color = 0; - osmo_stderr_target->print_timestamp = 0; - osmo_stderr_target->print_filename = 0; - osmo_stderr_target->print_category = 1; + log_set_use_color(osmo_stderr_target, 0); + log_set_print_timestamp(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 1); + log_parse_category_mask(osmo_stderr_target, "DLOAP,1"); test_oap_api(); printf("Done\n"); diff --git a/openbsc/tests/oap/oap_client_test.err b/openbsc/tests/oap/oap_client_test.err index 327223763..248808e73 100644 --- a/openbsc/tests/oap/oap_client_test.err +++ b/openbsc/tests/oap/oap_client_test.err @@ -3,26 +3,26 @@ - reset state - only client_id is invalid - valid id, but omitted shared_secret (1/2) -DGPRS OAP: client ID set, but secret K missing. +DLOAP OAP: client ID set, but secret K missing. - valid id, but omitted shared_secret (2/2) -DGPRS OAP: client ID set, but secret OPC missing. +DLOAP OAP: client ID set, but secret OPC missing. - mint configuration - Missing challenge data -DGPRS OAP challenge incomplete (rand_present: 0, autn_present: 0) +DLOAP OAP challenge incomplete (rand_present: 0, autn_present: 0) - AUTN missing -DGPRS OAP challenge incomplete (rand_present: 1, autn_present: 0) +DLOAP OAP challenge incomplete (rand_present: 1, autn_present: 0) - RAND missing -DGPRS OAP challenge incomplete (rand_present: 0, autn_present: 1) +DLOAP OAP challenge incomplete (rand_present: 0, autn_present: 1) - wrong autn (by one bit) -DGPRS OAP: AUTN mismatch! -DGPRS OAP: AUTN from server: dec4e3848a33000086781158ca40f136 -DGPRS OAP: AUTN expected: cec4e3848a33000086781158ca40f136 +DLOAP OAP: AUTN mismatch! +DLOAP OAP: AUTN from server: dec4e3848a33000086781158ca40f136 +DLOAP OAP: AUTN expected: cec4e3848a33000086781158ca40f136 - all data correct - but refuse to evaluate in uninitialized state - now everything is correct - Expect the challenge response in msg_tx - Receive registration error for the first time. -DGPRS OAP registration failed +DLOAP OAP registration failed - Receive registration error for the Nth time. -DGPRS OAP registration failed +DLOAP OAP registration failed - Registration success -- cgit v1.2.3