diff options
author | Harald Welte <laforge@gnumonks.org> | 2016-04-28 11:13:15 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-04-28 11:13:15 +0200 |
commit | f2d96dad3b1d3dbf94c517721fc18a472da0aabb (patch) | |
tree | 8fc5b1fe5b7abec84b62ef42ca445fefa91eddfe /src/gsup_server.c | |
parent | 173afdbdbf1ce7088d73d4d0f77d04b3d218273a (diff) |
more verbose error handling in osmo_gsup_server_read_cb()
Diffstat (limited to 'src/gsup_server.c')
-rw-r--r-- | src/gsup_server.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gsup_server.c b/src/gsup_server.c index 525b3b5..15af9c8 100644 --- a/src/gsup_server.c +++ b/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; |