aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2019-09-24 11:44:28 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2019-09-24 11:48:19 +0200
commit6dcdfb036a7a129ea038b8f7b44a18132fa831ef (patch)
treee56e6e2f4fd6ae58c3e9949bc6671afc28e6ee0d
parente9a39118448e4e6f50f2f1ec579a1b6f5ab5434e (diff)
sgs_iface: Accept messages with unknown TLV elements
3GPP TS 29.118, chapter 7.5 states that unknown TLV elements should be ignored rather than that the whole message is discarded a STATUS message is sent. Lets turn the returncode check of the tlv_parse() call into a log message and continue normally. Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Related: OS#4214
-rw-r--r--src/libmsc/sgs_iface.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c
index b12991c77..a4527f460 100644
--- a/src/libmsc/sgs_iface.c
+++ b/src/libmsc/sgs_iface.c
@@ -945,10 +945,8 @@ int sgs_iface_rx(struct sgs_connection *sgc, struct msgb *msg)
/* Parse TLV elements */
rc = tlv_parse(&tp, &sgsap_ie_tlvdef, msgb_l2(msg) + 1, msgb_l2len(msg) - 1, 0, 0);
- if (rc < 0) {
- TX_STATUS_AND_LOG(sgc, msg_type, SGSAP_SGS_CAUSE_SEMANT_INCORR_MSG, "SGsAP Message %s parsing error\n");
- goto error;
- }
+ if (rc < 0)
+ LOGSGC(sgc, LOGL_NOTICE, "SGsAP Message %s contains unknown TLV IEs\n", sgsap_msg_type_name(msg_type));
/* Most of the messages contain an IMSI as mandatory IE, parse it right here */
if (!TLVP_PRESENT(&tp, SGSAP_IE_IMSI) &&