summaryrefslogtreecommitdiffstats
path: root/osmo-gsup-hlr
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-04-28 11:13:15 +0200
committerHarald Welte <laforge@gnumonks.org>2016-04-28 11:13:15 +0200
commit3e8427dc2b97ce04d90b32776d1ee35b84da828d (patch)
treec9dbc33fd5d78b9d33e602102464bdae76dd11bd /osmo-gsup-hlr
parent1b80f77f8359e587a300e3ab5220a37ca2b20f7c (diff)
more verbose error handling in osmo_gsup_server_read_cb()
Diffstat (limited to 'osmo-gsup-hlr')
-rw-r--r--osmo-gsup-hlr/src/gsup_server.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/osmo-gsup-hlr/src/gsup_server.c b/osmo-gsup-hlr/src/gsup_server.c
index 525b3b5..15af9c8 100644
--- a/osmo-gsup-hlr/src/gsup_server.c
+++ b/osmo-gsup-hlr/src/gsup_server.c
@@ -66,11 +66,16 @@ static int osmo_gsup_server_read_cb(struct ipa_server_conn *conn,
return 0;
}
- if (hh->proto != IPAC_PROTO_OSMO)
+ if (hh->proto != IPAC_PROTO_OSMO) {
+ LOGP(DLGSUP, LOGL_NOTICE, "Unsupported IPA stream ID 0x%02x\n",
+ hh->proto);
goto invalid;
+ }
- if (!he || msgb_l2len(msg) < sizeof(*he))
+ if (!he || msgb_l2len(msg) < sizeof(*he)) {
+ LOGP(DLGSUP, LOGL_NOTICE, "short IPA message\n");
goto invalid;
+ }
msg->l2h = &he->data[0];
@@ -81,15 +86,18 @@ static int osmo_gsup_server_read_cb(struct ipa_server_conn *conn,
} else if (he->proto == IPAC_PROTO_EXT_OAP) {
return osmo_gsup_conn_oap_handle(clnt, msg);
/* osmo_gsup_client_oap_handle frees msg */
- } else
+ } else {
+ LOGP(DLGSUP, LOGL_NOTICE, "Unsupported IPA Osmo Proto 0x%02x\n",
+ hh->proto);
goto invalid;
+ }
return 0;
invalid:
LOGP(DLGSUP, LOGL_NOTICE,
- "GSUP received an invalid IPA message from %s:%d, size = %d\n",
- conn->addr, conn->port, msgb_length(msg));
+ "GSUP received an invalid IPA message from %s:%d: %s\n",
+ conn->addr, conn->port, osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)));
msgb_free(msg);
return -1;