aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-12-28 14:57:20 +0100
committerHarald Welte <laforge@gnumonks.org>2010-12-28 15:15:24 +0100
commitcc28b0976798d6b403df8e5d1ca0a791af155b99 (patch)
tree553d3a2908145218d39787e5b8db7a1140138e03 /openbsc
parent58d4190d8c18e190ccde7d42e0e488f9c05eb3b3 (diff)
msc: Attempt to fix a bug with 'stuck' SMS due RF failure on auth
If we have a RF failure between the paging response and the auth success we will not inform the subscriber layer of the failed paging and instead just 'drop' the SMS. In case we have not completed the auth and close the channel we will now send an auth failure.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/gsm_04_08.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index d661e1a8c..b0f3dd913 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -317,6 +317,13 @@ void gsm0408_clear_request(struct gsm_subscriber_connection *conn, uint32_t caus
* operation taking place on the subscriber connection.
*/
release_loc_updating_req(conn);
+
+ /* We might need to cancel the paging response or such. */
+ if (conn->sec_operation && conn->sec_operation->cb) {
+ conn->sec_operation->cb(GSM_HOOK_RR_SECURITY, GSM_SECURITY_AUTH_FAILED,
+ NULL, conn, conn->sec_operation->cb_data);
+ }
+
release_security_operation(conn);
release_anchor(conn);