Harald Welte has uploaded this change for review. ( 
https://gerrit.osmocom.org/13736


Change subject: msc: f_mm_auth(): Add support for UMTS AKA
......................................................................

msc: f_mm_auth(): Add support for UMTS AKA

Change-Id: Id57adcebd63a06cfa555824e493561fe08f13d6d
---
M msc/BSC_ConnectionHandler.ttcn
1 file changed, 28 insertions(+), 8 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/36/13736/1

diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 4534a9b..e408f82 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -75,7 +75,8 @@
        boolean mm_info,
        boolean sgsap_enable,
        boolean gsup_enable,
-       integer ran_idx
+       integer ran_idx,
+       boolean use_umts_aka
 };

 /* get a one-octet bitmaks of supported algorithms based on Classmark 
information */
@@ -293,15 +294,34 @@
 function f_mm_auth() runs on BSC_ConnHdlr
 {
        if (g_pars.net.expect_auth) {
-               g_pars.vec := f_gen_auth_vec_2g();
-               var GSUP_IE auth_tuple := 
valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand,
-                                                                        
g_pars.vec.sres,
-                                                                        
g_pars.vec.kc));
+               var GSUP_IE auth_tuple;
                GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi));
-               GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple));

-               
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_AUTH_REQ(g_pars.vec.rand)));
-               
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MT_MM_AUTH_RESP_2G(g_pars.vec.sres)));
+               if (g_pars.use_umts_aka) {
+                       g_pars.vec := f_gen_auth_vec_3g();
+                       auth_tuple := 
valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand,
+                                                                       
g_pars.vec.sres,
+                                                                       
g_pars.vec.kc,
+                                                                       
g_pars.vec.ik,
+                                                                       
g_pars.vec.ck,
+                                                                       
g_pars.vec.autn,
+                                                                       
g_pars.vec.res));
+                       GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple));
+
+                       
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_AUTH_REQ_3G(g_pars.vec.rand, 
g_pars.vec.autn)));
+                       var OCT4 res := substr(g_pars.vec.res, 0, 4);
+                       var OCT4 xres := substr(g_pars.vec.res, 4, 4);
+                       
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MT_MM_AUTH_RESP_3G(res, xres)));
+               } else {
+                       g_pars.vec := f_gen_auth_vec_2g();
+                       auth_tuple := 
valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand,
+                                                                       
g_pars.vec.sres,
+                                                                       
g_pars.vec.kc));
+                       GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple));
+
+                       
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_AUTH_REQ(g_pars.vec.rand)));
+                       
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MT_MM_AUTH_RESP_2G(g_pars.vec.sres)));
+               }
        }
 }


--
To view, visit https://gerrit.osmocom.org/13736
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id57adcebd63a06cfa555824e493561fe08f13d6d
Gerrit-Change-Number: 13736
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <[email protected]>

Reply via email to