summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-12-09 00:01:56 +0100
committerHarald Welte <laforge@gnumonks.org>2016-12-13 14:54:02 +0000
commit73ed45599b94f666fedd043028daad9427c241bd (patch)
tree0c656d9798f7b72691c688133f73b80457b374d8
parent2e109f08c07ca7ca5bc0f134d561cad42840b27c (diff)
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
-rw-r--r--openbsc/src/libcommon/oap_client.c24
-rw-r--r--openbsc/tests/oap/oap_client_test.c20
-rw-r--r--openbsc/tests/oap/oap_client_test.err20
3 files changed, 30 insertions, 34 deletions
diff --git a/openbsc/src/libcommon/oap_client.c b/openbsc/src/libcommon/oap_client.c
index 92140c1..46dbcdd 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 1473146..a54e386 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 3272237..248808e 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