aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-03-31 14:59:20 +0200
committerHarald Welte <laforge@gnumonks.org>2019-03-31 14:59:20 +0200
commita8b86ceff2c05a623b23428da4974490ec9c15ef (patch)
tree7d2dd41d1a8979fd26c30e79711bb60b8aa7cb06
parent24a3e32db7f41e36cbdfe00cdbd868b6255c82c6 (diff)
client/server: log failed attempts to transmit/encode RSPRO
-rw-r--r--src/rspro_client_fsm.c7
-rw-r--r--src/server/rspro_server.c10
2 files changed, 16 insertions, 1 deletions
diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c
index c8d9f4e..facb0f2 100644
--- a/src/rspro_client_fsm.c
+++ b/src/rspro_client_fsm.c
@@ -59,6 +59,8 @@ int ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
{
struct msgb *msg = rspro_enc_msg(rspro);
if (!msg) {
+ LOGP(DMAIN, LOGL_ERROR, "Error encoding RSPRO: %s\n", rspro_msgt_name(rspro));
+ osmo_log_backtrace(DMAIN, LOGL_ERROR);
ASN_STRUCT_FREE(asn_DEF_RsproPDU, rspro);
return -1;
}
@@ -68,6 +70,11 @@ int ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
int server_conn_send_rspro(struct rspro_server_conn *srvc, RsproPDU_t *rspro)
{
+ if (!rspro) {
+ LOGPFSML(srvc->fi, LOGL_ERROR, "Attempt to transmit NULL\n");
+ osmo_log_backtrace(DMAIN, LOGL_ERROR);
+ return -EINVAL;
+ }
LOGPFSM(srvc->fi, "Tx RSPRO %s\n", rspro_msgt_name(rspro));
return ipa_client_conn_send_rspro(srvc->conn, rspro);
}
diff --git a/src/server/rspro_server.c b/src/server/rspro_server.c
index 3ad257f..b2bcb79 100644
--- a/src/server/rspro_server.c
+++ b/src/server/rspro_server.c
@@ -44,12 +44,20 @@ static RsproPDU_t *slotmap2RemoveMappingReq(const struct slot_mapping *slotmap)
static void client_conn_send(struct rspro_client_conn *conn, RsproPDU_t *pdu)
{
+ if (!pdu) {
+ LOGPFSML(conn->fi, LOGL_ERROR, "Attempt to transmit NULL\n");
+ osmo_log_backtrace(DMAIN, LOGL_ERROR);
+ return;
+ }
+ LOGPFSM(conn->fi, "Tx RSPRO %s\n", rspro_msgt_name(pdu));
+
struct msgb *msg_tx = rspro_enc_msg(pdu);
if (!msg_tx) {
+ LOGPFSML(conn->fi, LOGL_ERROR, "Error encdoing RSPRO %s\n", rspro_msgt_name(pdu));
+ osmo_log_backtrace(DMAIN, LOGL_ERROR);
ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
return;
}
- LOGPFSM(conn->fi, "Tx RSPRO %s\n", rspro_msgt_name(pdu));
ipa_prepend_header_ext(msg_tx, IPAC_PROTO_EXT_RSPRO);
ipa_msg_push_header(msg_tx, IPAC_PROTO_OSMO);
ipa_server_conn_send(conn->peer, msg_tx);