This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/7376
gsm_04_08: Ensure we close the SCCP connection on errors
If we don't yet have a connection FSM (most likely processing the
first L3 message), we must make sure to close the SCCP connection
in case there's any error in processing the L3 message.
Change-Id: I6b295cea301427de7a2cd1769a3604c545ca7d68
---
M src/libmsc/gsm_04_08.c
1 file changed, 10 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/76/7376/1
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 437cb59..e44b8da 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -3448,12 +3448,6 @@
gh = msgb_l3(msg);
pdisc = gsm48_hdr_pdisc(gh);
- if (gsm0407_is_duplicate(conn, msg)) {
- LOGP(DRLL, LOGL_NOTICE, "%s: Discarding duplicate L3 message\n",
- (conn && conn->vsub) ? vlr_subscr_name(conn->vsub) : "UNKNOWN");
- return 0;
- }
-
LOGP(DRLL, LOGL_DEBUG, "Dispatching 04.08 message %s (0x%x:0x%x)\n",
gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh)),
pdisc, gsm48_hdr_msg_type(gh));
@@ -3464,7 +3458,8 @@
"subscr %s: Message not permitted for initial conn: %s\n",
vlr_subscr_name(conn->vsub),
gsm48_pdisc_msgtype_name(pdisc, gsm48_hdr_msg_type(gh)));
- return -EACCES;
+ msc_subscr_conn_close(conn, 0);
+ return 0;
}
if (conn->vsub && conn->vsub->cs.attached_via_ran != conn->via_ran) {
@@ -3474,7 +3469,14 @@
vlr_subscr_name(conn->vsub),
ran_type_name(conn->vsub->cs.attached_via_ran),
ran_type_name(conn->via_ran));
- return -EACCES;
+ msc_subscr_conn_close(conn, 0);
+ return 0;
+ }
+
+ if (gsm0407_is_duplicate(conn, msg)) {
+ LOGP(DRLL, LOGL_NOTICE, "%s: Discarding duplicate L3 message\n",
+ (conn && conn->vsub) ? vlr_subscr_name(conn->vsub) : "UNKNOWN");
+ return 0;
}
#if 0
--
To view, visit https://gerrit.osmocom.org/7376
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b295cea301427de7a2cd1769a3604c545ca7d68
Gerrit-PatchSet: 1
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>