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.orgReview at https://gerrit.osmocom.org/6023 GSUP/L3: Add templates related to authentication Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554 --- M library/GSUP_Types.ttcn M library/L3_Templates.ttcn 2 files changed, 152 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/6023/1 diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 7455085..bc54510 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -88,8 +88,15 @@ variant (val) "CROSSTAG(imsi, tag = OSMO_GSUP_IMSI_IE; cause, tag = OSMO_GSUP_CAUSE_IE; cancel_type, tag = OSMO_GSUP_CANCEL_TYPE_IE; + auth_tuple, tag = OSMO_GSUP_AUTH_TUPLE_IE; auts, tag = OSMO_GSUP_AUTS_IE; rand, tag = OSMO_GSUP_RAND_IE; + sres, tag = OSMO_GSUP_SRES_IE; + kc, tag = OSMO_GSUP_KC_IE; + ik, tag = OSMO_GSUP_IK_IE; + ck, tag = OSMO_GSUP_CK_IE; + autn, tag = OSMO_GSUP_AUTN_IE; + res, tag = OSMO_GSUP_RES_IE; msisdn, tag = OSMO_GSUP_MSISDN_IE; hlr_number, tag = OSMO_GSUP_HLR_NUMBER_IE; cn_domain, tag = OSMO_GSUP_CN_DOMAIN_IE; @@ -108,6 +115,12 @@ GSUP_IEs auth_tuple, octetstring auts, octetstring rand, + octetstring sres, + octetstring kc, + octetstring ik, + octetstring ck, + octetstring autn, + octetstring res, hexstring msisdn, octetstring hlr_number, GSUP_CnDomain cn_domain, @@ -126,6 +139,38 @@ with { extension "prototype(convert) decode(RAW)" }; +template GSUP_IE ts_GSUP_IE_AuthTuple2G(octetstring rand, octetstring sres, + octetstring kc) := { + tag := OSMO_GSUP_AUTH_TUPLE_IE, + len := 0, /* overwritten */ + val := { + auth_tuple := { + valueof(ts_GSUP_IE_RAND(rand)), + valueof(ts_GSUP_IE_SRES(sres)), + valueof(ts_GSUP_IE_Kc(kc)) + } + } +} + +template GSUP_IE ts_GSUP_IE_AuthTuple2G3G(octetstring rand, octetstring sres, + octetstring kc, octetstring ik, + octetstring ck, octetstring autn, + octetstring res) := { + tag := OSMO_GSUP_AUTH_TUPLE_IE, + len := 0, /* overwritten */ + val := { + auth_tuple := { + valueof(ts_GSUP_IE_RAND(rand)), + valueof(ts_GSUP_IE_SRES(sres)), + valueof(ts_GSUP_IE_Kc(kc)), + valueof(ts_GSUP_IE_IK(ik)), + valueof(ts_GSUP_IE_CK(ck)), + valueof(ts_GSUP_IE_AUTN(autn)), + valueof(ts_GSUP_IE_RES(res)) + } + } +} + template GSUP_PDU tr_GSUP(template GSUP_MessageType msgt := ?, template GSUP_IEs ies := *) := { msg_type := msgt, ies := ies @@ -141,6 +186,10 @@ template GSUP_PDU tr_GSUP_SAI_REQ(template hexstring imsi) := tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { tr_GSUP_IE_IMSI(imsi), * }); + +template (value) GSUP_PDU ts_GSUP_SAI_RES(hexstring imsi, GSUP_IE auth_tuple) := + ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, { + valueof(ts_GSUP_IE_IMSI(imsi)), auth_tuple }); template GSUP_PDU tr_GSUP_SAI_ERR(template hexstring imsi, template integer cause) := tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { @@ -241,6 +290,53 @@ } } +template (value) GSUP_IE ts_GSUP_IE_SRES(octetstring sres) := { + tag := OSMO_GSUP_SRES_IE, + len := 0, /* overwritten */ + val := { + sres := sres + } +} + +template (value) GSUP_IE ts_GSUP_IE_Kc(octetstring kc) := { + tag := OSMO_GSUP_KC_IE, + len := 0, /* overwritten */ + val := { + kc := kc + } +} + +template (value) GSUP_IE ts_GSUP_IE_IK(octetstring ik) := { + tag := OSMO_GSUP_IK_IE, + len := 0, /* overwritten */ + val := { + ik := ik + } +} + +template (value) GSUP_IE ts_GSUP_IE_CK(octetstring ck) := { + tag := OSMO_GSUP_CK_IE, + len := 0, /* overwritten */ + val := { + ck := ck + } +} + +template (value) GSUP_IE ts_GSUP_IE_AUTN(octetstring autn) := { + tag := OSMO_GSUP_AUTN_IE, + len := 0, /* overwritten */ + val := { + autn := autn + } +} + +template (value) GSUP_IE ts_GSUP_IE_RES(octetstring res) := { + tag := OSMO_GSUP_RES_IE, + len := 0, /* overwritten */ + val := { + res := res + } +} diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index be9386a..d652873 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -474,6 +474,62 @@ } } +template PDU_ML3_NW_MS tr_ML3_MT_MM_AUTH_REQ(template OCT16 rand := ?) := { + discriminator := '0101'B, + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + mm := { + authenticationRequest := { + messageType := '010010'B, + nsd := '00'B, + cipheringKeySequenceNumber := ?, + spare2_4 := ?, + authenticationParRAND := rand, + authenticationParAUTN := * + } + } + } +} + +template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_2G(OCT4 sres) := { + discriminator := '0101'B, + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + mm := { + authenticationResponse := { + messageType := '010100'B, + nsd := '00'B, + authenticationParSRES := sres, + authenticationParSRESext := omit + } + } + } +} + +template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_3G(OCT4 sres, octetstring res) := { + discriminator := '0101'B, + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + mm := { + authenticationResponse := { + messageType := '010100'B, + nsd := '00'B, + authenticationParSRES := sres, + authenticationParSRESext := { + elementIdentifier := '21'O, + lengthIndicator := 0, /* overwritten */ + valueField := res + } + } + } + } +} } -- To view, visit https://gerrit.osmocom.org/6023 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554 Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>