lynxis lazus has submitted this change. ( 
https://gerrit.osmocom.org/c/erlang/osmo_dia2gsup/+/43092?usp=email )

Change subject: Set Item-Number in UTRAN and GERAN vectors.
......................................................................

Set Item-Number in UTRAN and GERAN vectors.

For some reason this field was only being set on E-UTRAN vectors, even though 
its required for all vectors.

Change-Id: I75da04b806f23452c9b4cfaad0446dceb32a0369
---
M src/server_cb.erl
1 file changed, 22 insertions(+), 8 deletions(-)

Approvals:
  lynxis lazus: Looks good to me, approved
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve




diff --git a/src/server_cb.erl b/src/server_cb.erl
index f51bb5c..1606085 100644
--- a/src/server_cb.erl
+++ b/src/server_cb.erl
@@ -74,13 +74,13 @@
        #'E-UTRAN-Vector'{'Item-Number'=Idx, 'RAND'=Rand, 'XRES'=Res , 
'AUTN'=Autn,
                          'KASME'=compute_kasme(Ck, Ik, Vplmn, Autn)}.

--spec gsup_tuple2dia_utran('GSUPAuthTuple'()) -> #'UTRAN-Vector'{}.
-gsup_tuple2dia_utran(#{autn:=Autn, ck:=Ck, ik:=Ik, rand:=Rand, res:=Res}) ->
-       #'UTRAN-Vector'{'RAND'=Rand, 'XRES'=Res, 'AUTN'=Autn, 
'Confidentiality-Key'=Ck, 'Integrity-Key'=Ik}.
+-spec gsup_tuple2dia_utran('GSUPAuthTuple'(), integer()) -> #'UTRAN-Vector'{}.
+gsup_tuple2dia_utran(#{autn:=Autn, ck:=Ck, ik:=Ik, rand:=Rand, res:=Res}, Idx) 
->
+       #'UTRAN-Vector'{'Item-Number'=Idx, 'RAND'=Rand, 'XRES'=Res, 
'AUTN'=Autn, 'Confidentiality-Key'=Ck, 'Integrity-Key'=Ik}.

--spec gsup_tuple2dia_geran('GSUPAuthTuple'()) -> #'GERAN-Vector'{}.
-gsup_tuple2dia_geran(#{rand:=Rand, sres:=Sres, kc:=Kc}) ->
-       #'GERAN-Vector'{'RAND'=Rand, 'SRES'=Sres, 'Kc'=Kc}.
+-spec gsup_tuple2dia_geran('GSUPAuthTuple'(), integer()) -> #'GERAN-Vector'{}.
+gsup_tuple2dia_geran(#{rand:=Rand, sres:=Sres, kc:=Kc}, Idx) ->
+       #'GERAN-Vector'{'Item-Number'=Idx, 'RAND'=Rand, 'SRES'=Sres, 'Kc'=Kc}.

 -spec gsup_tuples2dia_eutran(['GSUPAuthTuple'()], binary()) -> 
[#'E-UTRAN-Vector'{}].
 gsup_tuples2dia_eutran(List, Vplmn) -> gsup_tuples2dia_eutran(List, Vplmn, [], 
1).
@@ -89,6 +89,20 @@
        Dia = gsup_tuple2dia_eutran(Head, Vplmn, Ctr),
        gsup_tuples2dia_eutran(Tail, Vplmn, [Dia|Out], Ctr+1).

+-spec gsup_tuples2dia_utran(['GSUPAuthTuple'()]) -> [#'UTRAN-Vector'{}].
+gsup_tuples2dia_utran(List) -> gsup_tuples2dia_utran(List, [], 1).
+gsup_tuples2dia_utran([], Out, _Idx) -> Out;
+gsup_tuples2dia_utran([Head|Tail], Out, Ctr) ->
+       Dia = gsup_tuple2dia_utran(Head, Ctr),
+       gsup_tuples2dia_utran(Tail, [Dia|Out], Ctr+1).
+
+-spec gsup_tuples2dia_geran(['GSUPAuthTuple'()]) -> [#'GERAN-Vector'{}].
+gsup_tuples2dia_geran(List) -> gsup_tuples2dia_geran(List, [], 1).
+gsup_tuples2dia_geran([], Out, _Idx) -> Out;
+gsup_tuples2dia_geran([Head|Tail], Out, Ctr) ->
+       Dia = gsup_tuple2dia_geran(Head, Ctr),
+       gsup_tuples2dia_geran(Tail, [Dia|Out], Ctr+1).
+
 -type int_or_false() :: false | integer().
 -spec gsup_tuples2dia(['GSUPAuthTuple'()], binary(), int_or_false(), 
int_or_false(), int_or_false()) -> #'Authentication-Info'{}.
 gsup_tuples2dia(Tuples, Vplmn, NumEutran, NumUtran, NumGeran) ->
@@ -100,12 +114,12 @@
        case NumUtran of
                false -> UtranVecs = [];
                0 -> UtranVecs = [];
-               _ -> UtranVecs = lists:map(fun gsup_tuple2dia_utran/1, 
lists:sublist(Tuples,NumUtran))
+               _ -> UtranVecs = 
gsup_tuples2dia_utran(lists:sublist(Tuples,NumUtran))
        end,
        case NumGeran of
                false -> GeranVecs = [];
                0 -> GeranVecs = [];
-               _ -> GeranVecs = lists:map(fun gsup_tuple2dia_geran/1, 
lists:sublist(Tuples,NumGeran))
+               _ -> GeranVecs = 
gsup_tuples2dia_geran(lists:sublist(Tuples,NumGeran))
        end,
        #'Authentication-Info'{'E-UTRAN-Vector'=EutranVecs, 
'UTRAN-Vector'=UtranVecs,
                                'GERAN-Vector'=GeranVecs}.

--
To view, visit 
https://gerrit.osmocom.org/c/erlang/osmo_dia2gsup/+/43092?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo_dia2gsup
Gerrit-Branch: master
Gerrit-Change-Id: I75da04b806f23452c9b4cfaad0446dceb32a0369
Gerrit-Change-Number: 43092
Gerrit-PatchSet: 2
Gerrit-Owner: theenbyperor <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: lynxis lazus <[email protected]>

Reply via email to