lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2026

  • 1 participants
  • 1227 discussions
[M] Change in libosmo-sigtran[master]: as_vty: Support configuring OPC+mask and improve input validation
by pespin 09 Oct '26

09 Oct '26
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/43813?usp=email ) Change subject: as_vty: Support configuring OPC+mask and improve input validation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/43813?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Icd9e43736ea9240060244cebcacba1f8119043a5 Gerrit-Change-Number: 43813 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 09 Oct 2026 12:10:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: SGP32Definitions_Templates: add new template (authClientError)
by dexter 09 Oct '26

09 Oct '26
Attention is currently required from: dexter, jolly. Hello Jenkins Builder, jolly, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43823?usp=email to look at the new patch set (#3). The following approvals got outdated and were removed: Code-Review+1 by jolly Change subject: SGP32Definitions_Templates: add new template (authClientError) ...................................................................... SGP32Definitions_Templates: add new template (authClientError) The SGP.32 templates currently lack a template to match on an authenticateClientErrorEsipa. Let's add one. Change-Id: I4e5db6125315d9a77b98a5f089bd350effaaa9ff Related: SYS#8203 --- M library/euicc/SGP32Definitions_Templates.ttcn 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/43823/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43823?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e5db6125315d9a77b98a5f089bd350effaaa9ff Gerrit-Change-Number: 43823 Gerrit-PatchSet: 3 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: jolly <andreas(a)eversberg.eu> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
1 0
0 0
[XS] Change in osmo-ttcn3-hacks[master]: SGP32Definitions_Templates: add new template (otherSignedNotif)
by dexter 09 Oct '26

09 Oct '26
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43840?usp=email ) Change subject: SGP32Definitions_Templates: add new template (otherSignedNotif) ...................................................................... SGP32Definitions_Templates: add new template (otherSignedNotif) We have a template pendingNotification template for the profileInstallationResult, but we do not have a corespnding template for an otherSignedNotification yet. Let's add one. Change-Id: I97be7f08c4b52220a65d8ff3ff7836b40105e87c Related: SYS#8203 --- M library/euicc/SGP32Definitions_Templates.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/43840/1 diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index 979586d..363a84f 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -897,6 +897,14 @@ 5353535353535353535353535353535353535353535353535353535353535353'O } } +template (present) SGP32_PendingNotification +tr_SGP32_pendingNotification_otherSignedNotif(template (present) OtherSignedNotification otherSignedNotification) := { + otherSignedNotification := otherSignedNotification +} +template (value) SGP32_PendingNotification +ts_SGP32_pendingNotification_otherSignedNotif(template (value) OtherSignedNotification otherSignedNotification) := { + otherSignedNotification := otherSignedNotification +} template (present) EsipaMessageFromIpaToEim tr_handleNotificationEsipa_pendingNotif(template (present) SGP32_PendingNotification pendingNotification := tr_SGP32_pendingNotification_prfleInstRslt) := { handleNotificationEsipa := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43840?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97be7f08c4b52220a65d8ff3ff7836b40105e87c Gerrit-Change-Number: 43840 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: eIM_Tests: use constants from SGP23_constants
by dexter 09 Oct '26

09 Oct '26
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43842?usp=email ) Change subject: eIM_Tests: use constants from SGP23_constants ...................................................................... eIM_Tests: use constants from SGP23_constants The eIM tests define some custom constants for some values, Let's use the constants from SGP23_constants. Related: SYS#8203 Change-Id: I9d554a10d1f8e84bf86562448765962aa1f02518 --- M eim/eIM_Tests.ttcn 1 file changed, 34 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/43842/1 diff --git a/eim/eIM_Tests.ttcn b/eim/eIM_Tests.ttcn index 8675c99..1547eab 100644 --- a/eim/eIM_Tests.ttcn +++ b/eim/eIM_Tests.ttcn @@ -44,8 +44,7 @@ import from PIPEasp_PortType all; import from PIPEasp_Types all; -const octetstring eID := '89882119900000000000000000000005'O; -const octetstring iccid := '123456789ABCDEFFAAAA'O; +import from SGP23_Constants all; type component MTC_CT { timer g_Tguard; @@ -508,17 +507,17 @@ * See also: GSMA SGP.32, section 3.2.3.2: Indirect Profile Download */ private function f_TC_proc_indirect_prfle_dwnld(charstring id) runs on eIM_ConnHdlr { var charstring resource_id; - var charstring smdpp_add := mp_es9p_ip & ":" & int2str(mp_es9p_port) - var charstring activationCode := "1$" & smdpp_add & "$MyMatchingId" + var charstring smdpp_addr := mp_es9p_ip & ":" & int2str(mp_es9p_port) + var charstring activationCode := f_SGP23_ACTIVATION_CODE_1(test_dp_address := smdpp_addr); var template EsipaMessageFromEimToIpa esipa_res; var octetstring eimTransactionId; /* Create a new download at the eIM */ - resource_id := f_rest_create_order("download", ts_JSON_REST_download_order(eID, activationCode)); + resource_id := f_rest_create_order("download", ts_JSON_REST_download_order(SGP23_EID1, activationCode)); /* Check the eIM for new eIM packages, we expect to get a profileDownloadTriggerRequest that contains the * activationCode that we have created the download with (see above) */ - esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(SGP23_EID1)), tr_getEimPackageResponse_dnlTrigReq(tr_profileDownloadTriggerRequest(activationCode))); eimTransactionId := valueof(esipa_res.getEimPackageResponse.profileDownloadTriggerRequest.eimTransactionId); @@ -531,7 +530,7 @@ f_esipa_receive(tr_getBoundProfilePackageResponseEsipa); /* Handle notification */ - f_esipa_send(valueof(ts_handleNotificationEsipa_pendingNotif(ts_SGP32_pendingNotification_prfleInstRslt(notificationAddress := smdpp_add)))); + f_esipa_send(valueof(ts_handleNotificationEsipa_pendingNotif(ts_SGP32_pendingNotification_prfleInstRslt(notificationAddress := smdpp_addr)))); f_es9p_transceive_empty_response(tr_handleNotification); f_rest_lookup_resource(resource_id, "download", tr_JSON_REST_success); @@ -554,17 +553,17 @@ * See also: GSMA SGP.32, section 3.2.3.3: Cancel Session Procedure for Indirect Profile Download */ private function f_TC_proc_indirect_prfle_dwnld_cancel_session(charstring id) runs on eIM_ConnHdlr { var charstring resource_id; - var charstring smdpp_add := mp_es9p_ip & ":" & int2str(mp_es9p_port) - var charstring activationCode := "1$" & smdpp_add & "$MyMatchingId" + var charstring smdpp_addr := mp_es9p_ip & ":" & int2str(mp_es9p_port) + var charstring activationCode := f_SGP23_ACTIVATION_CODE_1(test_dp_address := smdpp_addr); var template EsipaMessageFromEimToIpa esipa_res; var octetstring eimTransactionId; /* Create a new download at the eIM */ - resource_id := f_rest_create_order("download", ts_JSON_REST_download_order(eID, activationCode)); + resource_id := f_rest_create_order("download", ts_JSON_REST_download_order(SGP23_EID1, activationCode)); /* Check the eIM for new eIM packages, we expect to get a profileDownloadTriggerRequest that contains the * activationCode that we have created the download with (see above) */ - esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(SGP23_EID1)), tr_getEimPackageResponse_dnlTrigReq(tr_profileDownloadTriggerRequest(activationCode))); eimTransactionId := valueof(esipa_res.getEimPackageResponse.profileDownloadTriggerRequest.eimTransactionId); @@ -623,7 +622,7 @@ esipa_res.getEimPackageResponse.euiccPackageRequest.euiccPackageSigned.eimTransactionId; /* Respond with a plausible EimPackage result */ - f_esipa_transceive(valueof(ts_provideEimPackageResult(eID, ts_eimPackageResult_ePRAndNotif(euiccPackageResult))), + f_esipa_transceive(valueof(ts_provideEimPackageResult(SGP23_EID1, ts_eimPackageResult_ePRAndNotif(euiccPackageResult))), tr_provideEimPackageResultResponse_empty); f_rest_lookup_resource(resource_id, facility, tr_JSON_REST_success); @@ -635,7 +634,7 @@ /* (see also above) Test enable PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_enable_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_enable(eID, iccid, false)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_enable(SGP23_EID1, SGP23_ICCID_OP_PROF1, false)); var template EuiccPackage euiccPackage := tr_euiccPackage_enablePsmo; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_enablePsmo); @@ -652,7 +651,7 @@ /* (see also above) Test disable PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_disable_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_disable(eID, iccid)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_disable(SGP23_EID1, SGP23_ICCID_OP_PROF1)); var template EuiccPackage euiccPackage := tr_euiccPackage_disablePsmo; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_disablePsmo); @@ -669,7 +668,7 @@ /* (see also above) Test delete PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_delete_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_delete(eID, iccid)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_delete(SGP23_EID1, SGP23_ICCID_OP_PROF1)); var template EuiccPackage euiccPackage := tr_euiccPackage_deletePsmo; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_deletePsmo); @@ -687,7 +686,7 @@ /* (see also above) Test disable and delete PSMO at the same time to make sure that eUICC packages with multiple PSMOs * are also accepted and processed correctly. */ private function f_TC_proc_euicc_pkg_dwnld_exec_disable_and_delete_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_disable_and_delete(eID, iccid)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_disable_and_delete(SGP23_EID1, SGP23_ICCID_OP_PROF1)); var template EuiccPackage euiccPackage := tr_euiccPackage_disableAndDeletePsmo; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_disableAndDeletePsmo); @@ -704,7 +703,7 @@ /* (see also above) Test listProfileInfo PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_listProfileInfo_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_listProfileInfo(eID, iccid)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_listProfileInfo(SGP23_EID1, SGP23_ICCID_OP_PROF1)); var template EuiccPackage euiccPackage := tr_euiccPackage_listProfileInfo; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_listProfileInfo); @@ -721,7 +720,7 @@ /* (see also above) Test getRAT PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_getRAT_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_getRAT(eID)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_getRAT(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_getRAT; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_getRAT); @@ -738,7 +737,7 @@ /* (see also above) Test configureImmediateEnable PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_configureImmediateEnable_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_configureImmediateEnable(eID)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_configureImmediateEnable(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_configureImmediateEnable; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_configureImmediateEnable); @@ -755,7 +754,7 @@ /* (see also above) Test setFallbackAttribute PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_setFallbackAttribute_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_setFallbackAttribute(eID, iccid)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_setFallbackAttribute(SGP23_EID1, SGP23_ICCID_OP_PROF1)); var template EuiccPackage euiccPackage := tr_euiccPackage_setFallbackAttribute; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_setFallbackAttribute); @@ -772,7 +771,7 @@ /* (see also above) Test unsetFallbackAttribute PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_unsetFallbackAttribute_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_unsetFallbackAttribute(eID)); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_unsetFallbackAttribute(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_unsetFallbackAttribute; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_unsetFallbackAttribute); @@ -789,7 +788,7 @@ /* (see also above) Test setDefaultDpAddress PSMO */ private function f_TC_proc_euicc_pkg_dwnld_exec_setDefaultDpAddress_psmo(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_setDefaultDpAddress(eID, "smdp.example.com")); + var JSON_REST_Resource psmo_order := valueof(ts_JSON_REST_psmo_order_setDefaultDpAddress(SGP23_EID1, "smdp.example.com")); var template EuiccPackage euiccPackage := tr_euiccPackage_setDefaultDpAddress; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("psmo", id, psmo_order, euiccPackage, ts_euiccPackageResultSigned_setDefaultDpAddress); @@ -806,7 +805,7 @@ /* (see also above) Test addEim eCO */ private function f_TC_proc_euicc_pkg_dwnld_exec_addEim_eco(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_addEim(eID)); + var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_addEim(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_addEim; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("eco", id, eco_order, euiccPackage, ts_euiccPackageResultSigned_addEim); @@ -823,7 +822,7 @@ /* (see also above) Test deleteEim eCO */ private function f_TC_proc_euicc_pkg_dwnld_exec_deleteEim_eco(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_deleteEim(eID)); + var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_deleteEim(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_deleteEim; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("eco", id, eco_order, euiccPackage, ts_euiccPackageResultSigned_deleteEim); @@ -840,7 +839,7 @@ /* (see also above) Test updateEim eCO */ private function f_TC_proc_euicc_pkg_dwnld_exec_updateEim_eco(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_updateEim(eID)); + var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_updateEim(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_updateEim; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("eco", id, eco_order, euiccPackage, ts_euiccPackageResultSigned_updateEim); @@ -857,7 +856,7 @@ /* (see also above) Test listEim eCO */ private function f_TC_proc_euicc_pkg_dwnld_exec_listEim_eco(charstring id) runs on eIM_ConnHdlr { - var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_listEim(eID)); + var JSON_REST_Resource eco_order := valueof(ts_JSON_REST_eco_order_listEim(SGP23_EID1)); var template EuiccPackage euiccPackage := tr_euiccPackage_listEim; f_TC_proc_euicc_pkg_dwnld_exec_psmo_or_eco("eco", id, eco_order, euiccPackage, ts_euiccPackageResultSigned_listEim); @@ -880,15 +879,15 @@ var octetstring eimTransactionId; /* Create a new download at the eIM */ - resource_id := f_rest_create_order("edr", ts_JSON_REST_edr_order(eID, '80BF20BF228384A5A688A9BF2B'O)); + resource_id := f_rest_create_order("edr", ts_JSON_REST_edr_order(SGP23_EID1, '80BF20BF228384A5A688A9BF2B'O)); /* Check the eIM for new eIM packages, we expect to get a getEimPackageResponse that contains an * ipaEuiccDataRequest */ - esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), tr_getEimPackageResponse_euiccDataReq); + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(SGP23_EID1)), tr_getEimPackageResponse_euiccDataReq); eimTransactionId := valueof(esipa_res.getEimPackageResponse.ipaEuiccDataRequest.eimTransactionId); /* Provide a plausible ipaEuiccDataResponse to the eIM */ - f_esipa_transceive(valueof(ts_provideEimPackageResult(eID, ts_eimPackageResult_euiccDataResp(eimTransactionId))), + f_esipa_transceive(valueof(ts_provideEimPackageResult(SGP23_EID1, ts_eimPackageResult_euiccDataResp(eimTransactionId))), tr_provideEimPackageResultResponse_empty); f_rest_lookup_resource(resource_id, "edr", tr_JSON_REST_success); @@ -914,15 +913,15 @@ { { ipaEuiccDataError := "undefinedError" } }; /* Create a new download at the eIM */ - resource_id := f_rest_create_order("edr", ts_JSON_REST_edr_order(eID, '80BF20BF228384A5A688A9BF2B'O)); + resource_id := f_rest_create_order("edr", ts_JSON_REST_edr_order(SGP23_EID1, '80BF20BF228384A5A688A9BF2B'O)); /* Check the eIM for new eIM packages, we expect to get a getEimPackageResponse that contains an * ipaEuiccDataRequest */ - esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), tr_getEimPackageResponse_euiccDataReq); + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(SGP23_EID1)), tr_getEimPackageResponse_euiccDataReq); eimTransactionId := valueof(esipa_res.getEimPackageResponse.ipaEuiccDataRequest.eimTransactionId); /* Provide a plausible ipaEuiccDataResponse to the eIM */ - f_esipa_transceive(valueof(ts_provideEimPackageResult(eID, + f_esipa_transceive(valueof(ts_provideEimPackageResult(SGP23_EID1, ts_eimPackageResult_euiccDataResp_err(eimTransactionId, ipaEuiccDataErrorCode := 127))), tr_provideEimPackageResultResponse_empty); @@ -950,20 +949,20 @@ * empty list. */ euiccState.stateChangeCauseList := {}; outcome.euiccStateResult := { euiccState }; - resource_id := f_rest_create_order("euicc", ts_JSON_REST_euicc_set_order(eID, euiccState)); + resource_id := f_rest_create_order("euicc", ts_JSON_REST_euicc_set_order(SGP23_EID1, euiccState)); f_sleep(1.5); f_rest_lookup_resource(resource_id, "euicc", tr_JSON_REST_success({outcome})); f_rest_delete_resource(resource_id, "euicc"); /* Check the eIM for new eIM packages and set notifyStateChange/stateChangeCause. Since we haven't issued any * orders we expect an eimPackageError (noEimPackageAvailable) */ - esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID, notifyStateChange := NULL, stateChangeCause := 6)), + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(SGP23_EID1, notifyStateChange := NULL, stateChangeCause := 6)), tr_getEimPackageResponse_eimPkgErr(1)); /* After the getEimPackageRequest, we expect to find the stateChangeCause in the stateChangeCauseList */ euiccState.stateChangeCauseList := { "deviceChange" }; outcome.euiccStateResult := { euiccState }; - resource_id := f_rest_create_order("euicc", ts_JSON_REST_euicc_get_order(eID, "stateChangeCauseList")); + resource_id := f_rest_create_order("euicc", ts_JSON_REST_euicc_get_order(SGP23_EID1, "stateChangeCauseList")); f_sleep(1.5); f_rest_lookup_resource(resource_id, "euicc", tr_JSON_REST_success({outcome})); f_rest_delete_resource(resource_id, "euicc"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43842?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9d554a10d1f8e84bf86562448765962aa1f02518 Gerrit-Change-Number: 43842 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: SGP23_Constants: collect constants at a central place
by dexter 09 Oct '26

09 Oct '26
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43841?usp=email ) Change subject: SGP23_Constants: collect constants at a central place ...................................................................... SGP23_Constants: collect constants at a central place The modules RSPDefinitions_Templates and SGP32Definitions_Templates have inline constants all over the place. Some of those constants even interact with each other (e.g. it is important to use the same transactionId value consistently). This is difficult difficult to maintain and the constants currently in use also do not follow any specification. Let's collect those constants and re-define them in a central module. Fortunately SGP.23 already defines a lot of those constants and values we can use. Related: SYS#8203 Change-Id: I00e3de0b20156993b8e15b5bbd4734faa20b66cf --- M eim/gen_links.sh M ipad/gen_links.sh M library/euicc/RSPDefinitions_Templates.ttcn A library/euicc/SGP23_Constants.ttcn M library/euicc/SGP32Definitions_Templates.ttcn M smdpp/gen_links.sh 6 files changed, 316 insertions(+), 161 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/43841/1 diff --git a/eim/gen_links.sh b/eim/gen_links.sh index 91a67ea..5f92fb7 100755 --- a/eim/gen_links.sh +++ b/eim/gen_links.sh @@ -35,7 +35,8 @@ FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn esipa_Types_JSON.ttcn " -FILES+="es9p_Types_JSON.ttcn esx_header_Types_JSON.ttcn" +FILES+="es9p_Types_JSON.ttcn esx_header_Types_JSON.ttcn SGP23_Constants.ttcn" + gen_links $DIR $FILES DIR=../library diff --git a/ipad/gen_links.sh b/ipad/gen_links.sh index 29bda02..ba27ca4 100755 --- a/ipad/gen_links.sh +++ b/ipad/gen_links.sh @@ -34,7 +34,8 @@ FILES="PEDefinitions.asn PKIX1Explicit88.asn PKIX1Implicit88.asn RSPDefinitions.asn SGP32Definitions.asn " FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " -FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn " +FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn SGP23_Constants.ttcn" + gen_links $DIR $FILES DIR=../library diff --git a/library/euicc/RSPDefinitions_Templates.ttcn b/library/euicc/RSPDefinitions_Templates.ttcn index 1d696b2..87b3ca5 100644 --- a/library/euicc/RSPDefinitions_Templates.ttcn +++ b/library/euicc/RSPDefinitions_Templates.ttcn @@ -19,6 +19,7 @@ import from PKIX1Explicit88_Types all; import from PKIX1Implicit88 all; +import from SGP23_Constants all; /* GSMA SGP.22, section 2.5.4 */ template (present) BoundProfilePackage @@ -47,14 +48,14 @@ ts_boundProfilePackage := { initialiseSecureChannelRequest := { remoteOpId := 1, - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, controlRefTemplate := { keyType := '88'O, /* AES */ keyLen := '10'O, /* 16 byte key-length */ - hostId := '01020304050607080910111213141516'O + hostId := SGP23_HOST_ID }, - smdpOtpk := '1122334455667788'O, - smdpSign := 'AABBCCDDEEFF0000'O + smdpOtpk := SGP23_OTPK_SM_DPp_ECKA, + smdpSign := SGP23_SM_DPp_SIGN }, /* ES8+.ConfigureISDP */ firstSequenceOf87 := {'B318A07DA7C25DCEB6537E6A38E46CB71110BD7AA61AF693'O}, @@ -465,19 +466,21 @@ serverAddress := serverAddress, serverChallenge := serverChallenge } -template (value) ServerSigned1 ts_serverSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) octetstring euiccChallenge := '00112233445566778899AABBCCDDEEFF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O) := { +template (value) ServerSigned1 ts_serverSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE) := { transactionId := transactionId, euiccChallenge := euiccChallenge, serverAddress := serverAddress, serverChallenge := serverChallenge } -template (present) CtxParams1 tr_ctxParams1 := { +template (present) CtxParams1 tr_ctxParams1(template universal charstring matchingId := *, + template octetstring imei := *, + template (present) octetstring tac := ?) := { ctxParamsForCommonAuthentication := { - matchingId := *, + matchingId := matchingId, deviceInfo := { tac := ?, deviceCapabilities := { @@ -497,24 +500,26 @@ euiccFormFactorType := *, deviceAdditionalFeatureSupport := * }, - imei := * + imei := imei } } } -template (value) CtxParams1 ts_ctxParams1 := { +template (value) CtxParams1 ts_ctxParams1(template (omit) universal charstring matchingId := omit, + template (omit) octetstring imei := omit, + template (value) octetstring tac := SGP23_S_TAC) := { ctxParamsForCommonAuthentication := { - matchingId := omit, + matchingId := matchingId, deviceInfo := { - tac := '12345678'O, + tac := SGP23_S_TAC, deviceCapabilities := { - gsmSupportedRelease := omit, - utranSupportedRelease := omit, - cdma2000onexSupportedRelease := omit, - cdma2000hrpdSupportedRelease := omit, - cdma2000ehrpdSupportedRelease := omit, - eutranEpcSupportedRelease := omit, - contactlessSupportedRelease := omit, - rspCrlSupportedVersion := omit, + gsmSupportedRelease := '050000'O, /* See also GSMA SGP.23, annex A, section A1 */ + utranSupportedRelease := '080000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000onexSupportedRelease := '010000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000hrpdSupportedRelease := '010000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000ehrpdSupportedRelease := '020000'O, /* See also GSMA SGP.23, annex A, section A1 */ + eutranEpcSupportedRelease := '020000'O, /* See also GSMA SGP.23, annex A, section A1 */ + contactlessSupportedRelease := '090000'O, /* See also GSMA SGP.23, annex A, section A1 */ + rspCrlSupportedVersion := SGP23_RSP_SVN_H, nrEpcSupportedRelease := omit, nr5gcSupportedRelease := omit, eutran5gcSupportedRelease := omit, @@ -523,7 +528,7 @@ euiccFormFactorType := omit, deviceAdditionalFeatureSupport := omit }, - imei := omit + imei := imei } } } @@ -539,9 +544,9 @@ euiccInfo2 := euiccInfo2, ctxParams1 := ctxParams1 } -template (value) EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O, +template (value) EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, template (value) EUICCInfo2 euiccInfo2 := ts_EUICCInfo2, template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { transactionId := transactionId, @@ -565,7 +570,7 @@ serviceSpecificDataNotStoredInEuicc := * } template (value) StoreMetadataRequest ts_storeMetadataRequest := { - iccid := '123456789ABCDEFFAAAA'O, + iccid := SGP23_ICCID_OP_PROF1, serviceProviderName := "testsuite", profileName := "testprofile", iconType := omit, @@ -584,7 +589,7 @@ ccRequiredFlag := ccRequiredFlag, bppEuiccOtpk := * } -template (value) SmdpSigned2 ts_smdpSigned2(template (value) octetstring transactionId := 'ABCDEF'O, +template (value) SmdpSigned2 ts_smdpSigned2(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) boolean ccRequiredFlag := false) := { transactionId := transactionId, ccRequiredFlag := ccRequiredFlag, @@ -612,19 +617,19 @@ finalResult := ? } template (value) ProfileInstallationResultData -ts_profileInstallationResultData(template (value) charstring notificationAddress := "smdp.example.com") := { - transactionId := 'ABCDEF'O, +ts_profileInstallationResultData(template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1) := { + transactionId := SGP23_S_TRANSACTION_ID, notificationMetadata := { seqNumber := 1234, profileManagementOperation := '01'B, /* is this correct? (notificationInstall) */ notificationAddress := notificationAddress, - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 }, smdpOid := id_rsp, /* random OBJECT IDENTIFIER for testing */ finalResult := { successResult := { - aid := '0102030405'O, - simaResponse := '4141414141414141414141414141414141414141414141414141'O + aid := SGP23_ISD_P_AID, + simaResponse := SGP23_SIMA_RESULT_OK } } } @@ -636,7 +641,7 @@ template (value) ProfileInstallationResult ts_profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData, - euiccSignPIR := '00112233445566778899AABBCCDDEEFF'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR } /* GSMA SGP.22, section 5.6.1 (ES9+) */ @@ -651,8 +656,8 @@ } } template (value) RemoteProfileProvisioningRequest -ts_initiateAuthenticationRequest(template (value) octetstring euiccChallenge := '00112233445566778899aabbccddeeff'O, - template (value) charstring smdpAddress := "smdp.example.com", +ts_initiateAuthenticationRequest(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (value) charstring smdpAddress := SGP23_TEST_DP_ADDRESS1, template (value) EUICCInfo1 euiccInfo1 := ts_EUICCInfo1) := { initiateAuthenticationRequest := { euiccChallenge := euiccChallenge, @@ -677,10 +682,10 @@ } } template (value) RemoteProfileProvisioningResponse -ts_initiateAuthenticationResponse(template (value) octetstring transactionId := 'ABCDEF'O, +ts_initiateAuthenticationResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) ServerSigned1 serverSigned1 := ts_serverSigned1, - template (value) octetstring serverSignature1 := '01020304'O, - template (value) SubjectKeyIdentifier euiccCiPKIdToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O, /* NIST */ + template (value) octetstring serverSignature1 := SGP23_SERVER_SIGNATURE1, + template (value) SubjectKeyIdentifier euiccCiPKIdToBeUsed := SGP23_EUICC_CI_PK_ID_TO_BE_USED, template (value) Certificate serverCertificate := ts_cert_s_sm_dpauth_nist) := { initiateAuthenticationResponse := { initiateAuthenticationOk := { @@ -703,7 +708,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_getBoundProfilePackageRequest(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageRequest(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) PrepareDownloadResponse prepareDownloadResponse := ts_prepareDownloadResponse) := { getBoundProfilePackageRequest := { transactionId := transactionId, @@ -721,7 +726,7 @@ } } template (value) RemoteProfileProvisioningResponse -ts_getBoundProfilePackageResponse(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) BoundProfilePackage boundProfilePackage := ts_boundProfilePackage) := { getBoundProfilePackageResponse := { getBoundProfilePackageOk := { @@ -741,7 +746,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_authenticateClientRequest(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientRequest(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) AuthenticateServerResponse authenticateServerResponse := ts_authenticateServerResponse) := { authenticateClientRequest := { transactionId := transactionId, @@ -765,10 +770,10 @@ } } template (value) RemoteProfileProvisioningResponse -ts_authenticateClientResponseEs9(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientResponseEs9(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) StoreMetadataRequest profileMetaData := ts_storeMetadataRequest, template (value) SmdpSigned2 smdpSigned2 := ts_smdpSigned2, - template (value) octetstring smdpSignature2 := 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'O, + template (value) octetstring smdpSignature2 := SGP23_SMDP_SIGNATURE2, template (value) Certificate smdpCertificate := ts_cert_s_sm_dpauth_nist) := { authenticateClientResponseEs9 := { authenticateClientOk := { @@ -805,7 +810,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_cancelSessionRequestEs9(template (value) octetstring transactionId := 'ABCDEF'O, +ts_cancelSessionRequestEs9(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) CancelSessionResponse cancelSessionResponse := ts_cancelSessionResponse) := { cancelSessionRequestEs9 := { transactionId := transactionId, @@ -834,8 +839,8 @@ } template (value) EuiccConfiguredAddressesResponse ts_euiccConfiguredAddressesResponse := { - defaultDpAddress := "smdp.example.com", - rootDsAddress := "smds.example.com" + defaultDpAddress := SGP23_TEST_DEFAULT_DP_ADDRESS_1, + rootDsAddress := SGP23_TEST_DS_ADDRESS1 } /* GSMA SGP.22, section 5.7.5 (ES10x) */ @@ -851,11 +856,11 @@ template (value) PrepareDownloadResponseOk ts_prepareDownloadResponseOk := { euiccSigned2 := { - transactionId := 'ABCDEF'O, - euiccOtpk := 'AABBCCDDEEFF'O, + transactionId := SGP23_S_TRANSACTION_ID, + euiccOtpk := SGP23_OTPK_EUICC_ECKA, hashCc := omit }, - euiccSignature2 := 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'O + euiccSignature2 := SGP23_EUICC_SIGNATURE1 } template (present) PrepareDownloadResponse tr_prepareDownloadResponse := { @@ -873,7 +878,7 @@ } template (value) PrepareDownloadResponseError ts_prepareDownloadResponseError := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, downloadErrorCode := 127 // undefinedError } template (present) PrepareDownloadResponse @@ -891,7 +896,7 @@ euiccChallenge := ? } template (value) GetEuiccChallengeResponse -ts_GetEuiccChallengeResponse(template (value) octetstring euiccChallenge := '00112233445566778899AABBCCDDEEFF'O) := { +ts_GetEuiccChallengeResponse(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE) := { euiccChallenge := euiccChallenge } @@ -904,10 +909,8 @@ euiccCiPKIdListForSigning := euiccCiPKIdListForSigning } template (value) EUICCInfo1 -ts_EUICCInfo1(template (value) record of octetstring euiccCiPKIdListForVerification := {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}, - template (value) record of octetstring euiccCiPKIdListForSigning := {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}) := { +ts_EUICCInfo1(template (value) record of octetstring euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + template (value) record of octetstring euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1) := { svn := '020200'O, euiccCiPKIdListForVerification := euiccCiPKIdListForVerification, euiccCiPKIdListForSigning := euiccCiPKIdListForSigning @@ -937,26 +940,20 @@ } template (value) EUICCInfo2 ts_EUICCInfo2 := { - profileVersion := '414243'O, - svn := '02000C'O, - euiccFirmwareVer := '414243'O, - extCardResource := '414243'O, + profileVersion := SGP23_PROFILE_VERSION, + svn := SGP23_RSP_SVN_V2_2_1, + euiccFirmwareVer := SGP23_EUICC_FIRMWARE_VER, + extCardResource := SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE, uiccCapability := '1111111111111111111'B, ts102241Version := omit, globalplatformVersion := omit, rspCapability := '1111'B, - euiccCiPKIdListForVerification := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, - euiccCiPKIdListForSigning := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, + euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1, euiccCategory := omit, forbiddenProfilePolicyRules := omit, - ppVersion := '414243'O, - sasAcreditationNumber := "123456", + ppVersion := SGP23_PP_VERSION, + sasAcreditationNumber := SGP23_SAS_ACREDITATION_NUMBER, certificationDataObject := omit, treProperties := omit, treProductReference := omit, @@ -970,7 +967,7 @@ { profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData, - euiccSignPIR := 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR } } } @@ -1001,36 +998,45 @@ /* GSMA SGP.22, section 5.7.13 (ES10x) */ template (present) AuthenticateServerResponse -tr_authenticateServerResponse := { +tr_authenticateServerResponse(template (present) octetstring transactionId := ?, + template (present) charstring serverAddress := ?, + template (present) octetstring serverChallenge := ?, + template (present) CtxParams1 ctxParams1 := tr_ctxParams1, + template (present) octetstring euiccSignature1 := ?, + template (present) Certificate euiccCertificate := ?, + template (present) Certificate eumCertificate := ?) := { authenticateResponseOk := { euiccSigned1 := { - transactionId := ?, - serverAddress := ?, - serverChallenge := ?, + transactionId := transactionId, + serverAddress := serverAddress, + serverChallenge := serverChallenge, euiccInfo2 := ?, ctxParams1 := tr_ctxParams1 }, - euiccSignature1 := ?, - euiccCertificate := ?, - eumCertificate := ? + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } } template (value) AuthenticateServerResponse -ts_authenticateServerResponse := { +ts_authenticateServerResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, + template (value) CtxParams1 ctxParams1 := ts_ctxParams1, + template (value) octetstring euiccSignature1 := SGP23_EUICC_SIGNATURE1, + template (value) Certificate euiccCertificate := ts_cert_euicc_nist, + template (value) Certificate eumCertificate := ts_cert_eum_nist) := { authenticateResponseOk := { euiccSigned1 := { - transactionId := 'ABCDEF'O, - serverAddress := "smdp.example.com", - serverChallenge := '01020304050607080910111213141516'O, + transactionId := transactionId, + serverAddress := serverAddress, + serverChallenge := serverChallenge, euiccInfo2 := ts_EUICCInfo2, ctxParams1 := ts_ctxParams1 }, - euiccSignature1 := '12345678'O, - euiccCertificate := ts_cert_euicc_nist, -// euiccCertificate := ts_cert_euicc_brp, - eumCertificate := ts_cert_eum_nist -// eumCertificate := ts_cert_eum_brp - + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } } @@ -1042,7 +1048,7 @@ } template (value) CancelSessionRequest ts_cancelSessionRequest := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, reason := 127 // undefinedReason } @@ -1058,11 +1064,11 @@ template (value) CancelSessionResponseOk ts_cancelSessionResponseOk := { euiccCancelSessionSigned := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, smdpOid := id_rspRole_euicc, reason := 5 }, - euiccCancelSessionSignature := '1234567890'O + euiccCancelSessionSignature := SGP23_EUICC_CANCEL_SESSION_SIGNATURE } template (present) CancelSessionResponse tr_cancelSessionResponse := { @@ -1079,7 +1085,7 @@ eidValue := ? } template (value) GetEuiccDataResponse -ts_getEuiccDataResponse(template (value) octetstring eidValue := '000102030405060708090A0B0C0D0E0F'O) := { +ts_getEuiccDataResponse(template (value) octetstring eidValue := SGP23_EID1) := { eidValue := eidValue } @@ -1097,7 +1103,7 @@ template (value) NotificationMetadata ts_notificationMetadata(template (value) integer seqNumber := 1, template (value) NotificationEvent profileManagementOperation := '1000'B, - template (value) charstring notificationAddress := "smdp.example.com", + template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1, template (omit) octetstring iccid := omit) := { seqNumber := seqNumber, profileManagementOperation := profileManagementOperation, @@ -1118,7 +1124,7 @@ } template (value) OtherSignedNotification ts_otherSignedNotification(template (value) NotificationMetadata tbsOtherNotification := ts_notificationMetadata, - template (value) octetstring euiccNotificationSignature := '0123456789ABCDEF'O, + template (value) octetstring euiccNotificationSignature := SGP23_TBS_EUICC_NOTIF_SIG, template (value) Certificate euiccCertificate, template (value) Certificate eumCertificate) := { tbsOtherNotification := tbsOtherNotification, diff --git a/library/euicc/SGP23_Constants.ttcn b/library/euicc/SGP23_Constants.ttcn new file mode 100644 index 0000000..ab487bc --- /dev/null +++ b/library/euicc/SGP23_Constants.ttcn @@ -0,0 +1,152 @@ +/* eUICC Constants in TTCN-3 + * + * This module implements a set of constants which are used by the eUICC related templates provided in this directory. + * + * The constants follow the naming scheme of the SGP.23 test specification and wherever possible the constant values + * also match the contents as specified. Unfortunately SGP.23 does not specify expected values for dynamic content, + * even though in many test situations constants would be sufficient. For that reason, this module also defines a + * constant for each of those dynamic content values as well. + * + * Author: Philipp Maier <pmaier(a)sysmocom.de> / sysmocom - s.f.m.c. GmbH + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module SGP23_Constants { + +/* Generic Constants (see also: SGP.23, annex A, section A1) */ +const octetstring SGP23_EID1 := '89049032123451234512345678901235'O; +const octetstring SGP23_EID2 := '89049032112341234012345678901375'O; +const record of octetstring SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1 := + {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}; +const record of octetstring SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1 := + {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}; +function f_SGP23_ACTIVATION_CODE_1(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_1) return charstring { + return "1$#" & test_dp_address & "$" & matching_id; +} +function f_SGP23_ACTIVATION_CODE_2(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_2, + charstring sm_dp_oid := "foo") return charstring { + return "1$#" & test_dp_address & "$" & matching_id & "$" & sm_dp_oid; +} +function f_SGP23_ACTIVATION_CODE_3(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_3) return charstring { + return "1$#" & test_dp_address & "$" & matching_id & "$$1"; +} +function f_SGP23_ACTIVATION_CODE_3_NO_CC(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_3) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +function f_SGP23_ACTIVATION_CODE_4(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_4) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +function f_SGP23_ACTIVATION_CODE_5(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_EMPTY) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +const octetstring SGP23_ICCID_OP_PROF1 := '989209012143658709F5'O; +const octetstring SGP23_ICCID_OP_PROF1_NON_SWAP := '8929901012345678905F'O; +const octetstring SGP23_ICCID_OP_PROF2 := '989209013254769810F9'O; +const octetstring ICCID_OP_PROF2_NON_SWAP := '8929901023456789019F'O; +const octetstring SGP23_HOST_ID := '47534D4120534D2D5858'O; +const octetstring SGP23_ICCID_OP_PROF3 := '989209014365870921F5'O; +const octetstring SGP23_ICCID_OP_PROF4 := '989209015476981032F9'O; +const octetstring SGP23_ICCID_OP_PROF5 := '989209016587092143F5'O; +const octetstring SGP23_ICCID_OP_PROF6 := '989209017698103254F9'O; +const octetstring SGP23_ICCID_OP_PROF7 := '989209018709214365F5'O; +const octetstring SGP23_ICCID_OP_PROF8 := '989209019810325476F9'O; +const octetstring SGP23_ICCID_OP_PROF9 := '989209012143658776F5'O; +const octetstring SGP23_ICCID_OP_PROFX := '9892090143658709FFFF'O; +const octetstring SGP23_ICCID_OP_PROF10 := '98109909002143658779'O; +const octetstring SGP23_ICCID_UNKNOWN := '9892010A2143658709F8'O; +const octetstring SGP23_INSTALLED_PROFILES := '00'O; +const charstring SGP23_MATCHING_ID_1 := "04386-AGYFT-A74Y8-3F815"; +const charstring SGP23_MATCHING_ID_2 := "04386-AGYFT-A74Y8-3F816"; +const charstring SGP23_MATCHING_ID_3 := "04386-AGYFT-A74Y8-3F817"; +const charstring SGP23_MATCHING_ID_4 := "04386-AGYFT-A74Y8-3F818"; +const octetstring SGP23_MCC_MNC_WILDCARD := '92F9EE'O; +const octetstring SGP23_MCC_MNC1 := '92F918'O; +const octetstring SGP23_MCC_MNC2 := '92F928'O; +const octetstring SGP23_MCC_MNC4 := '92F948'O; +const octetstring SGP23_MCC_MNC9 := '92F998'O; +const octetstring SGP23_RSP_SVN := '020100'O; +const octetstring SGP23_RSP_SVN_H := '020100'O; +const octetstring SGP23_RSP_SVN_V2_2_1 := '020201'O; +const octetstring SGP23_RSP_SVN_V2_2_2 := '020202'O; +const octetstring SGP23_RSP_SVN_V2_3 := '020300'O; +const octetstring SGP23_S_EUICC_CHALLENGE := '01020304050607080102030405060708'O; +const octetstring SGP23_S_EUICC_CHALLENGE_2 := '21222324252627282122232425262728'O; +const octetstring SGP23_S_IMEI := '0000000011111111'O; +const objid SGP23_S_SM_DPp_OID := objid {2 999 10}; +const objid SGP23_S_SM_DPp_OID2 := objid {2 999 12}; +const objid SGP23_S_SM_DPp_OID4 := objid {2 999 14}; +const objid SGP23_S_SM_DPp_OID8 := objid {2 999 18}; +const objid SGP23_S_SM_DS_OID := objid {2 999 15}; +const octetstring SGP23_S_TAC := '00000000'O; +const octetstring SGP23_SIMA_RESULT_OK := '3007A0053003800100'O; +const octetstring SGP23_SSD_AID := 'A00000055910100102736456616C7565'O; +const charstring SGP23_TEST_ALT_DS_ADDRESS := "testaltsmds.example.com"; +const charstring SGP23_TEST_DEFAULT_DP_ADDRESS_1 := "testdefaultsmdpplus1.example.com"; +const charstring SGP23_TEST_DP_ADDRESS1 := "testsmdpplus1.example.com"; +const charstring SGP23_TEST_DP_ADDRESS2 := "testsmdpplus2.example.com"; +const charstring SGP23_TEST_DP_ADDRESS3 := "testsmdpplus3.example.com"; +const charstring SGP23_TEST_DP_ADDRESS4 := "testsmdpplus4.example.com"; +const charstring SGP23_TEST_DP_ADDRESS8 := "testsmdpplus8.example.com"; +const charstring SGP23_TEST_DS_ADDRESS1 := "testsmds1.example.com"; +const charstring SGP23_TEST_ROOT_DS_ADDRESS := "testrootsmds.example.com"; +const octetstring SGP23_UNKNOWN_BPP_SEGMENT := 'C9050102030405'O; +const charstring SGP23_UNKNOWN_SERVER_ADDRESS := "unknownserver.example.com"; +const octetstring SGP23_USIM_AID := 'A0000000871002FF33FF018900000100'O; + +/* Dynamic Content (see also: SGP.23, annex B) */ +const octetstring SGP23_EUICC_CI_PK_ID_TO_BE_USED := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O; +const octetstring SGP23_S_TRANSACTION_ID := '5454434e332d54455354535549544521'O; +const octetstring SGP23_EUICC_CANCEL_SESSION_SIGNATURE := + '53475032335F45554943435F43414E43454C5F53455353494F4E5F5349472052 + 53475032335F45554943435F43414E43454C5F53455353494F4E5F5349472053'O; +const octetstring SGP23_EUICC_SIGNATURE1 := + '53475032335F45554943435F5349474E41545552453120202020202020202052 + 53475032335F45554943435F5349474E41545552453120202020202020202053'O; +const octetstring SGP23_SMDP_CHALLENGE := '21534D44505F4348414C4C454E474521'O; +const octetstring SGP23_SM_DPp_SIGN := + '53475032335F534D5F4450705F5349474E202020202020202020202020202052 + 53475032335F534D5F4450705F5349474E202020202020202020202020202053'O; +const octetstring SGP23_SERVER_SIGNATURE1 := + '53475032335F5345525645525F5349474E415455524531202020202020202052 + 53475032335F5345525645525F5349474E415455524531202020202020202053'O; +const octetstring SGP23_EUICC_SIGN_PIR := + '53475032335F45554943435F5349474E5F504952202020202020202020202052 + 53475032335F45554943435F5349474E5F504952202020202020202020202053'O; +const octetstring SGP23_OTPK_EUICC_ECKA := + '53475032335F4F54504B5F45554943435F45434B412020202020202020202052 + 53475032335F4F54504B5F45554943435F45434B412020202020202020202053'O; +const octetstring SGP23_OTPK_SM_DPp_ECKA := + '53475032335F4F54504B5F534D5F4450705F45434B4120202020202020202052 + 53475032335F4F54504B5F534D5F4450705F45434B4120202020202020202053'O; +const octetstring SGP23_SMDP_SIGNATURE2 := + '53475032335F534D44505F5349474E4154555245322020202020202020202052 + 53475032335F534D44505F5349474E4154555245322020202020202020202053'O; +const octetstring SGP23_TBS_EUICC_NOTIF_SIG := + '53475032335F5442535F45554943435F4E4F5449465F53494720202020202052 + 53475032335F5442535F45554943435F4E4F5449465F53494720202020202053'O; +const octetstring SGP23_ISD_P_AID := 'A0000005591010FFFFFFFF8900001000'O; + +/* ES9+ Requests And Responses (see also SGP.23, annex D, section D.2) */ +const octetstring SGP23_EUICC_FIRMWARE_VER := '010000'O; +const octetstring SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE := + '81'O & int2oct(lengthof(SGP23_INSTALLED_PROFILES), 8) & SGP23_INSTALLED_PROFILES & + '82'O & int2oct(lengthof(SGP23_NON_VOLATILE_MEM_LIMITED_SPACE), 8) & SGP23_NON_VOLATILE_MEM_LIMITED_SPACE & + '83'O & int2oct(lengthof(SGP23_S_VOLATILE_MEM), 8) & SGP23_S_VOLATILE_MEM; +const octetstring SGP23_PP_VERSION := '010000'O; +const octetstring SGP23_PROFILE_VERSION := '020100'O; +const charstring SGP23_MATCHING_ID_EMPTY := ""; +const octetstring SGP23_NON_VOLATILE_MEM_LIMITED_SPACE := '0001'O; +const octetstring SGP23_S_VOLATILE_MEM := '0100'O; +const charstring SGP23_SAS_ACREDITATION_NUMBER := "GSMA_SAS_123456789"; + +} diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index 363a84f..1911515 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -21,6 +21,8 @@ import from PKIX1Explicit88_Templates all; import from PKIX1Explicit88_Types all; +import from SGP23_Constants all; + /* GSMA SGP.32, section 5.9.2 (ES10x) */ template (present) SGP32_EUICCInfo2 tr_SGP32_EUICCInfo2 := { @@ -50,26 +52,20 @@ } template (value) SGP32_EUICCInfo2 ts_SGP32_EUICCInfo2 := { - profileVersion := '414243'O, - svn := '02000C'O, - euiccFirmwareVer := '414243'O, - extCardResource := '414243'O, + profileVersion := SGP23_PROFILE_VERSION, + svn := SGP23_RSP_SVN_V2_2_1, + euiccFirmwareVer := SGP23_EUICC_FIRMWARE_VER, + extCardResource := SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE, uiccCapability := '1111111111111111111'B, ts102241Version := omit, globalplatformVersion := omit, rspCapability := '1111'B, - euiccCiPKIdListForVerification := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, - euiccCiPKIdListForSigning := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, + euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1, euiccCategory := omit, forbiddenProfilePolicyRules := omit, - ppVersion := '414243'O, - sasAcreditationNumber := "123456", + ppVersion := SGP23_PP_VERSION, + sasAcreditationNumber := SGP23_SAS_ACREDITATION_NUMBER, certificationDataObject := omit, treProperties := omit, treProductReference := omit, @@ -105,9 +101,8 @@ template (value) EsipaMessageFromEimToIpa ts_initiateAuthenticationResponseEsipa(template (omit) octetstring transactionId := omit, template (value) ServerSigned1 serverSigned1 := ts_serverSigned1, - template (value) octetstring serverSignature1 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, - template (value) octetstring euiccCiPKIdentifierToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O /* NIST */, + template (value) octetstring serverSignature1 := SGP23_SERVER_SIGNATURE1, + template (value) octetstring euiccCiPKIdentifierToBeUsed := SGP23_EUICC_CI_PK_ID_TO_BE_USED, template (value) Certificate serverCertificate := ts_cert_s_sm_dpauth_nist, template (omit) universal charstring matchingId := omit, template (omit) CtxParams1 ctxParams1 := omit) := { @@ -138,8 +133,8 @@ } } template (value) EsipaMessageFromIpaToEim -ts_initiateAuthenticationRequestEsipa(template (value) octetstring euiccChallenge := '00112233445566778899aabbccddeeff'O, - template (omit) charstring smdpAddress := "smdp.example.com", +ts_initiateAuthenticationRequestEsipa(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (omit) charstring smdpAddress := SGP23_TEST_DP_ADDRESS1, template (omit) EUICCInfo1 euiccInfo1 := ts_EUICCInfo1, template (omit) octetstring eimTransactionId := omit) := { initiateAuthenticationRequestEsipa := { @@ -151,22 +146,22 @@ } /* GSMA SGP.32, section 6.3.2.2 */ -template (present) SGP32_EuiccSigned1 tr_euiccSigned1(template (present) octetstring transactionId := ?, - template (present) universal charstring serverAddress := ?, - template (present) octetstring serverChallenge := ?, - template (present) SGP32_EUICCInfo2 euiccInfo2 := ?, - template (present) CtxParams1 ctxParams1 := ?) := { +template (present) SGP32_EuiccSigned1 tr_SGP32_euiccSigned1(template (present) octetstring transactionId := ?, + template (present) universal charstring serverAddress := ?, + template (present) octetstring serverChallenge := ?, + template (present) SGP32_EUICCInfo2 euiccInfo2 := ?, + template (present) CtxParams1 ctxParams1 := ?) := { transactionId := transactionId, serverAddress := serverAddress, serverChallenge := serverChallenge, euiccInfo2 := euiccInfo2, ctxParams1 := ctxParams1 } -template (value) SGP32_EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O, - template (value) SGP32_EUICCInfo2 euiccInfo2 := ts_SGP32_EUICCInfo2, - template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { +template (value) SGP32_EuiccSigned1 ts_SGP32_euiccSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, + template (value) SGP32_EUICCInfo2 euiccInfo2 := ts_SGP32_EUICCInfo2, + template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { transactionId := transactionId, serverAddress := serverAddress, serverChallenge := serverChallenge, @@ -176,20 +171,22 @@ template (present) SGP32_AuthenticateServerResponse tr_SGP32_authenticateServerResponse := { authenticateResponseOk := { - euiccSigned1 := tr_euiccSigned1, + euiccSigned1 := tr_SGP32_euiccSigned1, euiccSignature1 := ?, euiccCertificate := ?, eumCertificate := ? } } template (value) SGP32_AuthenticateServerResponse -ts_SGP32_authenticateServerResponse := { +ts_SGP32_authenticateServerResponse(template (value) SGP32_EuiccSigned1 euiccSigned1 := ts_SGP32_euiccSigned1, + template (value) octetstring euiccSignature1 := SGP23_EUICC_SIGNATURE1, + template (value) Certificate euiccCertificate := ts_cert_euicc_nist, + template (value) Certificate eumCertificate := ts_cert_eum_nist) := { authenticateResponseOk := { - euiccSigned1 := ts_euiccSigned1, - euiccSignature1 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, - euiccCertificate := ts_cert_euicc_nist, - eumCertificate := ts_cert_eum_nist + euiccSigned1 := euiccSigned1, + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } } template (present) EsipaMessageFromIpaToEim @@ -201,7 +198,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_authenticateClientRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_AuthenticateServerResponse authenticateServerResponse := ts_SGP32_authenticateServerResponse) := { authenticateClientRequestEsipa := { transactionId := transactionId, @@ -226,8 +223,8 @@ } } template (value) EsipaMessageFromEimToIpa -ts_authenticateClientResponseEsipa_dse(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) charstring activationCode := "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746") := { +ts_authenticateClientResponseEsipa_dse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) charstring activationCode := f_SGP23_ACTIVATION_CODE_1()) := { authenticateClientResponseEsipa := { authenticateClientOkDSEsipa := { transactionId := transactionId, @@ -264,8 +261,7 @@ ts_authenticateClientResponseEsipa_dpe(template (omit) octetstring transactionId := omit, template (omit) SGP32_StoreMetadataRequest profileMetaData := omit, template (value) SmdpSigned2 smdpSigned2 := ts_smdpSigned2, - template (value) octetstring smdpSignature2 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, + template (value) octetstring smdpSignature2 := SGP23_SMDP_SIGNATURE2, template (value) Certificate smdpCertificate := ts_cert_s_sm_dpauth_nist, template (omit) octetstring hashCc := omit) := { authenticateClientResponseEsipa := { @@ -305,7 +301,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_getEimPackageRequest(template (value) octetstring eidValue, +ts_getEimPackageRequest(template (value) octetstring eidValue := SGP23_EID1, template (omit) AsnNull notifyStateChange := omit, template (omit) integer stateChangeCause := omit, template (omit) octetstring rPLMN := omit) := { @@ -327,7 +323,7 @@ eimTransactionId := eimTransactionId } template (value) ProfileDownloadTriggerRequest -ts_profileDownloadTriggerRequest(template (value) charstring activationCode := "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746", +ts_profileDownloadTriggerRequest(template (value) charstring activationCode := f_SGP23_ACTIVATION_CODE_1(), template (omit) octetstring eimTransactionId := omit) := { profileDownloadData := { activationCode := activationCode @@ -419,7 +415,7 @@ psmoList := { { enable := { - iccid := '123456789ABCDEFFAAAA'O, + iccid := SGP23_ICCID_OP_PROF1, rollbackFlag := NULL } } @@ -440,7 +436,7 @@ psmoList := { { disable := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -460,7 +456,7 @@ psmoList := { { delete := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -485,12 +481,12 @@ psmoList := { { disable := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } }, { delete := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF2 } } } @@ -512,7 +508,7 @@ { listProfileInfo := { searchCriteria := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 }, tagList := '92'O /* profileName */ } @@ -553,8 +549,8 @@ { configureImmediateEnable := { immediateEnableFlag := NULL, - defaultSmdpOid := objid {1 2 3}, - defaultSmdpAddress := "smdp.example.com" + defaultSmdpOid := SGP23_S_SM_DS_OID, + defaultSmdpAddress := SGP23_TEST_DP_ADDRESS1 } } } @@ -574,7 +570,7 @@ psmoList := { { setFallbackAttribute := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -610,7 +606,7 @@ psmoList := { { setDefaultDpAddress := { - defaultDpAddress := "smdp.example.com" + defaultDpAddress := SGP23_TEST_DP_ADDRESS1 } } } @@ -698,7 +694,7 @@ ts_euiccPackageSigned(template (value) EuiccPackage euiccPackage := ts_euiccPackage_enablePsmo, template (omit) octetstring eimTransactionId := omit) := { eimId := "myEim", - eidValue := '00112233445566778899AABBCCDDEEFF'O, + eidValue := SGP23_EID1, counterValue := 123, eimTransactionId := eimTransactionId, euiccPackage := euiccPackage @@ -746,7 +742,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_cancelSessionRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_cancelSessionRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_CancelSessionResponse cancelSessionResponse := ts_SGP32_cancelSessionResponse) := { cancelSessionRequestEsipa := { transactionId := transactionId, @@ -798,7 +794,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_getBoundProfilePackageRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_PrepareDownloadResponse prepareDownloadResponse := ts_SGP32_prepareDownloadResponse) := { getBoundProfilePackageRequestEsipa := { transactionId := transactionId, @@ -890,11 +886,10 @@ euiccSignPIR := ? } } -template (value) SGP32_PendingNotification ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring notificationAddress := "smdp.example.com") := { +template (value) SGP32_PendingNotification ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1) := { profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData(notificationAddress), - euiccSignPIR := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR } } template (present) SGP32_PendingNotification @@ -1119,8 +1114,8 @@ listProfileInfoResult := { profileInfoListOk := { { - iccid := '123456789ABCDEFFAAAA'O, - isdpAid := omit, + iccid := SGP23_ICCID_OP_PROF1, + isdpAid := SGP23_ISD_P_AID, profileState := 1, /* enabled */ profileNickname := omit, serviceProviderName := omit, @@ -1178,7 +1173,7 @@ pprIds := '000'B, allowedOperators := { { - mccMnc := '001F01'O, + mccMnc := SGP23_MCC_MNC1, gid1 := omit, gid2 := omit } @@ -1560,11 +1555,11 @@ ipaEuiccDataResponse := { ipaEuiccData := { notificationsList := omit, - defaultSmdpAddress := "smdp.example.com", + defaultSmdpAddress := SGP23_TEST_DP_ADDRESS1, euiccPackageResultList := omit, euiccInfo1 := ts_EUICCInfo1, euiccInfo2 := ts_SGP32_EUICCInfo2, - rootSmdsAddress := "smds.example.com", + rootSmdsAddress := SGP23_TEST_DS_ADDRESS1, associationToken := 1, eumCertificate := ts_cert_eum_nist, euiccCertificate := ts_cert_euicc_nist, diff --git a/smdpp/gen_links.sh b/smdpp/gen_links.sh index 1b1b27f..77fd33a 100755 --- a/smdpp/gen_links.sh +++ b/smdpp/gen_links.sh @@ -29,7 +29,7 @@ FILES="PEDefinitions.asn PKIX1Explicit88.asn PKIX1Implicit88.asn RSPDefinitions.asn SGP32Definitions.asn " FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " -FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn " +FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn SGP23_Constants.ttcn " FILES+="es9p_Types_JSON.ttcn es2p_Types_JSON.ttcn es12_Types_JSON.ttcn esx_header_Types_JSON.ttcn" gen_links $DIR $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43841?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00e3de0b20156993b8e15b5bbd4734faa20b66cf Gerrit-Change-Number: 43841 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
1 0
0 0
[S] Change in osmo-remsim[master]: Update osmo-remsim-apitool to support maintenance flag
by laforge 09 Oct '26

09 Oct '26
Attention is currently required from: jolly, lynxis lazus. laforge has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/osmo-remsim/+/43747?usp=email ) Change subject: Update osmo-remsim-apitool to support maintenance flag ...................................................................... Patch Set 4: Code-Review-1 (1 comment) File contrib/osmo-remsim-apitool: https://gerrit.osmocom.org/c/osmo-remsim/+/43747/comment/b1eab1aa_04757613?… : PS4, Line 53: url += "?maintenance=true" : if timeout > 0: : if (maintenance): : url += "&" : else: : url += "?" : url += f"timeout={timeout}" > one would hope that the python requests library or some other common library exists to avoid having […] https://requests.readthedocs.io/en/latest/user/quickstart/#passing-paramete… is how this is done in python. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/43747?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iaac6423b3a2f7209d0c26e9624d90b21b7c39f89 Gerrit-Change-Number: 43747 Gerrit-PatchSet: 4 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Comment-Date: Fri, 09 Oct 2026 12:04:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
1 0
0 0
[S] Change in osmo-remsim[master]: Update osmo-remsim-apitool to support maintenance flag
by laforge 09 Oct '26

09 Oct '26
Attention is currently required from: jolly, lynxis lazus. laforge has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/osmo-remsim/+/43747?usp=email ) Change subject: Update osmo-remsim-apitool to support maintenance flag ...................................................................... Patch Set 4: (1 comment) File contrib/osmo-remsim-apitool: https://gerrit.osmocom.org/c/osmo-remsim/+/43747/comment/35562d27_3a90642c?… : PS4, Line 53: url += "?maintenance=true" : if timeout > 0: : if (maintenance): : url += "&" : else: : url += "?" : url += f"timeout={timeout}" one would hope that the python requests library or some other common library exists to avoid having to do manual string-manipulation like this? something where one can simply pass a dict of GET arguments + values, and which also takes care of URL quoting, etc? -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/43747?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iaac6423b3a2f7209d0c26e9624d90b21b7c39f89 Gerrit-Change-Number: 43747 Gerrit-PatchSet: 4 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Comment-Date: Fri, 09 Oct 2026 12:01:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1 0
0 0
[S] Change in osmo-remsim[master]: Add optional timeout to mapping
by laforge 09 Oct '26

09 Oct '26
Attention is currently required from: jolly, lynxis lazus. laforge has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/osmo-remsim/+/43746?usp=email ) Change subject: Add optional timeout to mapping ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/43746?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I2f7ee24e6c926b65876af2b14da3534555398769 Gerrit-Change-Number: 43746 Gerrit-PatchSet: 4 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Comment-Date: Fri, 09 Oct 2026 11:57:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: es*_Types_JSON: use ts_responseHeader instead of manual assignments
by dexter 09 Oct '26

09 Oct '26
dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43821?usp=email ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: es*_Types_JSON: use ts_responseHeader instead of manual assignments ...................................................................... es*_Types_JSON: use ts_responseHeader instead of manual assignments The template ts_responseHeader already provides a response header ("Executed-Success") ready to use. Let's use this template instead of assigning the header members indidvidually each time. Related: SYS#8203 Change-Id: Ifcc3ed49053bd737c96cb34ab142b5522d86821c --- M library/euicc/es9p_Types_JSON.ttcn M library/euicc/esipa_Types_JSON.ttcn 2 files changed, 15 insertions(+), 15 deletions(-) Approvals: jolly: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/euicc/es9p_Types_JSON.ttcn b/library/euicc/es9p_Types_JSON.ttcn index f7e6587..1a146eb 100644 --- a/library/euicc/es9p_Types_JSON.ttcn +++ b/library/euicc/es9p_Types_JSON.ttcn @@ -269,7 +269,7 @@ var JSON_ES9p_RemoteProfileProvisioningResponse json_pdu; if (ispresent(asn1_pdu_dec.initiateAuthenticationResponse)) { - json_pdu.initiateAuthenticationResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.initiateAuthenticationResponse.header := valueof(ts_responseHeader); json_pdu.initiateAuthenticationResponse.transactionId := oct2str(asn1_pdu_dec.initiateAuthenticationResponse.initiateAuthenticationOk.transactionId); json_pdu.initiateAuthenticationResponse.serverSigned1 := @@ -283,14 +283,14 @@ encode_base64(enc_Certificate(asn1_pdu_dec.initiateAuthenticationResponse.initiateAuthenticationOk.serverCertificate)); json_pdu_enc := oct2char(enc_JSON_ES9p_RemoteProfileProvisioningResponse(json_pdu)); } else if (ispresent(asn1_pdu_dec.getBoundProfilePackageResponse)) { - json_pdu.getBoundProfilePackageResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getBoundProfilePackageResponse.header := valueof(ts_responseHeader); json_pdu.getBoundProfilePackageResponse.transactionId := oct2str(asn1_pdu_dec.getBoundProfilePackageResponse.getBoundProfilePackageOk.transactionId); json_pdu.getBoundProfilePackageResponse.boundProfilePackage := encode_base64(enc_BoundProfilePackage(asn1_pdu_dec.getBoundProfilePackageResponse.getBoundProfilePackageOk.boundProfilePackage)); json_pdu_enc := oct2char(enc_JSON_ES9p_RemoteProfileProvisioningResponse(json_pdu)); } else if (ispresent(asn1_pdu_dec.authenticateClientResponseEs9)) { - json_pdu.authenticateClientResponseEs9.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.authenticateClientResponseEs9.header := valueof(ts_responseHeader); json_pdu.authenticateClientResponseEs9.transactionId := oct2str(asn1_pdu_dec.authenticateClientResponseEs9.authenticateClientOk.transactionId); json_pdu.authenticateClientResponseEs9.profileMetadata := @@ -304,12 +304,12 @@ json_pdu_enc := oct2char(enc_JSON_ES9p_RemoteProfileProvisioningResponse(json_pdu)); } else if (ispresent(asn1_pdu_dec.cancelSessionResponseEs9)) { /* This message has no JSON body, see also GSMA SGP.22, section 6.5.2.10 */ - json_pdu.emptyResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.emptyResponse.header := valueof(ts_responseHeader); json_pdu_enc := oct2char(enc_JSON_ES9p_RemoteProfileProvisioningResponse(json_pdu)); } else if (ispresent(asn1_pdu_dec.authenticateClientResponseEs11)) { setverdict(fail, "encoder path not implemented for JSON ES9+ message AuthenticateClientResponseEs11"); } else { - json_pdu.emptyResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.emptyResponse.header := valueof(ts_responseHeader); json_pdu_enc := oct2char(enc_JSON_ES9p_RemoteProfileProvisioningResponse(json_pdu)); } } with { extension "prototype(fast)" } diff --git a/library/euicc/esipa_Types_JSON.ttcn b/library/euicc/esipa_Types_JSON.ttcn index 18f28ce..6d027b5 100644 --- a/library/euicc/esipa_Types_JSON.ttcn +++ b/library/euicc/esipa_Types_JSON.ttcn @@ -471,7 +471,7 @@ var JSON_ESipa_EsipaMessageFromEimToIpa json_pdu; if (ispresent(asn1_pdu_dec.initiateAuthenticationResponseEsipa)) { - json_pdu.initiateAuthenticationResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.initiateAuthenticationResponse.header := valueof(ts_responseHeader); if (ispresent(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.transactionId)) { json_pdu.initiateAuthenticationResponse.transactionId := oct2str(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.transactionId); @@ -494,7 +494,7 @@ } json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else if (ispresent(asn1_pdu_dec.authenticateClientResponseEsipa)) { - json_pdu.authenticateClientResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.authenticateClientResponse.header := valueof(ts_responseHeader); if (ispresent(asn1_pdu_dec.authenticateClientResponseEsipa.authenticateClientOkDPEsipa.transactionId)) { json_pdu.authenticateClientResponse.transactionId := oct2str(asn1_pdu_dec.authenticateClientResponseEsipa.authenticateClientOkDPEsipa.transactionId); @@ -515,7 +515,7 @@ } json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else if (ispresent(asn1_pdu_dec.getBoundProfilePackageResponseEsipa)) { - json_pdu.getBoundProfilePackageResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getBoundProfilePackageResponse.header := valueof(ts_responseHeader); if (ispresent(asn1_pdu_dec.getBoundProfilePackageResponseEsipa.getBoundProfilePackageOkEsipa.transactionId)) { json_pdu.getBoundProfilePackageResponse.transactionId := oct2str(asn1_pdu_dec.getBoundProfilePackageResponseEsipa.getBoundProfilePackageOkEsipa.transactionId); @@ -525,25 +525,25 @@ json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else if (ispresent(asn1_pdu_dec.getEimPackageResponse)) { if (ispresent(asn1_pdu_dec.getEimPackageResponse.euiccPackageRequest)) { - json_pdu.getEimPackageResponse.getEimPackageResponse_euiccPkgReq.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getEimPackageResponse.getEimPackageResponse_euiccPkgReq.header := valueof(ts_responseHeader); json_pdu.getEimPackageResponse.getEimPackageResponse_euiccPkgReq.euiccPackageRequest := encode_base64(enc_EuiccPackageRequest(asn1_pdu_dec.getEimPackageResponse.euiccPackageRequest)); } else if (ispresent(asn1_pdu_dec.getEimPackageResponse.ipaEuiccDataRequest)) { - json_pdu.getEimPackageResponse.getEimPackageResponse_euiccDataReq.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getEimPackageResponse.getEimPackageResponse_euiccDataReq.header := valueof(ts_responseHeader); json_pdu.getEimPackageResponse.getEimPackageResponse_euiccDataReq.ipaEuiccDataRequest := encode_base64(enc_IpaEuiccDataRequest(asn1_pdu_dec.getEimPackageResponse.ipaEuiccDataRequest)); } else if (ispresent(asn1_pdu_dec.getEimPackageResponse.profileDownloadTriggerRequest)) { - json_pdu.getEimPackageResponse.getEimPackageResponse_dnlTrigReq.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getEimPackageResponse.getEimPackageResponse_dnlTrigReq.header := valueof(ts_responseHeader); json_pdu.getEimPackageResponse.getEimPackageResponse_dnlTrigReq.profileDownloadTriggerRequest := encode_base64(enc_ProfileDownloadTriggerRequest(asn1_pdu_dec.getEimPackageResponse.profileDownloadTriggerRequest)); } else if (ispresent(asn1_pdu_dec.getEimPackageResponse.eimPackageError)) { - json_pdu.getEimPackageResponse.getEimPackageResponse_eimPkgErr.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.getEimPackageResponse.getEimPackageResponse_eimPkgErr.header := valueof(ts_responseHeader); json_pdu.getEimPackageResponse.getEimPackageResponse_eimPkgErr.eimPackageError := asn1_pdu_dec.getEimPackageResponse.eimPackageError; } json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else if (ispresent(asn1_pdu_dec.provideEimPackageResultResponse)) { - json_pdu.provideEimPackageResultResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.provideEimPackageResultResponse.header := valueof(ts_responseHeader); if (ispresent(asn1_pdu_dec.provideEimPackageResultResponse.eimAcknowledgements)) { json_pdu.provideEimPackageResultResponse.eimAcknowledgements := encode_base64(enc_EimAcknowledgements(asn1_pdu_dec.provideEimPackageResultResponse.eimAcknowledgements)); @@ -551,10 +551,10 @@ json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else if (ispresent(asn1_pdu_dec.cancelSessionResponseEsipa)) { /* This message has no JSON body, see also GSMA SGP.32, section 6.4.1.8 */ - json_pdu.emptyResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.emptyResponse.header := valueof(ts_responseHeader); json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } else { - json_pdu.emptyResponse.header.functionExecutionStatus.status := "Executed-Success"; + json_pdu.emptyResponse.header := valueof(ts_responseHeader); json_pdu_enc := oct2char(enc_JSON_ESipa_EsipaMessageFromEimToIpa(json_pdu)); } } with { extension "prototype(fast)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43821?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifcc3ed49053bd737c96cb34ab142b5522d86821c Gerrit-Change-Number: 43821 Gerrit-PatchSet: 2 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
1 0
0 0
[M] Change in osmo-remsim[master]: Add maintenance mapping support to osmo-remsim-server
by laforge 09 Oct '26

09 Oct '26
Attention is currently required from: jolly, lynxis lazus. laforge has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/osmo-remsim/+/43745?usp=email ) Change subject: Add maintenance mapping support to osmo-remsim-server ...................................................................... Patch Set 4: Code-Review+1 (1 comment) File src/server/rest_api.c: https://gerrit.osmocom.org/c/osmo-remsim/+/43745/comment/75db6f00_fae6d85a?… : PS4, Line 287: maintenance = (maintenance_str && !strcmp(maintenance_str, "true")); should this 'true' be case-sensitive? -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/43745?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I885b3b529276f46fbbe6d86be2170b0bffbb8434 Gerrit-Change-Number: 43745 Gerrit-PatchSet: 4 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Comment-Date: Fri, 09 Oct 2026 11:56:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • ...
  • 123
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.