Change in ...osmo-msc[master]: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code

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/.

lynxis lazus gerrit-no-reply at lists.osmocom.org
Thu Sep 12 00:58:07 UTC 2019


lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15492


Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code
......................................................................

vlr_auth_fsm: on SAI use the GSUP provided GMM cause code

The HLR might respond with a specific GMM cause code. E.g. roaming not
allowed which needs to be passed down the layers.

Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a
---
M src/libvlr/vlr_auth_fsm.c
1 file changed, 11 insertions(+), 10 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/92/15492/1

diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c
index 6026510..d66d1f3 100644
--- a/src/libvlr/vlr_auth_fsm.c
+++ b/src/libvlr/vlr_auth_fsm.c
@@ -331,6 +331,7 @@
 	struct auth_fsm_priv *afp = fi->priv;
 	struct vlr_subscr *vsub = afp->vsub;
 	struct osmo_gsup_message *gsup = data;
+	enum gsm48_reject_value gsm48_rej;
 
 	if (event == VLR_AUTH_E_HLR_SAI_NACK)
 		LOGPFSM(fi, "GSUP: rx Auth Info Error cause: %d: %s\n",
@@ -340,9 +341,9 @@
 	/* We are in what corresponds to the
 	 * Wait_For_Authentication_Sets state of TS 23.018 OAS_VLR */
 	if ((event == VLR_AUTH_E_HLR_SAI_ACK && !gsup->num_auth_vectors)
-	    || (event == VLR_AUTH_E_HLR_SAI_NACK &&
-		gsup->cause != GMM_CAUSE_IMSI_UNKNOWN)
-	    || (event == VLR_AUTH_E_HLR_SAI_ABORT)) {
+		|| (event == VLR_AUTH_E_HLR_SAI_NACK &&
+		    gsup->cause != GMM_CAUSE_IMSI_UNKNOWN)
+		|| (event == VLR_AUTH_E_HLR_SAI_ABORT)) {
 		if (vsub->vlr->cfg.auth_reuse_old_sets_on_error
 		    && vlr_subscr_has_auth_tuple(vsub, -1)) {
 			/* To re-use an old tuple, disable the max_reuse_count
@@ -350,21 +351,21 @@
 			afp->auth_tuple_max_reuse_count = -1;
 			goto pass;
 		}
-		/* result = procedure error */
-		auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE);
-		return;
 	}
 
 	switch (event) {
 	case VLR_AUTH_E_HLR_SAI_ACK:
+		if (!gsup->num_auth_vectors) {
+			auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE);
+			return;
+		}
 		vlr_subscr_update_tuples(vsub, gsup);
 		goto pass;
 		break;
 	case VLR_AUTH_E_HLR_SAI_NACK:
-		auth_fsm_term(fi,
-			      gsup->cause == GMM_CAUSE_IMSI_UNKNOWN?
-				      GSM48_REJECT_IMSI_UNKNOWN_IN_HLR
-				      : GSM48_REJECT_NETWORK_FAILURE);
+	case VLR_AUTH_E_HLR_SAI_ABORT:
+		vlr_gmm_cause_to_mm_cause(gsup->cause, &gsm48_rej);
+		auth_fsm_term(fi, gsm48_rej);
 		break;
 	}
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a
Gerrit-Change-Number: 15492
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis at fe80.eu>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190912/e96e278b/attachment.htm>


More information about the gerrit-log mailing list