lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2026
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
List overview
Download
gerrit-log
July 2026
----- 2026 -----
July 2026
June 2026
May 2026
April 2026
March 2026
February 2026
January 2026
----- 2025 -----
December 2025
November 2025
October 2025
September 2025
August 2025
July 2025
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
502 discussions
Start a n
N
ew thread
[S] Change in onomondo-ipa[master]: V1.2: Rename euiccCiPKId of IpaEuiccDataRequest to euiccCiPKIdentifie...
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43033?usp=email
) Change subject: V1.2: Rename euiccCiPKId of IpaEuiccDataRequest to euiccCiPKIdentifierToBeUsed ...................................................................... V1.2: Rename euiccCiPKId of IpaEuiccDataRequest to euiccCiPKIdentifierToBeUsed Reference: SGP.32 Section 2.11.1.2 Related: SYS#8101 Change-Id: Id397206316721962cd534e8131fe2a3b6979d828 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/IpaEuiccDataRequest.c M src/ipa/libasn/IpaEuiccDataRequest.h M src/ipa/libipa/proc_euicc_data_req.c 4 files changed, 8 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/33/43033/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index ce0a5a3..8529f46 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -114,7 +114,7 @@ -- ASN1START IpaEuiccDataRequest ::= [82] SEQUENCE { -- Tag BF52 tagList [APPLICATION 28] OCTET STRING, -- Tag '5C' - euiccCiPKId SubjectKeyIdentifier OPTIONAL, -- CI Public Key Identifier supported on the eUICC for signature creation + euiccCiPKIdentifierToBeUsed OCTET STRING OPTIONAL, -- CI Public Key Identifier (possibly truncated) supported on the eUICC for signature creation searchCriteria [1] CHOICE { seqNumber [0] INTEGER, profileManagementOperation [1] NotificationEvent, diff --git a/src/ipa/libasn/IpaEuiccDataRequest.c b/src/ipa/libasn/IpaEuiccDataRequest.c index 1f471b9..e382a58 100644 --- a/src/ipa/libasn/IpaEuiccDataRequest.c +++ b/src/ipa/libasn/IpaEuiccDataRequest.c @@ -84,14 +84,14 @@ 0, 0, /* No default value */ "tagList" }, - { ATF_POINTER, 2, offsetof(struct IpaEuiccDataRequest, euiccCiPKId), + { ATF_POINTER, 2, offsetof(struct IpaEuiccDataRequest, euiccCiPKIdentifierToBeUsed), (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, - &asn_DEF_SubjectKeyIdentifier, + &asn_DEF_OCTET_STRING, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "euiccCiPKId" + "euiccCiPKIdentifierToBeUsed" }, { ATF_POINTER, 1, offsetof(struct IpaEuiccDataRequest, searchCriteria), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), @@ -109,7 +109,7 @@ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_IpaEuiccDataRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* euiccCiPKId */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* euiccCiPKIdentifierToBeUsed */ { (ASN_TAG_CLASS_APPLICATION | (28 << 2)), 0, 0, 0 }, /* tagList */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 } /* searchCriteria */ }; diff --git a/src/ipa/libasn/IpaEuiccDataRequest.h b/src/ipa/libasn/IpaEuiccDataRequest.h index 0a06183..b2deef4 100644 --- a/src/ipa/libasn/IpaEuiccDataRequest.h +++ b/src/ipa/libasn/IpaEuiccDataRequest.h @@ -13,7 +13,6 @@ /* Including external dependencies */ #include <OCTET_STRING.h> -#include "SubjectKeyIdentifier.h" #include <NativeInteger.h> #include "NotificationEvent.h" #include <NULL.h> @@ -37,7 +36,7 @@ /* IpaEuiccDataRequest */ typedef struct IpaEuiccDataRequest { OCTET_STRING_t tagList; - SubjectKeyIdentifier_t *euiccCiPKId /* OPTIONAL */; + OCTET_STRING_t *euiccCiPKIdentifierToBeUsed /* OPTIONAL */; struct IpaEuiccDataRequest__searchCriteria { IpaEuiccDataRequest__searchCriteria_PR present; union IpaEuiccDataRequest__searchCriteria_u { diff --git a/src/ipa/libipa/proc_euicc_data_req.c b/src/ipa/libipa/proc_euicc_data_req.c index 4cc5682..2e2ebc1 100644 --- a/src/ipa/libipa/proc_euicc_data_req.c +++ b/src/ipa/libipa/proc_euicc_data_req.c @@ -160,7 +160,7 @@ if (ipa_tag_in_taglist(0xA5, tag_list)) { IPA_LOGP(SIPA, LINFO, "eIM asks for EUM certificate\n"); - get_certs_req.req.euiccCiPKId = pars->ipa_euicc_data_request->euiccCiPKId; + get_certs_req.req.euiccCiPKId = pars->ipa_euicc_data_request->euiccCiPKIdentifierToBeUsed; get_certs_res = ipa_es10b_get_certs(ctx, &get_certs_req); if (get_certs_res && get_certs_res->eum_certificate && get_certs_res->euicc_certificate) ipa_euicc_data_response.choice.ipaEuiccData.eumCertificate = get_certs_res->eum_certificate; @@ -173,7 +173,7 @@ ipa_euicc_data_response.choice.ipaEuiccData.euiccCertificate = get_certs_res->euicc_certificate; } else { IPA_LOGP(SIPA, LINFO, "eIM asks for eUICC certificate\n"); - get_certs_req.req.euiccCiPKId = pars->ipa_euicc_data_request->euiccCiPKId; + get_certs_req.req.euiccCiPKId = pars->ipa_euicc_data_request->euiccCiPKIdentifierToBeUsed; get_certs_res = ipa_es10b_get_certs(ctx, &get_certs_req); if (get_certs_res && get_certs_res->eum_certificate && get_certs_res->euicc_certificate) ipa_euicc_data_response.choice.ipaEuiccData.euiccCertificate = get_certs_res->euicc_certificate; -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43033?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: Id397206316721962cd534e8131fe2a3b6979d828 Gerrit-Change-Number: 43033 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[L] Change in onomondo-ipa[master]: V1.2: EuiccResultData.setFallbackAttribute / unsetFallbackAttribute
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43030?usp=email
) Change subject: V1.2: EuiccResultData.setFallbackAttribute / unsetFallbackAttribute ...................................................................... V1.2: EuiccResultData.setFallbackAttribute / unsetFallbackAttribute Add setFallbackAttribute and unsetFallbackAttribute to EuiccResultData. The IoT eUICC emulation just acknowledges the operation with a log message and does nothing. A non IoT eUICC does not support fallback. Reference: SGP.32 Section 2.11.1.1.3 Related: SYS#8101 Change-Id: I59fba32cb12de22f71b3238adcbab5fc7f66e991 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/CMakeLists.txt M src/ipa/libasn/EuiccResultData.c M src/ipa/libasn/EuiccResultData.h M src/ipa/libasn/Psmo.c M src/ipa/libasn/Psmo.h A src/ipa/libasn/SetFallbackAttributeResult.c A src/ipa/libasn/SetFallbackAttributeResult.h A src/ipa/libasn/UnsetFallbackAttributeResult.c A src/ipa/libasn/UnsetFallbackAttributeResult.h M src/ipa/libipa/es10b_load_euicc_pkg.c 11 files changed, 375 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/30/43030/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index 3b91400..c37ac17 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -102,7 +102,9 @@ immediateEnableFlag [0] NULL OPTIONAL, smdpOid [1] OBJECT IDENTIFIER OPTIONAL, smdpAddress [2] UTF8String OPTIONAL - } + }, + setFallbackAttribute [8] SEQUENCE {iccid [APPLICATION 26] Iccid}, + unsetFallbackAttribute [9] SEQUENCE {} } -- ASN1STOP @@ -172,6 +174,8 @@ updateEimResult [10] UpdateEimResult, listEimResult [11] ListEimResult, rollbackResult [12] RollbackProfileResult, + setFallbackAttributeResult [13] SetFallbackAttributeResult, + unsetFallbackAttributeResult [14] UnsetFallbackAttributeResult, processingTerminated INTEGER { resultSizeOverflow(1), unknownOrDamagedCommand(2), @@ -231,6 +235,20 @@ ok(0), undefinedError(127) } +SetFallbackAttributeResult ::= INTEGER { + ok(0), + iccidOrAidNotFound (1), + fallbackNotAllowed (2), + fallbackProfileEnabled (3), + undefinedError (127) +} +UnsetFallbackAttributeResult ::= INTEGER { + ok(0), + noFallbackAttribute(2), + fallbackProfileEnabled (3), + commandError(7), + undefinedError (127) +} AddEimResult ::= CHOICE { associationToken [4] INTEGER, addEimResultCode INTEGER { diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt index 90d7b42..68338fb 100644 --- a/src/ipa/libasn/CMakeLists.txt +++ b/src/ipa/libasn/CMakeLists.txt @@ -786,6 +786,8 @@ SetDefaultDpAddressRequest.h SetDefaultDpAddressResponse.c SetDefaultDpAddressResponse.h +SetFallbackAttributeResult.c +SetFallbackAttributeResult.h SetNicknameRequest.c SetNicknameRequest.h SetNicknameResponse.c @@ -892,6 +894,8 @@ UniquePostalName.h UniversalString.c UniversalString.h +UnsetFallbackAttributeResult.c +UnsetFallbackAttributeResult.h UpdateEimResult.c UpdateEimResult.h UpdateMetadataRequest.c diff --git a/src/ipa/libasn/EuiccResultData.c b/src/ipa/libasn/EuiccResultData.c index 08f4119..15fc272 100644 --- a/src/ipa/libasn/EuiccResultData.c +++ b/src/ipa/libasn/EuiccResultData.c @@ -11,7 +11,7 @@ { 0, 0 }, -1}; asn_per_constraints_t asn_PER_type_EuiccResultData_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 11 } /* (0..11,...) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; @@ -115,6 +115,24 @@ 0, 0, /* No default value */ "rollbackResult" }, + { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.setFallbackAttributeResult), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SetFallbackAttributeResult, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "setFallbackAttributeResult" + }, + { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.unsetFallbackAttributeResult), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UnsetFallbackAttributeResult, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "unsetFallbackAttributeResult" + }, { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.processingTerminated), (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, @@ -125,10 +143,10 @@ "processingTerminated" }, }; -static const unsigned asn_MAP_EuiccResultData_to_canonical_1[] = { 11, 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 3 }; -static const unsigned asn_MAP_EuiccResultData_from_canonical_1[] = { 1, 2, 3, 11, 4, 5, 6, 7, 8, 9, 10, 0 }; +static const unsigned asn_MAP_EuiccResultData_to_canonical_1[] = { 13, 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3 }; +static const unsigned asn_MAP_EuiccResultData_from_canonical_1[] = { 1, 2, 3, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0 }; static const asn_TYPE_tag2member_t asn_MAP_EuiccResultData_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 11, 0, 0 }, /* processingTerminated */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 13, 0, 0 }, /* processingTerminated */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* enableResult */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* disableResult */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 }, /* deleteResult */ @@ -139,6 +157,8 @@ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 8, 0, 0 }, /* updateEimResult */ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 9, 0, 0 }, /* listEimResult */ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 10, 0, 0 }, /* rollbackResult */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 11, 0, 0 }, /* setFallbackAttributeResult */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 12, 0, 0 }, /* unsetFallbackAttributeResult */ { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 } /* listProfileInfoResult */ }; asn_CHOICE_specifics_t asn_SPC_EuiccResultData_specs_1 = { @@ -147,10 +167,10 @@ offsetof(struct EuiccResultData, present), sizeof(((struct EuiccResultData *)0)->present), asn_MAP_EuiccResultData_tag2el_1, - 12, /* Count of tags in the map */ + 14, /* Count of tags in the map */ asn_MAP_EuiccResultData_to_canonical_1, asn_MAP_EuiccResultData_from_canonical_1, - 12 /* Extensions start */ + 14 /* Extensions start */ }; asn_TYPE_descriptor_t asn_DEF_EuiccResultData = { "EuiccResultData", @@ -162,7 +182,7 @@ 0, /* No tags (count) */ { &asn_OER_type_EuiccResultData_constr_1, &asn_PER_type_EuiccResultData_constr_1, CHOICE_constraint }, asn_MBR_EuiccResultData_1, - 12, /* Elements count */ + 14, /* Elements count */ &asn_SPC_EuiccResultData_specs_1 /* Additional specs */ }; diff --git a/src/ipa/libasn/EuiccResultData.h b/src/ipa/libasn/EuiccResultData.h index 82ee724..79197a6 100644 --- a/src/ipa/libasn/EuiccResultData.h +++ b/src/ipa/libasn/EuiccResultData.h @@ -23,6 +23,8 @@ #include "UpdateEimResult.h" #include "ListEimResult.h" #include "RollbackProfileResult.h" +#include "SetFallbackAttributeResult.h" +#include "UnsetFallbackAttributeResult.h" #include <NativeInteger.h> #include <constr_CHOICE.h> @@ -44,6 +46,8 @@ EuiccResultData_PR_updateEimResult, EuiccResultData_PR_listEimResult, EuiccResultData_PR_rollbackResult, + EuiccResultData_PR_setFallbackAttributeResult, + EuiccResultData_PR_unsetFallbackAttributeResult, EuiccResultData_PR_processingTerminated /* Extensions may appear below */ @@ -70,6 +74,8 @@ UpdateEimResult_t updateEimResult; ListEimResult_t listEimResult; RollbackProfileResult_t rollbackResult; + SetFallbackAttributeResult_t setFallbackAttributeResult; + UnsetFallbackAttributeResult_t unsetFallbackAttributeResult; long processingTerminated; /* * This type is extensible, @@ -84,7 +90,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_EuiccResultData; extern asn_CHOICE_specifics_t asn_SPC_EuiccResultData_specs_1; -extern asn_TYPE_member_t asn_MBR_EuiccResultData_1[12]; +extern asn_TYPE_member_t asn_MBR_EuiccResultData_1[14]; extern asn_per_constraints_t asn_PER_type_EuiccResultData_constr_1; #ifdef __cplusplus diff --git a/src/ipa/libasn/Psmo.c b/src/ipa/libasn/Psmo.c index 6b8d207..144a95a 100644 --- a/src/ipa/libasn/Psmo.c +++ b/src/ipa/libasn/Psmo.c @@ -11,7 +11,7 @@ { 0, 0 }, -1}; asn_per_constraints_t asn_PER_type_Psmo_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; @@ -249,6 +249,77 @@ &asn_SPC_configureImmediateEnable_specs_15 /* Additional specs */ }; +static asn_TYPE_member_t asn_MBR_setFallbackAttribute_20[] = { + { ATF_NOFLAGS, 0, offsetof(struct Psmo__setFallbackAttribute, iccid), + (ASN_TAG_CLASS_APPLICATION | (26 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Iccid, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "iccid" + }, +}; +static const ber_tlv_tag_t asn_DEF_setFallbackAttribute_tags_20[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_setFallbackAttribute_tag2el_20[] = { + { (ASN_TAG_CLASS_APPLICATION | (26 << 2)), 0, 0, 0 } /* iccid */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_setFallbackAttribute_specs_20 = { + sizeof(struct Psmo__setFallbackAttribute), + offsetof(struct Psmo__setFallbackAttribute, _asn_ctx), + asn_MAP_setFallbackAttribute_tag2el_20, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_setFallbackAttribute_20 = { + "setFallbackAttribute", + "setFallbackAttribute", + &asn_OP_SEQUENCE, + asn_DEF_setFallbackAttribute_tags_20, + sizeof(asn_DEF_setFallbackAttribute_tags_20) + /sizeof(asn_DEF_setFallbackAttribute_tags_20[0]) - 1, /* 1 */ + asn_DEF_setFallbackAttribute_tags_20, /* Same as above */ + sizeof(asn_DEF_setFallbackAttribute_tags_20) + /sizeof(asn_DEF_setFallbackAttribute_tags_20[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_setFallbackAttribute_20, + 1, /* Elements count */ + &asn_SPC_setFallbackAttribute_specs_20 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_unsetFallbackAttribute_tags_23[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SEQUENCE_specifics_t asn_SPC_unsetFallbackAttribute_specs_23 = { + sizeof(struct Psmo__unsetFallbackAttribute), + offsetof(struct Psmo__unsetFallbackAttribute, _asn_ctx), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_unsetFallbackAttribute_23 = { + "unsetFallbackAttribute", + "unsetFallbackAttribute", + &asn_OP_SEQUENCE, + asn_DEF_unsetFallbackAttribute_tags_23, + sizeof(asn_DEF_unsetFallbackAttribute_tags_23) + /sizeof(asn_DEF_unsetFallbackAttribute_tags_23[0]) - 1, /* 1 */ + asn_DEF_unsetFallbackAttribute_tags_23, /* Same as above */ + sizeof(asn_DEF_unsetFallbackAttribute_tags_23) + /sizeof(asn_DEF_unsetFallbackAttribute_tags_23[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + 0, 0, /* No members */ + &asn_SPC_unsetFallbackAttribute_specs_23 /* Additional specs */ +}; + asn_TYPE_member_t asn_MBR_Psmo_1[] = { { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.enable), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), @@ -304,15 +375,35 @@ 0, 0, /* No default value */ "configureImmediateEnable" }, + { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.setFallbackAttribute), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_setFallbackAttribute_20, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "setFallbackAttribute" + }, + { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.unsetFallbackAttribute), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_unsetFallbackAttribute_23, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "unsetFallbackAttribute" + }, }; -static const unsigned asn_MAP_Psmo_to_canonical_1[] = { 0, 1, 2, 4, 5, 3 }; -static const unsigned asn_MAP_Psmo_from_canonical_1[] = { 0, 1, 2, 5, 3, 4 }; +static const unsigned asn_MAP_Psmo_to_canonical_1[] = { 0, 1, 2, 4, 5, 6, 7, 3 }; +static const unsigned asn_MAP_Psmo_from_canonical_1[] = { 0, 1, 2, 7, 3, 4, 5, 6 }; static const asn_TYPE_tag2member_t asn_MAP_Psmo_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* enable */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* disable */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 }, /* delete */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 4, 0, 0 }, /* getRAT */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureImmediateEnable */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 6, 0, 0 }, /* setFallbackAttribute */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 7, 0, 0 }, /* unsetFallbackAttribute */ { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 } /* listProfileInfo */ }; asn_CHOICE_specifics_t asn_SPC_Psmo_specs_1 = { @@ -321,10 +412,10 @@ offsetof(struct Psmo, present), sizeof(((struct Psmo *)0)->present), asn_MAP_Psmo_tag2el_1, - 6, /* Count of tags in the map */ + 8, /* Count of tags in the map */ asn_MAP_Psmo_to_canonical_1, asn_MAP_Psmo_from_canonical_1, - 6 /* Extensions start */ + 8 /* Extensions start */ }; asn_TYPE_descriptor_t asn_DEF_Psmo = { "Psmo", @@ -336,7 +427,7 @@ 0, /* No tags (count) */ { &asn_OER_type_Psmo_constr_1, &asn_PER_type_Psmo_constr_1, CHOICE_constraint }, asn_MBR_Psmo_1, - 6, /* Elements count */ + 8, /* Elements count */ &asn_SPC_Psmo_specs_1 /* Additional specs */ }; diff --git a/src/ipa/libasn/Psmo.h b/src/ipa/libasn/Psmo.h index 9e9c22f..c5e3e10 100644 --- a/src/ipa/libasn/Psmo.h +++ b/src/ipa/libasn/Psmo.h @@ -32,7 +32,9 @@ Psmo_PR_delete, Psmo_PR_listProfileInfo, Psmo_PR_getRAT, - Psmo_PR_configureImmediateEnable + Psmo_PR_configureImmediateEnable, + Psmo_PR_setFallbackAttribute, + Psmo_PR_unsetFallbackAttribute /* Extensions may appear below */ } Psmo_PR; @@ -94,6 +96,25 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } configureImmediateEnable; + struct Psmo__setFallbackAttribute { + Iccid_t iccid; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } setFallbackAttribute; + struct Psmo__unsetFallbackAttribute { + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } unsetFallbackAttribute; /* * This type is extensible, * possible extensions are below. @@ -107,7 +128,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_Psmo; extern asn_CHOICE_specifics_t asn_SPC_Psmo_specs_1; -extern asn_TYPE_member_t asn_MBR_Psmo_1[6]; +extern asn_TYPE_member_t asn_MBR_Psmo_1[8]; extern asn_per_constraints_t asn_PER_type_Psmo_constr_1; #ifdef __cplusplus diff --git a/src/ipa/libasn/SetFallbackAttributeResult.c b/src/ipa/libasn/SetFallbackAttributeResult.c new file mode 100644 index 0000000..8996ca7 --- /dev/null +++ b/src/ipa/libasn/SetFallbackAttributeResult.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "SetFallbackAttributeResult.h" + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_SetFallbackAttributeResult_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SetFallbackAttributeResult = { + "SetFallbackAttributeResult", + "SetFallbackAttributeResult", + &asn_OP_NativeInteger, + asn_DEF_SetFallbackAttributeResult_tags_1, + sizeof(asn_DEF_SetFallbackAttributeResult_tags_1) + /sizeof(asn_DEF_SetFallbackAttributeResult_tags_1[0]), /* 1 */ + asn_DEF_SetFallbackAttributeResult_tags_1, /* Same as above */ + sizeof(asn_DEF_SetFallbackAttributeResult_tags_1) + /sizeof(asn_DEF_SetFallbackAttributeResult_tags_1[0]), /* 1 */ + { 0, 0, NativeInteger_constraint }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/ipa/libasn/SetFallbackAttributeResult.h b/src/ipa/libasn/SetFallbackAttributeResult.h new file mode 100644 index 0000000..a8b708e --- /dev/null +++ b/src/ipa/libasn/SetFallbackAttributeResult.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _SetFallbackAttributeResult_H_ +#define _SetFallbackAttributeResult_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SetFallbackAttributeResult { + SetFallbackAttributeResult_ok = 0, + SetFallbackAttributeResult_iccidOrAidNotFound = 1, + SetFallbackAttributeResult_fallbackNotAllowed = 2, + SetFallbackAttributeResult_fallbackProfileEnabled = 3, + SetFallbackAttributeResult_undefinedError = 127 +} e_SetFallbackAttributeResult; + +/* SetFallbackAttributeResult */ +typedef long SetFallbackAttributeResult_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SetFallbackAttributeResult; +asn_struct_free_f SetFallbackAttributeResult_free; +asn_struct_print_f SetFallbackAttributeResult_print; +asn_constr_check_f SetFallbackAttributeResult_constraint; +ber_type_decoder_f SetFallbackAttributeResult_decode_ber; +der_type_encoder_f SetFallbackAttributeResult_encode_der; +xer_type_decoder_f SetFallbackAttributeResult_decode_xer; +xer_type_encoder_f SetFallbackAttributeResult_encode_xer; +oer_type_decoder_f SetFallbackAttributeResult_decode_oer; +oer_type_encoder_f SetFallbackAttributeResult_encode_oer; +per_type_decoder_f SetFallbackAttributeResult_decode_uper; +per_type_encoder_f SetFallbackAttributeResult_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SetFallbackAttributeResult_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/UnsetFallbackAttributeResult.c b/src/ipa/libasn/UnsetFallbackAttributeResult.c new file mode 100644 index 0000000..910a723 --- /dev/null +++ b/src/ipa/libasn/UnsetFallbackAttributeResult.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "UnsetFallbackAttributeResult.h" + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_UnsetFallbackAttributeResult_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UnsetFallbackAttributeResult = { + "UnsetFallbackAttributeResult", + "UnsetFallbackAttributeResult", + &asn_OP_NativeInteger, + asn_DEF_UnsetFallbackAttributeResult_tags_1, + sizeof(asn_DEF_UnsetFallbackAttributeResult_tags_1) + /sizeof(asn_DEF_UnsetFallbackAttributeResult_tags_1[0]), /* 1 */ + asn_DEF_UnsetFallbackAttributeResult_tags_1, /* Same as above */ + sizeof(asn_DEF_UnsetFallbackAttributeResult_tags_1) + /sizeof(asn_DEF_UnsetFallbackAttributeResult_tags_1[0]), /* 1 */ + { 0, 0, NativeInteger_constraint }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/ipa/libasn/UnsetFallbackAttributeResult.h b/src/ipa/libasn/UnsetFallbackAttributeResult.h new file mode 100644 index 0000000..6aede02 --- /dev/null +++ b/src/ipa/libasn/UnsetFallbackAttributeResult.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _UnsetFallbackAttributeResult_H_ +#define _UnsetFallbackAttributeResult_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UnsetFallbackAttributeResult { + UnsetFallbackAttributeResult_ok = 0, + UnsetFallbackAttributeResult_noFallbackAttribute = 2, + UnsetFallbackAttributeResult_fallbackProfileEnabled = 3, + UnsetFallbackAttributeResult_commandError = 7, + UnsetFallbackAttributeResult_undefinedError = 127 +} e_UnsetFallbackAttributeResult; + +/* UnsetFallbackAttributeResult */ +typedef long UnsetFallbackAttributeResult_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UnsetFallbackAttributeResult; +asn_struct_free_f UnsetFallbackAttributeResult_free; +asn_struct_print_f UnsetFallbackAttributeResult_print; +asn_constr_check_f UnsetFallbackAttributeResult_constraint; +ber_type_decoder_f UnsetFallbackAttributeResult_decode_ber; +der_type_encoder_f UnsetFallbackAttributeResult_encode_der; +xer_type_decoder_f UnsetFallbackAttributeResult_decode_xer; +xer_type_encoder_f UnsetFallbackAttributeResult_encode_xer; +oer_type_decoder_f UnsetFallbackAttributeResult_decode_oer; +oer_type_encoder_f UnsetFallbackAttributeResult_encode_oer; +per_type_decoder_f UnsetFallbackAttributeResult_decode_uper; +per_type_encoder_f UnsetFallbackAttributeResult_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UnsetFallbackAttributeResult_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index 0026d53..01e743a 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -266,6 +266,32 @@ return euicc_result_data; } +struct EuiccResultData *iot_emo_do_setFallbackAttribute_psmo(struct ipa_context *ctx, + const struct Psmo__setFallbackAttribute *setFallbackAttribute_psmo) +{ + struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); + + IPA_LOGP_ES10X("LoadEuiccPackage", LINFO, + "IoT eUICC emulation active, setFallbackAttribute not supported by eUICC!\n"); + + euicc_result_data->choice.setFallbackAttributeResult = SetFallbackAttributeResult_ok; + + return euicc_result_data; +} + +struct EuiccResultData *iot_emo_do_unsetFallbackAttribute_psmo(struct ipa_context *ctx, + const struct Psmo__unsetFallbackAttribute *unsetFallbackAttribute_psmo) +{ + struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); + + IPA_LOGP_ES10X("LoadEuiccPackage", LINFO, + "IoT eUICC emulation active, unsetFallbackAttribute not supported by eUICC!\n"); + + euicc_result_data->choice.setFallbackAttributeResult = UnsetFallbackAttributeResult_ok; + + return euicc_result_data; +} + struct EuiccResultData *iot_emo_do_addEim_eco(struct ipa_context *ctx, const struct EimConfigurationData *addEim_eco) { struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); @@ -600,6 +626,12 @@ psmo_result = iot_emo_do_configureImmediateEnable_psmo(ctx, &psmo->choice.configureImmediateEnable); break; + case Psmo_PR_setFallbackAttribute: + psmo_result = iot_emo_do_setFallbackAttribute_psmo(ctx, &psmo->choice.setFallbackAttribute); + break; + case Psmo_PR_unsetFallbackAttribute: + psmo_result = iot_emo_do_unsetFallbackAttribute_psmo(ctx, &psmo->choice.unsetFallbackAttribute); + break; default: IPA_LOGP_ES10X("LoadEuiccPackage", LERROR, "ignoring invalid or unsupported PSMO!\n"); break; -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43030?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: I59fba32cb12de22f71b3238adcbab5fc7f66e991 Gerrit-Change-Number: 43030 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[L] Change in onomondo-ipa[master]: V1.2: Add setDefaultDpAddress function
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43031?usp=email
) Change subject: V1.2: Add setDefaultDpAddress function ...................................................................... V1.2: Add setDefaultDpAddress function Add setDefaultDpAddress to EuiccResultData. Implement the SGP.32 function SetDefaultDpAddress and handle the setDefaultDpAddress PSMO. The IoT eUICC emulation uses the non-IoT eUICC SGP.22 function SetDefaultDpAddress. Reference: SGP.32 Section 2.11.1.1.3 Related: SYS#8101 Change-Id: I514b03240289469142e6a41a7290a4afce199318 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/CMakeLists.txt M src/ipa/libasn/EuiccResultData.c M src/ipa/libasn/EuiccResultData.h M src/ipa/libasn/Psmo.c M src/ipa/libasn/Psmo.h A src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.c A src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.h A src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.c A src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.h M src/ipa/libasn/SetDefaultDpAddressResponse.c M src/ipa/libasn/SetDefaultDpAddressResponse.h M src/ipa/libipa/CMakeLists.txt M src/ipa/libipa/es10b_load_euicc_pkg.c A src/ipa/libipa/es10c_set_def_dp_addr.c A src/ipa/libipa/es10c_set_def_dp_addr.h 16 files changed, 404 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/31/43031/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index c37ac17..0e3723c 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -104,7 +104,8 @@ smdpAddress [2] UTF8String OPTIONAL }, setFallbackAttribute [8] SEQUENCE {iccid [APPLICATION 26] Iccid}, - unsetFallbackAttribute [9] SEQUENCE {} + unsetFallbackAttribute [9] SEQUENCE {}, + setDefaultDpAddress [101] SGP32-SetDefaultDpAddressRequest -- Tag 'BF65' } -- ASN1STOP @@ -181,7 +182,8 @@ unknownOrDamagedCommand(2), interruption(3), undefinedError(127) - } + }, + setDefaultDpAddressResult [101] SetDefaultDpAddressResponse } EuiccPackageErrorSigned ::= SEQUENCE { euiccPackageErrorDataSigned EuiccPackageErrorDataSigned, @@ -542,6 +544,16 @@ } -- ASN1STOP +-- Section 5.9.25 +-- ASN1START +SGP32-SetDefaultDpAddressRequest ::= [101] SEQUENCE { -- Tag 'BF65' + defaultDpAddress UTF8String -- Default SM-DP+ address as an FQDN +} +SGP32-SetDefaultDpAddressResponse ::= [101] SEQUENCE { -- Tag 'BF65' + setDefaultDpAddressResult INTEGER { ok (0), undefinedError (127)} +} +-- ASN1STOP + -- Section 5.14.2 -- ASN1START SGP32-PrepareDownloadResponse ::= [33] CHOICE { -- Tag 'BF21' diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt index 68338fb..bd8ed73 100644 --- a/src/ipa/libasn/CMakeLists.txt +++ b/src/ipa/libasn/CMakeLists.txt @@ -818,6 +818,10 @@ SGP32-RetrieveNotificationsListRequest.h SGP32-RetrieveNotificationsListResponse.c SGP32-RetrieveNotificationsListResponse.h +SGP32-SetDefaultDpAddressRequest.c +SGP32-SetDefaultDpAddressRequest.h +SGP32-SetDefaultDpAddressResponse.c +SGP32-SetDefaultDpAddressResponse.h SkipCerts.c SkipCerts.h SmdpSigned2.c diff --git a/src/ipa/libasn/EuiccResultData.c b/src/ipa/libasn/EuiccResultData.c index 15fc272..5a0376c 100644 --- a/src/ipa/libasn/EuiccResultData.c +++ b/src/ipa/libasn/EuiccResultData.c @@ -11,7 +11,7 @@ { 0, 0 }, -1}; asn_per_constraints_t asn_PER_type_EuiccResultData_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 14 } /* (0..14,...) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; @@ -142,9 +142,18 @@ 0, 0, /* No default value */ "processingTerminated" }, + { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.setDefaultDpAddressResult), + (ASN_TAG_CLASS_CONTEXT | (101 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SetDefaultDpAddressResponse, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "setDefaultDpAddressResult" + }, }; -static const unsigned asn_MAP_EuiccResultData_to_canonical_1[] = { 13, 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3 }; -static const unsigned asn_MAP_EuiccResultData_from_canonical_1[] = { 1, 2, 3, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0 }; +static const unsigned asn_MAP_EuiccResultData_to_canonical_1[] = { 13, 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3, 14 }; +static const unsigned asn_MAP_EuiccResultData_from_canonical_1[] = { 1, 2, 3, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 14 }; static const asn_TYPE_tag2member_t asn_MAP_EuiccResultData_tag2el_1[] = { { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 13, 0, 0 }, /* processingTerminated */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* enableResult */ @@ -159,7 +168,8 @@ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 10, 0, 0 }, /* rollbackResult */ { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 11, 0, 0 }, /* setFallbackAttributeResult */ { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 12, 0, 0 }, /* unsetFallbackAttributeResult */ - { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 } /* listProfileInfoResult */ + { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 }, /* listProfileInfoResult */ + { (ASN_TAG_CLASS_CONTEXT | (101 << 2)), 14, 0, 0 } /* setDefaultDpAddressResult */ }; asn_CHOICE_specifics_t asn_SPC_EuiccResultData_specs_1 = { sizeof(struct EuiccResultData), @@ -167,10 +177,10 @@ offsetof(struct EuiccResultData, present), sizeof(((struct EuiccResultData *)0)->present), asn_MAP_EuiccResultData_tag2el_1, - 14, /* Count of tags in the map */ + 15, /* Count of tags in the map */ asn_MAP_EuiccResultData_to_canonical_1, asn_MAP_EuiccResultData_from_canonical_1, - 14 /* Extensions start */ + 15 /* Extensions start */ }; asn_TYPE_descriptor_t asn_DEF_EuiccResultData = { "EuiccResultData", @@ -182,7 +192,7 @@ 0, /* No tags (count) */ { &asn_OER_type_EuiccResultData_constr_1, &asn_PER_type_EuiccResultData_constr_1, CHOICE_constraint }, asn_MBR_EuiccResultData_1, - 14, /* Elements count */ + 15, /* Elements count */ &asn_SPC_EuiccResultData_specs_1 /* Additional specs */ }; diff --git a/src/ipa/libasn/EuiccResultData.h b/src/ipa/libasn/EuiccResultData.h index 79197a6..aa7069b 100644 --- a/src/ipa/libasn/EuiccResultData.h +++ b/src/ipa/libasn/EuiccResultData.h @@ -26,6 +26,7 @@ #include "SetFallbackAttributeResult.h" #include "UnsetFallbackAttributeResult.h" #include <NativeInteger.h> +#include "SetDefaultDpAddressResponse.h" #include <constr_CHOICE.h> #ifdef __cplusplus @@ -48,7 +49,8 @@ EuiccResultData_PR_rollbackResult, EuiccResultData_PR_setFallbackAttributeResult, EuiccResultData_PR_unsetFallbackAttributeResult, - EuiccResultData_PR_processingTerminated + EuiccResultData_PR_processingTerminated, + EuiccResultData_PR_setDefaultDpAddressResult /* Extensions may appear below */ } EuiccResultData_PR; @@ -77,6 +79,7 @@ SetFallbackAttributeResult_t setFallbackAttributeResult; UnsetFallbackAttributeResult_t unsetFallbackAttributeResult; long processingTerminated; + SetDefaultDpAddressResponse_t setDefaultDpAddressResult; /* * This type is extensible, * possible extensions are below. @@ -90,7 +93,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_EuiccResultData; extern asn_CHOICE_specifics_t asn_SPC_EuiccResultData_specs_1; -extern asn_TYPE_member_t asn_MBR_EuiccResultData_1[14]; +extern asn_TYPE_member_t asn_MBR_EuiccResultData_1[15]; extern asn_per_constraints_t asn_PER_type_EuiccResultData_constr_1; #ifdef __cplusplus diff --git a/src/ipa/libasn/Psmo.c b/src/ipa/libasn/Psmo.c index 144a95a..e6bb849 100644 --- a/src/ipa/libasn/Psmo.c +++ b/src/ipa/libasn/Psmo.c @@ -11,7 +11,7 @@ { 0, 0 }, -1}; asn_per_constraints_t asn_PER_type_Psmo_constr_1 CC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 8 } /* (0..8,...) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; @@ -393,9 +393,18 @@ 0, 0, /* No default value */ "unsetFallbackAttribute" }, + { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.setDefaultDpAddress), + (ASN_TAG_CLASS_CONTEXT | (101 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SGP32_SetDefaultDpAddressRequest, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "setDefaultDpAddress" + }, }; -static const unsigned asn_MAP_Psmo_to_canonical_1[] = { 0, 1, 2, 4, 5, 6, 7, 3 }; -static const unsigned asn_MAP_Psmo_from_canonical_1[] = { 0, 1, 2, 7, 3, 4, 5, 6 }; +static const unsigned asn_MAP_Psmo_to_canonical_1[] = { 0, 1, 2, 4, 5, 6, 7, 3, 8 }; +static const unsigned asn_MAP_Psmo_from_canonical_1[] = { 0, 1, 2, 7, 3, 4, 5, 6, 8 }; static const asn_TYPE_tag2member_t asn_MAP_Psmo_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* enable */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* disable */ @@ -404,7 +413,8 @@ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureImmediateEnable */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 6, 0, 0 }, /* setFallbackAttribute */ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 7, 0, 0 }, /* unsetFallbackAttribute */ - { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 } /* listProfileInfo */ + { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 }, /* listProfileInfo */ + { (ASN_TAG_CLASS_CONTEXT | (101 << 2)), 8, 0, 0 } /* setDefaultDpAddress */ }; asn_CHOICE_specifics_t asn_SPC_Psmo_specs_1 = { sizeof(struct Psmo), @@ -412,10 +422,10 @@ offsetof(struct Psmo, present), sizeof(((struct Psmo *)0)->present), asn_MAP_Psmo_tag2el_1, - 8, /* Count of tags in the map */ + 9, /* Count of tags in the map */ asn_MAP_Psmo_to_canonical_1, asn_MAP_Psmo_from_canonical_1, - 8 /* Extensions start */ + 9 /* Extensions start */ }; asn_TYPE_descriptor_t asn_DEF_Psmo = { "Psmo", @@ -427,7 +437,7 @@ 0, /* No tags (count) */ { &asn_OER_type_Psmo_constr_1, &asn_PER_type_Psmo_constr_1, CHOICE_constraint }, asn_MBR_Psmo_1, - 8, /* Elements count */ + 9, /* Elements count */ &asn_SPC_Psmo_specs_1 /* Additional specs */ }; diff --git a/src/ipa/libasn/Psmo.h b/src/ipa/libasn/Psmo.h index c5e3e10..e00f820 100644 --- a/src/ipa/libasn/Psmo.h +++ b/src/ipa/libasn/Psmo.h @@ -13,6 +13,7 @@ /* Including external dependencies */ #include "ProfileInfoListRequest.h" +#include "SGP32-SetDefaultDpAddressRequest.h" #include "Iccid.h" #include <NULL.h> #include <constr_SEQUENCE.h> @@ -34,7 +35,8 @@ Psmo_PR_getRAT, Psmo_PR_configureImmediateEnable, Psmo_PR_setFallbackAttribute, - Psmo_PR_unsetFallbackAttribute + Psmo_PR_unsetFallbackAttribute, + Psmo_PR_setDefaultDpAddress /* Extensions may appear below */ } Psmo_PR; @@ -115,6 +117,7 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } unsetFallbackAttribute; + SGP32_SetDefaultDpAddressRequest_t setDefaultDpAddress; /* * This type is extensible, * possible extensions are below. @@ -128,7 +131,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_Psmo; extern asn_CHOICE_specifics_t asn_SPC_Psmo_specs_1; -extern asn_TYPE_member_t asn_MBR_Psmo_1[8]; +extern asn_TYPE_member_t asn_MBR_Psmo_1[9]; extern asn_per_constraints_t asn_PER_type_Psmo_constr_1; #ifdef __cplusplus diff --git a/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.c b/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.c new file mode 100644 index 0000000..471f70d --- /dev/null +++ b/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.c @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "SGP32-SetDefaultDpAddressRequest.h" + +asn_TYPE_member_t asn_MBR_SGP32_SetDefaultDpAddressRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SGP32_SetDefaultDpAddressRequest, defaultDpAddress), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UTF8String, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "defaultDpAddress" + }, +}; +static const ber_tlv_tag_t asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (101 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SGP32_SetDefaultDpAddressRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* defaultDpAddress */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SGP32_SetDefaultDpAddressRequest_specs_1 = { + sizeof(struct SGP32_SetDefaultDpAddressRequest), + offsetof(struct SGP32_SetDefaultDpAddressRequest, _asn_ctx), + asn_MAP_SGP32_SetDefaultDpAddressRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SGP32_SetDefaultDpAddressRequest = { + "SGP32-SetDefaultDpAddressRequest", + "SGP32-SetDefaultDpAddressRequest", + &asn_OP_SEQUENCE, + asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1, + sizeof(asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1) + /sizeof(asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1[0]) - 1, /* 1 */ + asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1) + /sizeof(asn_DEF_SGP32_SetDefaultDpAddressRequest_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SGP32_SetDefaultDpAddressRequest_1, + 1, /* Elements count */ + &asn_SPC_SGP32_SetDefaultDpAddressRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.h b/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.h new file mode 100644 index 0000000..137b5e9 --- /dev/null +++ b/src/ipa/libasn/SGP32-SetDefaultDpAddressRequest.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _SGP32_SetDefaultDpAddressRequest_H_ +#define _SGP32_SetDefaultDpAddressRequest_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <UTF8String.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* SGP32-SetDefaultDpAddressRequest */ +typedef struct SGP32_SetDefaultDpAddressRequest { + UTF8String_t defaultDpAddress; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SGP32_SetDefaultDpAddressRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SGP32_SetDefaultDpAddressRequest; +extern asn_SEQUENCE_specifics_t asn_SPC_SGP32_SetDefaultDpAddressRequest_specs_1; +extern asn_TYPE_member_t asn_MBR_SGP32_SetDefaultDpAddressRequest_1[1]; + +#ifdef __cplusplus +} +#endif + +#endif /* _SGP32_SetDefaultDpAddressRequest_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.c b/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.c new file mode 100644 index 0000000..04ee4a0 --- /dev/null +++ b/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.c @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "SGP32-SetDefaultDpAddressResponse.h" + +static asn_TYPE_member_t asn_MBR_SGP32_SetDefaultDpAddressResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SGP32_SetDefaultDpAddressResponse, setDefaultDpAddressResult), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "setDefaultDpAddressResult" + }, +}; +static const ber_tlv_tag_t asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (101 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SGP32_SetDefaultDpAddressResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* setDefaultDpAddressResult */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SGP32_SetDefaultDpAddressResponse_specs_1 = { + sizeof(struct SGP32_SetDefaultDpAddressResponse), + offsetof(struct SGP32_SetDefaultDpAddressResponse, _asn_ctx), + asn_MAP_SGP32_SetDefaultDpAddressResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SGP32_SetDefaultDpAddressResponse = { + "SGP32-SetDefaultDpAddressResponse", + "SGP32-SetDefaultDpAddressResponse", + &asn_OP_SEQUENCE, + asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1, + sizeof(asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1) + /sizeof(asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1[0]) - 1, /* 1 */ + asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1) + /sizeof(asn_DEF_SGP32_SetDefaultDpAddressResponse_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SGP32_SetDefaultDpAddressResponse_1, + 1, /* Elements count */ + &asn_SPC_SGP32_SetDefaultDpAddressResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.h b/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.h new file mode 100644 index 0000000..83e8d2a --- /dev/null +++ b/src/ipa/libasn/SGP32-SetDefaultDpAddressResponse.h @@ -0,0 +1,48 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _SGP32_SetDefaultDpAddressResponse_H_ +#define _SGP32_SetDefaultDpAddressResponse_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum SGP32_SetDefaultDpAddressResponse__setDefaultDpAddressResult { + SGP32_SetDefaultDpAddressResponse__setDefaultDpAddressResult_ok = 0, + SGP32_SetDefaultDpAddressResponse__setDefaultDpAddressResult_undefinedError = 127 +} e_SGP32_SetDefaultDpAddressResponse__setDefaultDpAddressResult; + +/* SGP32-SetDefaultDpAddressResponse */ +typedef struct SGP32_SetDefaultDpAddressResponse { + long setDefaultDpAddressResult; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SGP32_SetDefaultDpAddressResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SGP32_SetDefaultDpAddressResponse; + +#ifdef __cplusplus +} +#endif + +#endif /* _SGP32_SetDefaultDpAddressResponse_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/SetDefaultDpAddressResponse.c b/src/ipa/libasn/SetDefaultDpAddressResponse.c index 0115f19..6aa5a5f 100644 --- a/src/ipa/libasn/SetDefaultDpAddressResponse.c +++ b/src/ipa/libasn/SetDefaultDpAddressResponse.c @@ -7,7 +7,7 @@ #include "SetDefaultDpAddressResponse.h" -static asn_TYPE_member_t asn_MBR_SetDefaultDpAddressResponse_1[] = { +asn_TYPE_member_t asn_MBR_SetDefaultDpAddressResponse_1[] = { { ATF_NOFLAGS, 0, offsetof(struct SetDefaultDpAddressResponse, setDefaultDpAddressResult), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ @@ -25,7 +25,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SetDefaultDpAddressResponse_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* setDefaultDpAddressResult */ }; -static asn_SEQUENCE_specifics_t asn_SPC_SetDefaultDpAddressResponse_specs_1 = { +asn_SEQUENCE_specifics_t asn_SPC_SetDefaultDpAddressResponse_specs_1 = { sizeof(struct SetDefaultDpAddressResponse), offsetof(struct SetDefaultDpAddressResponse, _asn_ctx), asn_MAP_SetDefaultDpAddressResponse_tag2el_1, diff --git a/src/ipa/libasn/SetDefaultDpAddressResponse.h b/src/ipa/libasn/SetDefaultDpAddressResponse.h index 14a049b..06cd019 100644 --- a/src/ipa/libasn/SetDefaultDpAddressResponse.h +++ b/src/ipa/libasn/SetDefaultDpAddressResponse.h @@ -39,6 +39,8 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_SetDefaultDpAddressResponse; +extern asn_SEQUENCE_specifics_t asn_SPC_SetDefaultDpAddressResponse_specs_1; +extern asn_TYPE_member_t asn_MBR_SetDefaultDpAddressResponse_1[1]; #ifdef __cplusplus } diff --git a/src/ipa/libipa/CMakeLists.txt b/src/ipa/libipa/CMakeLists.txt index e6bed87..7a6ac28 100644 --- a/src/ipa/libipa/CMakeLists.txt +++ b/src/ipa/libipa/CMakeLists.txt @@ -23,6 +23,7 @@ es10c_delete_prfle.c es10c_disable_prfle.c es10c_enable_prfle.c + es10c_set_def_dp_addr.c es10b_immediate_enable.c es10c_get_eid.c es10c_get_prfle_info.c diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index 01e743a..ff1fc01 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -25,6 +25,7 @@ #include "es10c_disable_prfle.h" #include "es10c_delete_prfle.h" #include "es10c_get_prfle_info.h" +#include "es10c_set_def_dp_addr.h" #include "es10b_get_eim_cfg_data.h" #include "es10b_add_init_eim.h" #include "es10b_get_rat.h" @@ -292,6 +293,30 @@ return euicc_result_data; } +struct EuiccResultData *iot_emo_do_setDefaultDpAddress_psmo(struct ipa_context *ctx, + const SGP32_SetDefaultDpAddressRequest_t *setDefaultDpAddress_psmo) +{ + struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); + struct ipa_es10c_set_def_dp_addr_req set_def_dp_addr_req = { 0 }; + struct ipa_es10c_set_def_dp_addr_res *set_def_dp_addr_res = NULL; + + euicc_result_data->present = EuiccResultData_PR_setDefaultDpAddressResult; + + set_def_dp_addr_req.req.defaultDpAddress = setDefaultDpAddress_psmo->defaultDpAddress; + + set_def_dp_addr_res = ipa_es10c_set_def_dp_addr(ctx, &set_def_dp_addr_req); + if (set_def_dp_addr_res) { + euicc_result_data->choice.setDefaultDpAddressResult.setDefaultDpAddressResult = + set_def_dp_addr_res->res->setDefaultDpAddressResult; + } else { + euicc_result_data->choice.setDefaultDpAddressResult.setDefaultDpAddressResult = + SetDefaultDpAddressResponse__setDefaultDpAddressResult_undefinedError; + } + + ipa_es10c_set_def_dp_addr_res_free(set_def_dp_addr_res); + return euicc_result_data; +} + struct EuiccResultData *iot_emo_do_addEim_eco(struct ipa_context *ctx, const struct EimConfigurationData *addEim_eco) { struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); @@ -632,6 +657,9 @@ case Psmo_PR_unsetFallbackAttribute: psmo_result = iot_emo_do_unsetFallbackAttribute_psmo(ctx, &psmo->choice.unsetFallbackAttribute); break; + case Psmo_PR_setDefaultDpAddress: + psmo_result = iot_emo_do_setDefaultDpAddress_psmo(ctx, &psmo->choice.setDefaultDpAddress); + break; default: IPA_LOGP_ES10X("LoadEuiccPackage", LERROR, "ignoring invalid or unsupported PSMO!\n"); break; diff --git a/src/ipa/libipa/es10c_set_def_dp_addr.c b/src/ipa/libipa/es10c_set_def_dp_addr.c new file mode 100644 index 0000000..db755dd --- /dev/null +++ b/src/ipa/libipa/es10c_set_def_dp_addr.c @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2026 sysmocom - s.f.m.c. GmbH. All rights reserved. + * + * SPDX-License-Identifier: AGPL-3.0-only + * + * Author: Philipp Maier <pmaier(a)sysmocom.de> / sysmocom - s.f.m.c. GmbH + * Andreas Eversberg <aeversberg(a)sysmocom.de> / sysmocom - s.f.m.c. GmbH + * + * See also: GSMA SGP.22, 5.7.4: Function (ES10c): SetDefaultDpAddress + */ + +#include <stdio.h> +#include <assert.h> +#include <onomondo/ipa/utils.h> +#include "context.h" +#include "utils.h" +#include "euicc.h" +#include "es10x.h" +#include "es10c_set_def_dp_addr.h" + +static const struct num_str_map error_code_strings[] = { + { SetDefaultDpAddressResponse__setDefaultDpAddressResult_ok, "ok" }, + { SetDefaultDpAddressResponse__setDefaultDpAddressResult_undefinedError, "undefinedError" }, + { 0, NULL } +}; + +static int dec_set_def_dp_addr_res(struct ipa_es10c_set_def_dp_addr_res *res, const struct ipa_buf *es10c_res) +{ + struct SetDefaultDpAddressResponse *asn = NULL; + + asn = ipa_es10x_res_dec(&asn_DEF_SetDefaultDpAddressResponse, es10c_res, "SetDefaultDpAddress"); + if (!asn) + return -EINVAL; + + if (asn->setDefaultDpAddressResult != SetDefaultDpAddressResponse__setDefaultDpAddressResult_ok) { + IPA_LOGP_ES10X("SetDefaultDpAddress", LERROR, "function failed with error code %ld=%s!\n", + asn->setDefaultDpAddressResult, + ipa_str_from_num(error_code_strings, asn->setDefaultDpAddressResult, "(unknown)")); + } else { + IPA_LOGP_ES10X("SetDefaultDpAddress", LERROR, "function succeeded with status code %ld=%s!\n", + asn->setDefaultDpAddressResult, + ipa_str_from_num(error_code_strings, asn->setDefaultDpAddressResult, "(unknown)")); + } + + res->res = asn; + return 0; +} + +/*! Function (Es10c): SetDefaultDpAddress. + * \param[inout] ctx pointer to ipa_context. + * \param[in] req pointer to struct that holds the function parameters. + * \returns pointer newly allocated struct with function result, NULL on error. */ +struct ipa_es10c_set_def_dp_addr_res *ipa_es10c_set_def_dp_addr(struct ipa_context *ctx, + const struct ipa_es10c_set_def_dp_addr_req *req) +{ + struct ipa_buf *es10c_req = NULL; + struct ipa_buf *es10c_res = NULL; + struct ipa_es10c_set_def_dp_addr_res *res = IPA_ALLOC_ZERO(struct ipa_es10c_set_def_dp_addr_res); + int rc; + + es10c_req = ipa_es10x_req_enc(&asn_DEF_SetDefaultDpAddressRequest, &req->req, "SetDefaultDpAddress"); + if (!es10c_req) { + IPA_LOGP_ES10X("SetDefaultDpAddress", LERROR, "unable to encode Es10c request\n"); + goto error; + } + + es10c_res = ipa_euicc_transceive_es10x(ctx, es10c_req); + if (!es10c_res) { + IPA_LOGP_ES10X("SetDefaultDpAddress", LERROR, "no Es10c response\n"); + goto error; + } + + rc = dec_set_def_dp_addr_res(res, es10c_res); + if (rc < 0) + goto error; + + IPA_FREE(es10c_req); + IPA_FREE(es10c_res); + return res; +error: + IPA_FREE(es10c_req); + IPA_FREE(es10c_res); + ipa_es10c_set_def_dp_addr_res_free(res); + return NULL; +} + +/*! Free results of function (Es10c): SetDefaultDpAddress. + * \param[in] res pointer to function result. */ +void ipa_es10c_set_def_dp_addr_res_free(struct ipa_es10c_set_def_dp_addr_res *res) +{ + IPA_ES10X_RES_FREE(asn_DEF_SetDefaultDpAddressResponse, res); +} diff --git a/src/ipa/libipa/es10c_set_def_dp_addr.h b/src/ipa/libipa/es10c_set_def_dp_addr.h new file mode 100644 index 0000000..c8a3186 --- /dev/null +++ b/src/ipa/libipa/es10c_set_def_dp_addr.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2026 sysmocom - s.f.m.c. GmbH. All rights reserved. + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#pragma once + +#include <SetDefaultDpAddressRequest.h> +#include <SetDefaultDpAddressResponse.h> +struct ipa_context; + +struct ipa_es10c_set_def_dp_addr_req { + struct SetDefaultDpAddressRequest req; +}; + +struct ipa_es10c_set_def_dp_addr_res { + struct SetDefaultDpAddressResponse *res; +}; + +struct ipa_es10c_set_def_dp_addr_res *ipa_es10c_set_def_dp_addr(struct ipa_context *ctx, + const struct ipa_es10c_set_def_dp_addr_req *req); +void ipa_es10c_set_def_dp_addr_res_free(struct ipa_es10c_set_def_dp_addr_res *res); -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43031?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: I514b03240289469142e6a41a7290a4afce199318 Gerrit-Change-Number: 43031 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[M] Change in onomondo-ipa[master]: V1.2: Add EimConfigurationData.indirectProfileDownload
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43029?usp=email
) Change subject: V1.2: Add EimConfigurationData.indirectProfileDownload ...................................................................... V1.2: Add EimConfigurationData.indirectProfileDownload The flag indicates, if eIM supports indirect download. As the current version of IPA only supports indirect download, this flag is checked. If it is not supported, profile download is rejected. get_euicc_ci_pkid() is renamed to get_euicc_ci_pkid_ipd(), to indicate that it also gets this flag. This also requires an update of contrib/sample_eim_cfg.ber, which is a BER encoded EimConfigurationData. Reference: SGP.32 Section 2.11.1.1.1 Related: SYS#8101 Change-Id: Ic40111531e6f35d5ea7f3789de6cae0f1c0d5ba7 --- M asn1/SGP32Definitions.asn M contrib/sample_eim_cfg.ber M src/ipa/libasn/EimConfigurationData.c M src/ipa/libasn/EimConfigurationData.h M src/ipa/libipa/proc_eim_pkg_retr.c 5 files changed, 42 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/29/43029/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index a9d18b4..3b91400 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -60,7 +60,8 @@ trustedCertificateTls Certificate -- either the certificate of eIM, used for (D)TLS, or the certificate of the CA, where the encoding follows X.509 standard } OPTIONAL, eimSupportedProtocol [7] EimSupportedProtocol OPTIONAL, - euiccCiPKId [8] SubjectKeyIdentifier OPTIONAL -- CI Public Key Identifier supported on the eUICC for signature creation + euiccCiPKId [8] SubjectKeyIdentifier OPTIONAL, -- CI Public Key Identifier supported on the eUICC for signature creation + indirectProfileDownload[9] NULL OPTIONAL -- support of Indirect Profile download with indicated EimSupportedProtocol } EimIdType ::= INTEGER { eimIdTypeOid(1), diff --git a/contrib/sample_eim_cfg.ber b/contrib/sample_eim_cfg.ber index ba48514..0c0d00f 100644 --- a/contrib/sample_eim_cfg.ber +++ b/contrib/sample_eim_cfg.ber Binary files differ diff --git a/src/ipa/libasn/EimConfigurationData.c b/src/ipa/libasn/EimConfigurationData.c index 2ca5ed5..90bb101 100644 --- a/src/ipa/libasn/EimConfigurationData.c +++ b/src/ipa/libasn/EimConfigurationData.c @@ -171,7 +171,7 @@ 0, 0, /* No default value */ "eimId" }, - { ATF_POINTER, 8, offsetof(struct EimConfigurationData, eimFqdn), + { ATF_POINTER, 9, offsetof(struct EimConfigurationData, eimFqdn), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_UTF8String, @@ -180,7 +180,7 @@ 0, 0, /* No default value */ "eimFqdn" }, - { ATF_POINTER, 7, offsetof(struct EimConfigurationData, eimIdType), + { ATF_POINTER, 8, offsetof(struct EimConfigurationData, eimIdType), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_EimIdType, @@ -189,7 +189,7 @@ 0, 0, /* No default value */ "eimIdType" }, - { ATF_POINTER, 6, offsetof(struct EimConfigurationData, counterValue), + { ATF_POINTER, 7, offsetof(struct EimConfigurationData, counterValue), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, @@ -198,7 +198,7 @@ 0, 0, /* No default value */ "counterValue" }, - { ATF_POINTER, 5, offsetof(struct EimConfigurationData, associationToken), + { ATF_POINTER, 6, offsetof(struct EimConfigurationData, associationToken), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, @@ -207,7 +207,7 @@ 0, 0, /* No default value */ "associationToken" }, - { ATF_POINTER, 4, offsetof(struct EimConfigurationData, eimPublicKeyData), + { ATF_POINTER, 5, offsetof(struct EimConfigurationData, eimPublicKeyData), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_eimPublicKeyData_7, @@ -216,7 +216,7 @@ 0, 0, /* No default value */ "eimPublicKeyData" }, - { ATF_POINTER, 3, offsetof(struct EimConfigurationData, trustedPublicKeyDataTls), + { ATF_POINTER, 4, offsetof(struct EimConfigurationData, trustedPublicKeyDataTls), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_trustedPublicKeyDataTls_11, @@ -225,7 +225,7 @@ 0, 0, /* No default value */ "trustedPublicKeyDataTls" }, - { ATF_POINTER, 2, offsetof(struct EimConfigurationData, eimSupportedProtocol), + { ATF_POINTER, 3, offsetof(struct EimConfigurationData, eimSupportedProtocol), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_EimSupportedProtocol, @@ -234,7 +234,7 @@ 0, 0, /* No default value */ "eimSupportedProtocol" }, - { ATF_POINTER, 1, offsetof(struct EimConfigurationData, euiccCiPKId), + { ATF_POINTER, 2, offsetof(struct EimConfigurationData, euiccCiPKId), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_SubjectKeyIdentifier, @@ -243,8 +243,17 @@ 0, 0, /* No default value */ "euiccCiPKId" }, + { ATF_POINTER, 1, offsetof(struct EimConfigurationData, indirectProfileDownload), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "indirectProfileDownload" + }, }; -static const int asn_MAP_EimConfigurationData_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; +static const int asn_MAP_EimConfigurationData_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; static const ber_tlv_tag_t asn_DEF_EimConfigurationData_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; @@ -257,16 +266,17 @@ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* eimPublicKeyData */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* trustedPublicKeyDataTls */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* eimSupportedProtocol */ - { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* euiccCiPKId */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* euiccCiPKId */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* indirectProfileDownload */ }; asn_SEQUENCE_specifics_t asn_SPC_EimConfigurationData_specs_1 = { sizeof(struct EimConfigurationData), offsetof(struct EimConfigurationData, _asn_ctx), asn_MAP_EimConfigurationData_tag2el_1, - 9, /* Count of tags in the map */ + 10, /* Count of tags in the map */ asn_MAP_EimConfigurationData_oms_1, /* Optional members */ - 8, 0, /* Root/Additions */ - 9, /* First extension addition */ + 9, 0, /* Root/Additions */ + 10, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_EimConfigurationData = { "EimConfigurationData", @@ -280,7 +290,7 @@ /sizeof(asn_DEF_EimConfigurationData_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_EimConfigurationData_1, - 9, /* Elements count */ + 10, /* Elements count */ &asn_SPC_EimConfigurationData_specs_1 /* Additional specs */ }; diff --git a/src/ipa/libasn/EimConfigurationData.h b/src/ipa/libasn/EimConfigurationData.h index a5ffc79..73f7218 100644 --- a/src/ipa/libasn/EimConfigurationData.h +++ b/src/ipa/libasn/EimConfigurationData.h @@ -17,6 +17,7 @@ #include <NativeInteger.h> #include "EimSupportedProtocol.h" #include "SubjectKeyIdentifier.h" +#include <NULL.h> #include "SubjectPublicKeyInfo.h" #include "Certificate.h" #include <constr_CHOICE.h> @@ -79,6 +80,7 @@ } *trustedPublicKeyDataTls; EimSupportedProtocol_t *eimSupportedProtocol /* OPTIONAL */; SubjectKeyIdentifier_t *euiccCiPKId /* OPTIONAL */; + NULL_t *indirectProfileDownload /* OPTIONAL */; /* * This type is extensible, * possible extensions are below. @@ -91,7 +93,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_EimConfigurationData; extern asn_SEQUENCE_specifics_t asn_SPC_EimConfigurationData_specs_1; -extern asn_TYPE_member_t asn_MBR_EimConfigurationData_1[9]; +extern asn_TYPE_member_t asn_MBR_EimConfigurationData_1[10]; #ifdef __cplusplus } diff --git a/src/ipa/libipa/proc_eim_pkg_retr.c b/src/ipa/libipa/proc_eim_pkg_retr.c index 3fe289c..59b6f99 100644 --- a/src/ipa/libipa/proc_eim_pkg_retr.c +++ b/src/ipa/libipa/proc_eim_pkg_retr.c @@ -28,7 +28,7 @@ #include "proc_euicc_data_req.h" #include "proc_eim_pkg_retr.h" -static int get_euicc_ci_pkid(struct ipa_context *ctx, struct ipa_buf **pkid) +static int get_euicc_ci_pkid_ipd(struct ipa_context *ctx, struct ipa_buf **pkid, bool *idp) { struct ipa_es10b_eim_cfg_data *eim_cfg_data = NULL; struct EimConfigurationData *eim_cfg_data_item = NULL; @@ -50,6 +50,9 @@ if (eim_cfg_data_item->euiccCiPKId) *pkid = IPA_BUF_FROM_ASN(eim_cfg_data_item->euiccCiPKId); + if (eim_cfg_data_item->indirectProfileDownload) + *idp = true; + ipa_es10b_get_eim_cfg_data_free(eim_cfg_data); return 0; error: @@ -62,6 +65,7 @@ int eim_pkg_exec(struct ipa_context *ctx, const struct ipa_esipa_get_eim_pkg_res *get_eim_pkg_res) { struct ipa_buf *allowed_ca_pkid = NULL; + bool indirect_profile_download = false; int rc; if (get_eim_pkg_res->euicc_package_request) { @@ -107,12 +111,19 @@ goto error; } - rc = get_euicc_ci_pkid(ctx, &allowed_ca_pkid); + rc = get_euicc_ci_pkid_ipd(ctx, &allowed_ca_pkid, &indirect_profile_download); if (rc < 0) { rc = -EINVAL; goto error; } + if (!indirect_profile_download) { + IPA_LOGP(SIPA, LERROR, + "Indirect profile download is not suppoted by eIM, we don't support direct profile download, -- cannot continue!\n"); + rc = -ENOTSUP; + goto error; + } + indirect_prfle_dwnlod_pars.allowed_ca = allowed_ca_pkid; indirect_prfle_dwnlod_pars.tac = ctx->cfg->tac; indirect_prfle_dwnlod_pars.ac = -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43029?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: Ic40111531e6f35d5ea7f3789de6cae0f1c0d5ba7 Gerrit-Change-Number: 43029 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[S] Change in onomondo-ipa[master]: V1.2: Add size constraint to EimConfigurationData.eimId
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43028?usp=email
) Change subject: V1.2: Add size constraint to EimConfigurationData.eimId ...................................................................... V1.2: Add size constraint to EimConfigurationData.eimId The size constraint has no impact on the existing code, because it only reads string data from structure. Reference: SGP.32 Section 2.11.1.1.1 Related: SYS#8101 Change-Id: Iafe940876763215a28b9f9067eda090f25ad836c --- M asn1/SGP32Definitions.asn M src/ipa/libasn/EimConfigurationData.c 2 files changed, 42 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/28/43028/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index dc09a83..a9d18b4 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -46,7 +46,7 @@ -- Section 2.11.1.1.1 -- ASN1START EimConfigurationData ::= SEQUENCE { - eimId [0] UTF8String, -- eimId of eIM + eimId [0] UTF8String (SIZE(1..128)), -- eimId of eIM eimFqdn [1] UTF8String OPTIONAL, -- FQDN of eIM eimIdType [2] EimIdType OPTIONAL, counterValue [3] INTEGER OPTIONAL, -- initial counterValue for the eIM diff --git a/src/ipa/libasn/EimConfigurationData.c b/src/ipa/libasn/EimConfigurationData.c index d01e003..2ca5ed5 100644 --- a/src/ipa/libasn/EimConfigurationData.c +++ b/src/ipa/libasn/EimConfigurationData.c @@ -7,6 +7,38 @@ #include "EimConfigurationData.h" +static int +memb_eimId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const UTF8String_t *st = (const UTF8String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = UTF8String_length(st); + if((ssize_t)size < 0) { + ASN__CTFAIL(app_key, td, sptr, + "%s: UTF-8: broken encoding (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((size >= 1 && size <= 128)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + static asn_oer_constraints_t asn_OER_type_eimPublicKeyData_constr_7 CC_NOTUSED = { { 0, 0 }, -1}; @@ -23,6 +55,14 @@ { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; +static asn_oer_constraints_t asn_OER_memb_eimId_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +static asn_per_constraints_t asn_PER_memb_eimId_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; static asn_TYPE_member_t asn_MBR_eimPublicKeyData_7[] = { { ATF_NOFLAGS, 0, offsetof(struct EimConfigurationData__eimPublicKeyData, choice.eimPublicKey), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), @@ -127,7 +167,7 @@ -1, /* IMPLICIT tag at current level */ &asn_DEF_UTF8String, 0, - { 0, 0, 0 }, + { &asn_OER_memb_eimId_constr_2, &asn_PER_memb_eimId_constr_2, memb_eimId_constraint_1 }, 0, 0, /* No default value */ "eimId" }, -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43028?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: Iafe940876763215a28b9f9067eda090f25ad836c Gerrit-Change-Number: 43028 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[S] Change in onomondo-ipa[master]: V1.2: Rename EuiccPackageSigned.transactionId to EuiccPackageSigned.e...
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43027?usp=email
) Change subject: V1.2: Rename EuiccPackageSigned.transactionId to EuiccPackageSigned.eimTransactionId ...................................................................... V1.2: Rename EuiccPackageSigned.transactionId to EuiccPackageSigned.eimTransactionId Reference: SGP.32 Section 2.11.1.1 Related: SYS#8101 Change-Id: I46270d626d64f4ca6513423d9cebfc929076027d --- M asn1/SGP32Definitions.asn M src/ipa/libasn/EuiccPackageSigned.c M src/ipa/libasn/EuiccPackageSigned.h M src/ipa/libipa/es10b_load_euicc_pkg.c 4 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/27/43027/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index 9b5da2f..dc09a83 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -33,7 +33,7 @@ eimId [0] UTF8String, eidValue [APPLICATION 26] Octet16, -- Tag '5A' counterValue [1] INTEGER, - transactionId [2] TransactionId OPTIONAL, + eimTransactionId [2] TransactionId OPTIONAL, euiccPackage EuiccPackage } EuiccPackage ::= CHOICE { diff --git a/src/ipa/libasn/EuiccPackageSigned.c b/src/ipa/libasn/EuiccPackageSigned.c index a6f9820..abc9109 100644 --- a/src/ipa/libasn/EuiccPackageSigned.c +++ b/src/ipa/libasn/EuiccPackageSigned.c @@ -35,14 +35,14 @@ 0, 0, /* No default value */ "counterValue" }, - { ATF_POINTER, 1, offsetof(struct EuiccPackageSigned, transactionId), + { ATF_POINTER, 1, offsetof(struct EuiccPackageSigned, eimTransactionId), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_TransactionId, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "transactionId" + "eimTransactionId" }, { ATF_NOFLAGS, 0, offsetof(struct EuiccPackageSigned, euiccPackage), -1 /* Ambiguous tag (CHOICE?) */, @@ -64,7 +64,7 @@ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 4, -1, 0 }, /* psmoList */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 1 }, /* counterValue */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 4, -1, 0 }, /* ecoList */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 } /* transactionId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 } /* eimTransactionId */ }; asn_SEQUENCE_specifics_t asn_SPC_EuiccPackageSigned_specs_1 = { sizeof(struct EuiccPackageSigned), diff --git a/src/ipa/libasn/EuiccPackageSigned.h b/src/ipa/libasn/EuiccPackageSigned.h index 6434408..a04f372 100644 --- a/src/ipa/libasn/EuiccPackageSigned.h +++ b/src/ipa/libasn/EuiccPackageSigned.h @@ -28,7 +28,7 @@ UTF8String_t eimId; Octet16_t eidValue; long counterValue; - TransactionId_t *transactionId /* OPTIONAL */; + TransactionId_t *eimTransactionId /* OPTIONAL */; EuiccPackage_t euiccPackage; /* * This type is extensible, diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index 54cf3d9..0026d53 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -566,9 +566,9 @@ IPA_COPY_IPA_BUF_TO_ASN(&asn->choice.euiccPackageResultSigned.euiccPackageResultDataSigned.eimId, &eim_id); asn->choice.euiccPackageResultSigned.euiccPackageResultDataSigned.counterValue = req->req.euiccPackageSigned.counterValue; - if (req->req.euiccPackageSigned.transactionId) { + if (req->req.euiccPackageSigned.eimTransactionId) { asn->choice.euiccPackageResultSigned.euiccPackageResultDataSigned.transactionId = - ipa_asn1c_dup(&asn_DEF_TransactionId, req->req.euiccPackageSigned.transactionId); + ipa_asn1c_dup(&asn_DEF_TransactionId, req->req.euiccPackageSigned.eimTransactionId); } asn->choice.euiccPackageResultSigned.euiccPackageResultDataSigned.seqNumber = 0; ipa_buf_assign(&euicc_sign_epr, euiccSignEPR_dummy, sizeof(euiccSignEPR_dummy)); -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43027?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: I46270d626d64f4ca6513423d9cebfc929076027d Gerrit-Change-Number: 43027 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[L] Change in onomondo-ipa[master]: V1.2: Rename "Automatic" -> "Immediate" in ASN.1 definitions
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43023?usp=email
) Change subject: V1.2: Rename "Automatic" -> "Immediate" in ASN.1 definitions ...................................................................... V1.2: Rename "Automatic" -> "Immediate" in ASN.1 definitions Rename all occurrences of "Automatic" or "AutomaticEnable" or similar to "Immediate" or "ImmediateEnable" or similar respectively. Reference: SGP.32 Section 2.9.2 Related: SYS#8101 Change-Id: I2b18e5cf65269347ce40e5e9560ab934e75a92a6 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/CMakeLists.txt D src/ipa/libasn/ConfigureAutoEnableResult.c D src/ipa/libasn/ConfigureAutoEnableResult.h D src/ipa/libasn/ConfigureAutoProfileEnablingRequest.c D src/ipa/libasn/ConfigureAutoProfileEnablingRequest.h D src/ipa/libasn/ConfigureAutoProfileEnablingResponse.c D src/ipa/libasn/ConfigureAutoProfileEnablingResponse.h A src/ipa/libasn/ConfigureImmediateEnableResult.c A src/ipa/libasn/ConfigureImmediateEnableResult.h A src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.c A src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.h A src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.c A src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.h M src/ipa/libasn/EnableUsingDDResponse.h M src/ipa/libasn/EuiccResultData.c M src/ipa/libasn/EuiccResultData.h M src/ipa/libasn/Psmo.c M src/ipa/libasn/Psmo.h M src/ipa/libasn/SGP32-EuiccMemoryResetRequest.h M src/ipa/libasn/SGP32-EuiccMemoryResetResponse.c M src/ipa/libasn/SGP32-EuiccMemoryResetResponse.h M src/ipa/libipa/es10b_enable_using_dd.c M src/ipa/libipa/es10b_euicc_mem_rst.c M src/ipa/libipa/es10b_load_euicc_pkg.c 25 files changed, 400 insertions(+), 400 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/23/43023/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index b953420..bc4fdad 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -97,8 +97,8 @@ delete [5] SEQUENCE {iccid [APPLICATION 26] Iccid}, listProfileInfo [45] ProfileInfoListRequest, -- Tag 'BF2D' getRAT [6] SEQUENCE {}, - configureAutoEnable [7] SEQUENCE { - autoEnableFlag [0] NULL OPTIONAL, + configureImmediateEnable [7] SEQUENCE { + immediateEnableFlag [0] NULL OPTIONAL, smdpOid [1] OBJECT IDENTIFIER OPTIONAL, smdpAddress [2] UTF8String OPTIONAL } @@ -165,7 +165,7 @@ deleteResult [5] DeleteProfileResult, listProfileInfoResult [45] SGP32-ProfileInfoListResponse, getRATResult [6] RulesAuthorisationTable, -- see SGP.22 - configureAutoEnableResult [7] ConfigureAutoEnableResult, + configureImmediateEnableResult [7] ConfigureImmediateEnableResult, addEimResult [8] AddEimResult, deleteEimResult [9] DeleteEimResult, updateEimResult [10] UpdateEimResult, @@ -193,7 +193,7 @@ eimId [0] UTF8String, associationToken [4] INTEGER OPTIONAL } -ConfigureAutoEnableResult ::= INTEGER { +ConfigureImmediateEnableResult ::= INTEGER { ok(0), insufficientMemory(1), commandError(7), @@ -410,13 +410,13 @@ deleteFieldLoadedTestProfiles(1), resetDefaultSmdpAddress(2), resetEimConfigData(3), - resetAutoEnableConfig(4) + resetImmediateEnableConfig(4) } } SGP32-EuiccMemoryResetResponse ::= [52] SEQUENCE { -- Tag 'BF34' resetResult INTEGER {ok(0), nothingToDelete(1), catBusy(5), undefinedError(127)}, resetEimResult [1] INTEGER {ok(0), nothingToDelete(1), eimResetNotSupported(2), undefinedError(127)} OPTIONAL, - resetAutoEnableConfigResult [2] INTEGER {ok(0), resetAECNotSupported(1), undefinedError(127)} OPTIONAL + resetImmediateEnableConfigResult [2] INTEGER {ok(0), resetAECNotSupported(1), undefinedError(127)} OPTIONAL } -- Section 5.9.10 @@ -465,7 +465,7 @@ EnableUsingDDResponse ::= [90] SEQUENCE { -- Tag 'BF5A' enableUsingDDResult [0] INTEGER { ok(0), - autoEnableNotAvailable(1), + immediateEnableNotAvailable(1), noSessionContext(4), undefinedError(127) } @@ -493,18 +493,18 @@ -- Section 5.9.17 -- ASN1START -ConfigureAutoProfileEnablingRequest ::= [89] SEQUENCE { -- Tag 'BF59' - autoEnableFlag [0] NULL OPTIONAL, - smdpOid [1] OBJECT IDENTIFIER OPTIONAL, - smdpAddress [2] UTF8String OPTIONAL +ConfigureImmediateProfileEnablingRequest ::= [89] SEQUENCE { -- Tag 'BF59' + immediateEnableFlag [0] NULL OPTIONAL, + defaultSmdpOid [1] OBJECT IDENTIFIER OPTIONAL, + defaultSmdpAddress [2] UTF8String OPTIONAL } -- ASN1STOP -- ASN1START -ConfigureAutoProfileEnablingResponse ::= [89] SEQUENCE { -- Tag 'BF59' - configAutoEnableResult [0] INTEGER { + ConfigureImmediateProfileEnablingResponse ::= [89] SEQUENCE { -- Tag 'BF59' + configImmediateEnableResult [0] INTEGER { ok(0), insufficientMemory(1), - unsignedAutoEnableConfigDisallowed(2), + associatedEimAlreadyExists(2), undefinedError(127) } } diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt index ed1d4f9..8efadc9 100644 --- a/src/ipa/libasn/CMakeLists.txt +++ b/src/ipa/libasn/CMakeLists.txt @@ -186,12 +186,12 @@ CompactProfileInstallationResult.h CompactSuccessResult.c CompactSuccessResult.h -ConfigureAutoEnableResult.c -ConfigureAutoEnableResult.h -ConfigureAutoProfileEnablingRequest.c -ConfigureAutoProfileEnablingRequest.h -ConfigureAutoProfileEnablingResponse.c -ConfigureAutoProfileEnablingResponse.h +ConfigureImmediateEnableResult.c +ConfigureImmediateEnableResult.h +ConfigureImmediateProfileEnablingRequest.c +ConfigureImmediateProfileEnablingRequest.h +ConfigureImmediateProfileEnablingResponse.c +ConfigureImmediateProfileEnablingResponse.h ConfigureISDPRequest.c ConfigureISDPRequest.h constraints.c diff --git a/src/ipa/libasn/ConfigureAutoEnableResult.c b/src/ipa/libasn/ConfigureAutoEnableResult.c deleted file mode 100644 index 2562a44..0000000 --- a/src/ipa/libasn/ConfigureAutoEnableResult.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#include "ConfigureAutoEnableResult.h" - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static const ber_tlv_tag_t asn_DEF_ConfigureAutoEnableResult_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ConfigureAutoEnableResult = { - "ConfigureAutoEnableResult", - "ConfigureAutoEnableResult", - &asn_OP_NativeInteger, - asn_DEF_ConfigureAutoEnableResult_tags_1, - sizeof(asn_DEF_ConfigureAutoEnableResult_tags_1) - /sizeof(asn_DEF_ConfigureAutoEnableResult_tags_1[0]), /* 1 */ - asn_DEF_ConfigureAutoEnableResult_tags_1, /* Same as above */ - sizeof(asn_DEF_ConfigureAutoEnableResult_tags_1) - /sizeof(asn_DEF_ConfigureAutoEnableResult_tags_1[0]), /* 1 */ - { 0, 0, NativeInteger_constraint }, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/src/ipa/libasn/ConfigureAutoEnableResult.h b/src/ipa/libasn/ConfigureAutoEnableResult.h deleted file mode 100644 index e7e33d6..0000000 --- a/src/ipa/libasn/ConfigureAutoEnableResult.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#ifndef _ConfigureAutoEnableResult_H_ -#define _ConfigureAutoEnableResult_H_ - - -#include <asn_application.h> - -/* Including external dependencies */ -#include <NativeInteger.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigureAutoEnableResult { - ConfigureAutoEnableResult_ok = 0, - ConfigureAutoEnableResult_insufficientMemory = 1, - ConfigureAutoEnableResult_commandError = 7, - ConfigureAutoEnableResult_undefinedError = 127 -} e_ConfigureAutoEnableResult; - -/* ConfigureAutoEnableResult */ -typedef long ConfigureAutoEnableResult_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigureAutoEnableResult; -asn_struct_free_f ConfigureAutoEnableResult_free; -asn_struct_print_f ConfigureAutoEnableResult_print; -asn_constr_check_f ConfigureAutoEnableResult_constraint; -ber_type_decoder_f ConfigureAutoEnableResult_decode_ber; -der_type_encoder_f ConfigureAutoEnableResult_encode_der; -xer_type_decoder_f ConfigureAutoEnableResult_decode_xer; -xer_type_encoder_f ConfigureAutoEnableResult_encode_xer; -oer_type_decoder_f ConfigureAutoEnableResult_decode_oer; -oer_type_encoder_f ConfigureAutoEnableResult_encode_oer; -per_type_decoder_f ConfigureAutoEnableResult_decode_uper; -per_type_encoder_f ConfigureAutoEnableResult_encode_uper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigureAutoEnableResult_H_ */ -#include <asn_internal.h> diff --git a/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.c b/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.c deleted file mode 100644 index e0f9f6c..0000000 --- a/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#include "ConfigureAutoProfileEnablingRequest.h" - -static asn_TYPE_member_t asn_MBR_ConfigureAutoProfileEnablingRequest_1[] = { - { ATF_POINTER, 3, offsetof(struct ConfigureAutoProfileEnablingRequest, autoEnableFlag), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NULL, - 0, - { 0, 0, 0 }, - 0, 0, /* No default value */ - "autoEnableFlag" - }, - { ATF_POINTER, 2, offsetof(struct ConfigureAutoProfileEnablingRequest, smdpOid), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_OBJECT_IDENTIFIER, - 0, - { 0, 0, 0 }, - 0, 0, /* No default value */ - "smdpOid" - }, - { ATF_POINTER, 1, offsetof(struct ConfigureAutoProfileEnablingRequest, smdpAddress), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_UTF8String, - 0, - { 0, 0, 0 }, - 0, 0, /* No default value */ - "smdpAddress" - }, -}; -static const int asn_MAP_ConfigureAutoProfileEnablingRequest_oms_1[] = { 0, 1, 2 }; -static const ber_tlv_tag_t asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (89 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ConfigureAutoProfileEnablingRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* autoEnableFlag */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* smdpOid */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* smdpAddress */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_ConfigureAutoProfileEnablingRequest_specs_1 = { - sizeof(struct ConfigureAutoProfileEnablingRequest), - offsetof(struct ConfigureAutoProfileEnablingRequest, _asn_ctx), - asn_MAP_ConfigureAutoProfileEnablingRequest_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_ConfigureAutoProfileEnablingRequest_oms_1, /* Optional members */ - 3, 0, /* Root/Additions */ - 3, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ConfigureAutoProfileEnablingRequest = { - "ConfigureAutoProfileEnablingRequest", - "ConfigureAutoProfileEnablingRequest", - &asn_OP_SEQUENCE, - asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1, - sizeof(asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1) - /sizeof(asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1[0]) - 1, /* 1 */ - asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1) - /sizeof(asn_DEF_ConfigureAutoProfileEnablingRequest_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ConfigureAutoProfileEnablingRequest_1, - 3, /* Elements count */ - &asn_SPC_ConfigureAutoProfileEnablingRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.h b/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.h deleted file mode 100644 index 5294afd..0000000 --- a/src/ipa/libasn/ConfigureAutoProfileEnablingRequest.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#ifndef _ConfigureAutoProfileEnablingRequest_H_ -#define _ConfigureAutoProfileEnablingRequest_H_ - - -#include <asn_application.h> - -/* Including external dependencies */ -#include <NULL.h> -#include <OBJECT_IDENTIFIER.h> -#include <UTF8String.h> -#include <constr_SEQUENCE.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* ConfigureAutoProfileEnablingRequest */ -typedef struct ConfigureAutoProfileEnablingRequest { - NULL_t *autoEnableFlag /* OPTIONAL */; - OBJECT_IDENTIFIER_t *smdpOid /* OPTIONAL */; - UTF8String_t *smdpAddress /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigureAutoProfileEnablingRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigureAutoProfileEnablingRequest; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigureAutoProfileEnablingRequest_H_ */ -#include <asn_internal.h> diff --git a/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.c b/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.c deleted file mode 100644 index 9cd5299..0000000 --- a/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#include "ConfigureAutoProfileEnablingResponse.h" - -static asn_TYPE_member_t asn_MBR_ConfigureAutoProfileEnablingResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ConfigureAutoProfileEnablingResponse, configAutoEnableResult), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - 0, - { 0, 0, 0 }, - 0, 0, /* No default value */ - "configAutoEnableResult" - }, -}; -static const ber_tlv_tag_t asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (89 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ConfigureAutoProfileEnablingResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* configAutoEnableResult */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_ConfigureAutoProfileEnablingResponse_specs_1 = { - sizeof(struct ConfigureAutoProfileEnablingResponse), - offsetof(struct ConfigureAutoProfileEnablingResponse, _asn_ctx), - asn_MAP_ConfigureAutoProfileEnablingResponse_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_ConfigureAutoProfileEnablingResponse = { - "ConfigureAutoProfileEnablingResponse", - "ConfigureAutoProfileEnablingResponse", - &asn_OP_SEQUENCE, - asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1, - sizeof(asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1) - /sizeof(asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1[0]) - 1, /* 1 */ - asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1, /* Same as above */ - sizeof(asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1) - /sizeof(asn_DEF_ConfigureAutoProfileEnablingResponse_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_ConfigureAutoProfileEnablingResponse_1, - 1, /* Elements count */ - &asn_SPC_ConfigureAutoProfileEnablingResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.h b/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.h deleted file mode 100644 index 2d5d69e..0000000 --- a/src/ipa/libasn/ConfigureAutoProfileEnablingResponse.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#ifndef _ConfigureAutoProfileEnablingResponse_H_ -#define _ConfigureAutoProfileEnablingResponse_H_ - - -#include <asn_application.h> - -/* Including external dependencies */ -#include <NativeInteger.h> -#include <constr_SEQUENCE.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigureAutoProfileEnablingResponse__configAutoEnableResult { - ConfigureAutoProfileEnablingResponse__configAutoEnableResult_ok = 0, - ConfigureAutoProfileEnablingResponse__configAutoEnableResult_insufficientMemory = 1, - ConfigureAutoProfileEnablingResponse__configAutoEnableResult_unsignedAutoEnableConfigDisallowed = 2, - ConfigureAutoProfileEnablingResponse__configAutoEnableResult_undefinedError = 127 -} e_ConfigureAutoProfileEnablingResponse__configAutoEnableResult; - -/* ConfigureAutoProfileEnablingResponse */ -typedef struct ConfigureAutoProfileEnablingResponse { - long configAutoEnableResult; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigureAutoProfileEnablingResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigureAutoProfileEnablingResponse; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigureAutoProfileEnablingResponse_H_ */ -#include <asn_internal.h> diff --git a/src/ipa/libasn/ConfigureImmediateEnableResult.c b/src/ipa/libasn/ConfigureImmediateEnableResult.c new file mode 100644 index 0000000..ea70b82 --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateEnableResult.c @@ -0,0 +1,31 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "ConfigureImmediateEnableResult.h" + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ConfigureImmediateEnableResult_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateEnableResult = { + "ConfigureImmediateEnableResult", + "ConfigureImmediateEnableResult", + &asn_OP_NativeInteger, + asn_DEF_ConfigureImmediateEnableResult_tags_1, + sizeof(asn_DEF_ConfigureImmediateEnableResult_tags_1) + /sizeof(asn_DEF_ConfigureImmediateEnableResult_tags_1[0]), /* 1 */ + asn_DEF_ConfigureImmediateEnableResult_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigureImmediateEnableResult_tags_1) + /sizeof(asn_DEF_ConfigureImmediateEnableResult_tags_1[0]), /* 1 */ + { 0, 0, NativeInteger_constraint }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/ipa/libasn/ConfigureImmediateEnableResult.h b/src/ipa/libasn/ConfigureImmediateEnableResult.h new file mode 100644 index 0000000..d687414 --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateEnableResult.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _ConfigureImmediateEnableResult_H_ +#define _ConfigureImmediateEnableResult_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ConfigureImmediateEnableResult { + ConfigureImmediateEnableResult_ok = 0, + ConfigureImmediateEnableResult_insufficientMemory = 1, + ConfigureImmediateEnableResult_commandError = 7, + ConfigureImmediateEnableResult_undefinedError = 127 +} e_ConfigureImmediateEnableResult; + +/* ConfigureImmediateEnableResult */ +typedef long ConfigureImmediateEnableResult_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateEnableResult; +asn_struct_free_f ConfigureImmediateEnableResult_free; +asn_struct_print_f ConfigureImmediateEnableResult_print; +asn_constr_check_f ConfigureImmediateEnableResult_constraint; +ber_type_decoder_f ConfigureImmediateEnableResult_decode_ber; +der_type_encoder_f ConfigureImmediateEnableResult_encode_der; +xer_type_decoder_f ConfigureImmediateEnableResult_decode_xer; +xer_type_encoder_f ConfigureImmediateEnableResult_encode_xer; +oer_type_decoder_f ConfigureImmediateEnableResult_decode_oer; +oer_type_encoder_f ConfigureImmediateEnableResult_encode_oer; +per_type_decoder_f ConfigureImmediateEnableResult_decode_uper; +per_type_encoder_f ConfigureImmediateEnableResult_encode_uper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ConfigureImmediateEnableResult_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.c b/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.c new file mode 100644 index 0000000..b9e5f13 --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "ConfigureImmediateProfileEnablingRequest.h" + +static asn_TYPE_member_t asn_MBR_ConfigureImmediateProfileEnablingRequest_1[] = { + { ATF_POINTER, 3, offsetof(struct ConfigureImmediateProfileEnablingRequest, immediateEnableFlag), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "immediateEnableFlag" + }, + { ATF_POINTER, 2, offsetof(struct ConfigureImmediateProfileEnablingRequest, defaultSmdpOid), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "defaultSmdpOid" + }, + { ATF_POINTER, 1, offsetof(struct ConfigureImmediateProfileEnablingRequest, defaultSmdpAddress), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UTF8String, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "defaultSmdpAddress" + }, +}; +static const int asn_MAP_ConfigureImmediateProfileEnablingRequest_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (89 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigureImmediateProfileEnablingRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* immediateEnableFlag */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* defaultSmdpOid */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* defaultSmdpAddress */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ConfigureImmediateProfileEnablingRequest_specs_1 = { + sizeof(struct ConfigureImmediateProfileEnablingRequest), + offsetof(struct ConfigureImmediateProfileEnablingRequest, _asn_ctx), + asn_MAP_ConfigureImmediateProfileEnablingRequest_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ConfigureImmediateProfileEnablingRequest_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateProfileEnablingRequest = { + "ConfigureImmediateProfileEnablingRequest", + "ConfigureImmediateProfileEnablingRequest", + &asn_OP_SEQUENCE, + asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1, + sizeof(asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1) + /sizeof(asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1[0]) - 1, /* 1 */ + asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1) + /sizeof(asn_DEF_ConfigureImmediateProfileEnablingRequest_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ConfigureImmediateProfileEnablingRequest_1, + 3, /* Elements count */ + &asn_SPC_ConfigureImmediateProfileEnablingRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.h b/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.h new file mode 100644 index 0000000..577b2a9 --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateProfileEnablingRequest.h @@ -0,0 +1,46 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _ConfigureImmediateProfileEnablingRequest_H_ +#define _ConfigureImmediateProfileEnablingRequest_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NULL.h> +#include <OBJECT_IDENTIFIER.h> +#include <UTF8String.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* ConfigureImmediateProfileEnablingRequest */ +typedef struct ConfigureImmediateProfileEnablingRequest { + NULL_t *immediateEnableFlag /* OPTIONAL */; + OBJECT_IDENTIFIER_t *defaultSmdpOid /* OPTIONAL */; + UTF8String_t *defaultSmdpAddress /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ConfigureImmediateProfileEnablingRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateProfileEnablingRequest; + +#ifdef __cplusplus +} +#endif + +#endif /* _ConfigureImmediateProfileEnablingRequest_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.c b/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.c new file mode 100644 index 0000000..265742f --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.c @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "ConfigureImmediateProfileEnablingResponse.h" + +static asn_TYPE_member_t asn_MBR_ConfigureImmediateProfileEnablingResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigureImmediateProfileEnablingResponse, configImmediateEnableResult), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "configImmediateEnableResult" + }, +}; +static const ber_tlv_tag_t asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (89 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigureImmediateProfileEnablingResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* configImmediateEnableResult */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ConfigureImmediateProfileEnablingResponse_specs_1 = { + sizeof(struct ConfigureImmediateProfileEnablingResponse), + offsetof(struct ConfigureImmediateProfileEnablingResponse, _asn_ctx), + asn_MAP_ConfigureImmediateProfileEnablingResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateProfileEnablingResponse = { + "ConfigureImmediateProfileEnablingResponse", + "ConfigureImmediateProfileEnablingResponse", + &asn_OP_SEQUENCE, + asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1, + sizeof(asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1) + /sizeof(asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1[0]) - 1, /* 1 */ + asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1) + /sizeof(asn_DEF_ConfigureImmediateProfileEnablingResponse_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ConfigureImmediateProfileEnablingResponse_1, + 1, /* Elements count */ + &asn_SPC_ConfigureImmediateProfileEnablingResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.h b/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.h new file mode 100644 index 0000000..8c1ba8f --- /dev/null +++ b/src/ipa/libasn/ConfigureImmediateProfileEnablingResponse.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _ConfigureImmediateProfileEnablingResponse_H_ +#define _ConfigureImmediateProfileEnablingResponse_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult { + ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult_ok = 0, + ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult_insufficientMemory = 1, + ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult_associatedEimAlreadyExists = 2, + ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult_undefinedError = 127 +} e_ConfigureImmediateProfileEnablingResponse__configImmediateEnableResult; + +/* ConfigureImmediateProfileEnablingResponse */ +typedef struct ConfigureImmediateProfileEnablingResponse { + long configImmediateEnableResult; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ConfigureImmediateProfileEnablingResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ConfigureImmediateProfileEnablingResponse; + +#ifdef __cplusplus +} +#endif + +#endif /* _ConfigureImmediateProfileEnablingResponse_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/EnableUsingDDResponse.h b/src/ipa/libasn/EnableUsingDDResponse.h index 1b96777..faa2c26 100644 --- a/src/ipa/libasn/EnableUsingDDResponse.h +++ b/src/ipa/libasn/EnableUsingDDResponse.h @@ -22,7 +22,7 @@ /* Dependencies */ typedef enum EnableUsingDDResponse__enableUsingDDResult { EnableUsingDDResponse__enableUsingDDResult_ok = 0, - EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable = 1, + EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable = 1, EnableUsingDDResponse__enableUsingDDResult_noSessionContext = 4, EnableUsingDDResponse__enableUsingDDResult_undefinedError = 127 } e_EnableUsingDDResponse__enableUsingDDResult; diff --git a/src/ipa/libasn/EuiccResultData.c b/src/ipa/libasn/EuiccResultData.c index 0b10112..08f4119 100644 --- a/src/ipa/libasn/EuiccResultData.c +++ b/src/ipa/libasn/EuiccResultData.c @@ -61,14 +61,14 @@ 0, 0, /* No default value */ "getRATResult" }, - { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.configureAutoEnableResult), + { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.configureImmediateEnableResult), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */ - &asn_DEF_ConfigureAutoEnableResult, + &asn_DEF_ConfigureImmediateEnableResult, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "configureAutoEnableResult" + "configureImmediateEnableResult" }, { ATF_NOFLAGS, 0, offsetof(struct EuiccResultData, choice.addEimResult), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), @@ -133,7 +133,7 @@ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* disableResult */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 }, /* deleteResult */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 4, 0, 0 }, /* getRATResult */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureAutoEnableResult */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureImmediateEnableResult */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 6, 0, 0 }, /* addEimResult */ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 7, 0, 0 }, /* deleteEimResult */ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 8, 0, 0 }, /* updateEimResult */ diff --git a/src/ipa/libasn/EuiccResultData.h b/src/ipa/libasn/EuiccResultData.h index 0fb818b..82ee724 100644 --- a/src/ipa/libasn/EuiccResultData.h +++ b/src/ipa/libasn/EuiccResultData.h @@ -17,7 +17,7 @@ #include "DeleteProfileResult.h" #include "SGP32-ProfileInfoListResponse.h" #include "RulesAuthorisationTable.h" -#include "ConfigureAutoEnableResult.h" +#include "ConfigureImmediateEnableResult.h" #include "AddEimResult.h" #include "DeleteEimResult.h" #include "UpdateEimResult.h" @@ -38,7 +38,7 @@ EuiccResultData_PR_deleteResult, EuiccResultData_PR_listProfileInfoResult, EuiccResultData_PR_getRATResult, - EuiccResultData_PR_configureAutoEnableResult, + EuiccResultData_PR_configureImmediateEnableResult, EuiccResultData_PR_addEimResult, EuiccResultData_PR_deleteEimResult, EuiccResultData_PR_updateEimResult, @@ -64,7 +64,7 @@ DeleteProfileResult_t deleteResult; SGP32_ProfileInfoListResponse_t listProfileInfoResult; RulesAuthorisationTable_t getRATResult; - ConfigureAutoEnableResult_t configureAutoEnableResult; + ConfigureImmediateEnableResult_t configureImmediateEnableResult; AddEimResult_t addEimResult; DeleteEimResult_t deleteEimResult; UpdateEimResult_t updateEimResult; diff --git a/src/ipa/libasn/Psmo.c b/src/ipa/libasn/Psmo.c index d12d132..6b8d207 100644 --- a/src/ipa/libasn/Psmo.c +++ b/src/ipa/libasn/Psmo.c @@ -184,17 +184,17 @@ &asn_SPC_getRAT_specs_13 /* Additional specs */ }; -static asn_TYPE_member_t asn_MBR_configureAutoEnable_15[] = { - { ATF_POINTER, 3, offsetof(struct Psmo__configureAutoEnable, autoEnableFlag), +static asn_TYPE_member_t asn_MBR_configureImmediateEnable_15[] = { + { ATF_POINTER, 3, offsetof(struct Psmo__configureImmediateEnable, immediateEnableFlag), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NULL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "autoEnableFlag" + "immediateEnableFlag" }, - { ATF_POINTER, 2, offsetof(struct Psmo__configureAutoEnable, smdpOid), + { ATF_POINTER, 2, offsetof(struct Psmo__configureImmediateEnable, smdpOid), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_OBJECT_IDENTIFIER, @@ -203,7 +203,7 @@ 0, 0, /* No default value */ "smdpOid" }, - { ATF_POINTER, 1, offsetof(struct Psmo__configureAutoEnable, smdpAddress), + { ATF_POINTER, 1, offsetof(struct Psmo__configureImmediateEnable, smdpAddress), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_UTF8String, @@ -213,40 +213,40 @@ "smdpAddress" }, }; -static const int asn_MAP_configureAutoEnable_oms_15[] = { 0, 1, 2 }; -static const ber_tlv_tag_t asn_DEF_configureAutoEnable_tags_15[] = { +static const int asn_MAP_configureImmediateEnable_oms_15[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_configureImmediateEnable_tags_15[] = { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; -static const asn_TYPE_tag2member_t asn_MAP_configureAutoEnable_tag2el_15[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* autoEnableFlag */ +static const asn_TYPE_tag2member_t asn_MAP_configureImmediateEnable_tag2el_15[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* immediateEnableFlag */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* smdpOid */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* smdpAddress */ }; -static asn_SEQUENCE_specifics_t asn_SPC_configureAutoEnable_specs_15 = { - sizeof(struct Psmo__configureAutoEnable), - offsetof(struct Psmo__configureAutoEnable, _asn_ctx), - asn_MAP_configureAutoEnable_tag2el_15, +static asn_SEQUENCE_specifics_t asn_SPC_configureImmediateEnable_specs_15 = { + sizeof(struct Psmo__configureImmediateEnable), + offsetof(struct Psmo__configureImmediateEnable, _asn_ctx), + asn_MAP_configureImmediateEnable_tag2el_15, 3, /* Count of tags in the map */ - asn_MAP_configureAutoEnable_oms_15, /* Optional members */ + asn_MAP_configureImmediateEnable_oms_15, /* Optional members */ 3, 0, /* Root/Additions */ 3, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_configureAutoEnable_15 = { - "configureAutoEnable", - "configureAutoEnable", +asn_TYPE_descriptor_t asn_DEF_configureImmediateEnable_15 = { + "configureImmediateEnable", + "configureImmediateEnable", &asn_OP_SEQUENCE, - asn_DEF_configureAutoEnable_tags_15, - sizeof(asn_DEF_configureAutoEnable_tags_15) - /sizeof(asn_DEF_configureAutoEnable_tags_15[0]) - 1, /* 1 */ - asn_DEF_configureAutoEnable_tags_15, /* Same as above */ - sizeof(asn_DEF_configureAutoEnable_tags_15) - /sizeof(asn_DEF_configureAutoEnable_tags_15[0]), /* 2 */ + asn_DEF_configureImmediateEnable_tags_15, + sizeof(asn_DEF_configureImmediateEnable_tags_15) + /sizeof(asn_DEF_configureImmediateEnable_tags_15[0]) - 1, /* 1 */ + asn_DEF_configureImmediateEnable_tags_15, /* Same as above */ + sizeof(asn_DEF_configureImmediateEnable_tags_15) + /sizeof(asn_DEF_configureImmediateEnable_tags_15[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, - asn_MBR_configureAutoEnable_15, + asn_MBR_configureImmediateEnable_15, 3, /* Elements count */ - &asn_SPC_configureAutoEnable_specs_15 /* Additional specs */ + &asn_SPC_configureImmediateEnable_specs_15 /* Additional specs */ }; asn_TYPE_member_t asn_MBR_Psmo_1[] = { @@ -295,14 +295,14 @@ 0, 0, /* No default value */ "getRAT" }, - { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.configureAutoEnable), + { ATF_NOFLAGS, 0, offsetof(struct Psmo, choice.configureImmediateEnable), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 0, - &asn_DEF_configureAutoEnable_15, + &asn_DEF_configureImmediateEnable_15, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "configureAutoEnable" + "configureImmediateEnable" }, }; static const unsigned asn_MAP_Psmo_to_canonical_1[] = { 0, 1, 2, 4, 5, 3 }; @@ -312,7 +312,7 @@ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* disable */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 }, /* delete */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 4, 0, 0 }, /* getRAT */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureAutoEnable */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 5, 0, 0 }, /* configureImmediateEnable */ { (ASN_TAG_CLASS_CONTEXT | (45 << 2)), 3, 0, 0 } /* listProfileInfo */ }; asn_CHOICE_specifics_t asn_SPC_Psmo_specs_1 = { diff --git a/src/ipa/libasn/Psmo.h b/src/ipa/libasn/Psmo.h index 5e792f2..9e9c22f 100644 --- a/src/ipa/libasn/Psmo.h +++ b/src/ipa/libasn/Psmo.h @@ -32,7 +32,7 @@ Psmo_PR_delete, Psmo_PR_listProfileInfo, Psmo_PR_getRAT, - Psmo_PR_configureAutoEnable + Psmo_PR_configureImmediateEnable /* Extensions may appear below */ } Psmo_PR; @@ -82,8 +82,8 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } getRAT; - struct Psmo__configureAutoEnable { - NULL_t *autoEnableFlag /* OPTIONAL */; + struct Psmo__configureImmediateEnable { + NULL_t *immediateEnableFlag /* OPTIONAL */; OBJECT_IDENTIFIER_t *smdpOid /* OPTIONAL */; UTF8String_t *smdpAddress /* OPTIONAL */; /* @@ -93,7 +93,7 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; - } configureAutoEnable; + } configureImmediateEnable; /* * This type is extensible, * possible extensions are below. diff --git a/src/ipa/libasn/SGP32-EuiccMemoryResetRequest.h b/src/ipa/libasn/SGP32-EuiccMemoryResetRequest.h index 802f191..0761f51 100644 --- a/src/ipa/libasn/SGP32-EuiccMemoryResetRequest.h +++ b/src/ipa/libasn/SGP32-EuiccMemoryResetRequest.h @@ -25,7 +25,7 @@ SGP32_EuiccMemoryResetRequest__resetOptions_deleteFieldLoadedTestProfiles = 1, SGP32_EuiccMemoryResetRequest__resetOptions_resetDefaultSmdpAddress = 2, SGP32_EuiccMemoryResetRequest__resetOptions_resetEimConfigData = 3, - SGP32_EuiccMemoryResetRequest__resetOptions_resetAutoEnableConfig = 4 + SGP32_EuiccMemoryResetRequest__resetOptions_resetImmediateEnableConfig = 4 } e_SGP32_EuiccMemoryResetRequest__resetOptions; /* SGP32-EuiccMemoryResetRequest */ diff --git a/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.c b/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.c index 645ea50..cc66531 100644 --- a/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.c +++ b/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.c @@ -26,14 +26,14 @@ 0, 0, /* No default value */ "resetEimResult" }, - { ATF_POINTER, 1, offsetof(struct SGP32_EuiccMemoryResetResponse, resetAutoEnableConfigResult), + { ATF_POINTER, 1, offsetof(struct SGP32_EuiccMemoryResetResponse, resetImmediateEnableConfigResult), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { 0, 0, 0 }, 0, 0, /* No default value */ - "resetAutoEnableConfigResult" + "resetImmediateEnableConfigResult" }, }; static const int asn_MAP_SGP32_EuiccMemoryResetResponse_oms_1[] = { 1, 2 }; @@ -44,7 +44,7 @@ static const asn_TYPE_tag2member_t asn_MAP_SGP32_EuiccMemoryResetResponse_tag2el_1[] = { { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* resetResult */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* resetEimResult */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* resetAutoEnableConfigResult */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* resetImmediateEnableConfigResult */ }; static asn_SEQUENCE_specifics_t asn_SPC_SGP32_EuiccMemoryResetResponse_specs_1 = { sizeof(struct SGP32_EuiccMemoryResetResponse), diff --git a/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.h b/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.h index 434b3d4..da8bcb6 100644 --- a/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.h +++ b/src/ipa/libasn/SGP32-EuiccMemoryResetResponse.h @@ -32,17 +32,17 @@ SGP32_EuiccMemoryResetResponse__resetEimResult_eimResetNotSupported = 2, SGP32_EuiccMemoryResetResponse__resetEimResult_undefinedError = 127 } e_SGP32_EuiccMemoryResetResponse__resetEimResult; -typedef enum SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult { - SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_ok = 0, - SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_resetAECNotSupported = 1, - SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_undefinedError = 127 -} e_SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult; +typedef enum SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult { + SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_ok = 0, + SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_resetAECNotSupported = 1, + SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_undefinedError = 127 +} e_SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult; /* SGP32-EuiccMemoryResetResponse */ typedef struct SGP32_EuiccMemoryResetResponse { long resetResult; long *resetEimResult /* OPTIONAL */; - long *resetAutoEnableConfigResult /* OPTIONAL */; + long *resetImmediateEnableConfigResult /* OPTIONAL */; /* * This type is extensible, * possible extensions are below. diff --git a/src/ipa/libipa/es10b_enable_using_dd.c b/src/ipa/libipa/es10b_enable_using_dd.c index ebf043b..61ba9bb 100644 --- a/src/ipa/libipa/es10b_enable_using_dd.c +++ b/src/ipa/libipa/es10b_enable_using_dd.c @@ -28,7 +28,7 @@ static const struct num_str_map error_code_strings[] = { { EnableUsingDDResponse__enableUsingDDResult_ok, "ok" }, - { EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable, "autoEnableNotAvailable" }, + { EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable, "immediateEnableNotAvailable" }, { EnableUsingDDResponse__enableUsingDDResult_noSessionContext, "noSessionContext" }, { EnableUsingDDResponse__enableUsingDDResult_undefinedError, "undefinedError" }, { 0, NULL } @@ -94,14 +94,14 @@ /* Auto enable must be active */ if (ctx->nvstate.iot_euicc_emu.auto_enable.flag == false) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } /* We also need either the smdp_oid or the smdp_address to verify against */ if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid == NULL && ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address == NULL) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } @@ -123,13 +123,13 @@ if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid) { if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid->len != ctx->iot_euicc_emu.auto_enable.smdp_oid->len) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } if (memcmp(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid->data, ctx->iot_euicc_emu.auto_enable.smdp_oid->data, ctx->iot_euicc_emu.auto_enable.smdp_oid->len)) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } } @@ -138,13 +138,13 @@ if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address) { if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address->len != ctx->iot_euicc_emu.auto_enable.smdp_address->len) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } if (memcmp(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address->data, ctx->iot_euicc_emu.auto_enable.smdp_address->data, ctx->iot_euicc_emu.auto_enable.smdp_address->len)) { - rc = EnableUsingDDResponse__enableUsingDDResult_autoEnableNotAvailable; + rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } } diff --git a/src/ipa/libipa/es10b_euicc_mem_rst.c b/src/ipa/libipa/es10b_euicc_mem_rst.c index 2869caf..f57eb8e 100644 --- a/src/ipa/libipa/es10b_euicc_mem_rst.c +++ b/src/ipa/libipa/es10b_euicc_mem_rst.c @@ -50,10 +50,10 @@ { 0, NULL } }; -static const struct num_str_map sgp32_error_code_strings_resetAutoEnableConfigResult[] = { - { SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_ok, "ok" }, - { SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_resetAECNotSupported, "nothingToDelete" }, - { SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_undefinedError, "eimResetNotSupported" }, +static const struct num_str_map sgp32_error_code_strings_resetImmediateEnableConfigResult[] = { + { SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_ok, "ok" }, + { SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_resetAECNotSupported, "nothingToDelete" }, + { SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_undefinedError, "eimResetNotSupported" }, { 0, NULL } }; @@ -90,14 +90,14 @@ asn->resetResult, "(unknown)")); } - if (asn->resetResult != SGP32_EuiccMemoryResetResponse__resetAutoEnableConfigResult_ok) { + if (asn->resetResult != SGP32_EuiccMemoryResetResponse__resetImmediateEnableConfigResult_ok) { IPA_LOGP_ES10X("eUICCMemoryReset", LERROR, "function failed with error code %ld=%s!\n", - asn->resetResult, ipa_str_from_num(sgp32_error_code_strings_resetAutoEnableConfigResult, + asn->resetResult, ipa_str_from_num(sgp32_error_code_strings_resetImmediateEnableConfigResult, asn->resetResult, "(unknown)")); rc = -EINVAL; } else { IPA_LOGP_ES10X("eUICCMemoryReset", LERROR, "function succeeded with status code %ld=%s!\n", - asn->resetResult, ipa_str_from_num(sgp32_error_code_strings_resetAutoEnableConfigResult, + asn->resetResult, ipa_str_from_num(sgp32_error_code_strings_resetImmediateEnableConfigResult, asn->resetResult, "(unknown)")); } @@ -151,7 +151,7 @@ if (req->eim_cfg_data) rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetEimConfigData)); if (req->auto_enable_cfg) - rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetAutoEnableConfig)); + rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetImmediateEnableConfig)); es10b_req = ipa_es10x_req_enc(&asn_DEF_SGP32_EuiccMemoryResetRequest, &mem_rst_req, "eUICCMemoryReset"); if (!es10b_req) { diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index eb223d2..c25ebc9 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -233,15 +233,15 @@ return euicc_result_data; } -struct EuiccResultData *iot_emo_do_configureAutoEnable_psmo(struct ipa_context *ctx, const struct Psmo__configureAutoEnable - *configureAutoEnable_psmo) +struct EuiccResultData *iot_emo_do_configureImmediateEnable_psmo(struct ipa_context *ctx, const struct Psmo__configureImmediateEnable + *configureImmediateEnable_psmo) { struct EuiccResultData *euicc_result_data = IPA_ALLOC_ZERO(struct EuiccResultData); - euicc_result_data->present = EuiccResultData_PR_configureAutoEnableResult; + euicc_result_data->present = EuiccResultData_PR_configureImmediateEnableResult; - /* Update autoEnableFlag */ - if (configureAutoEnable_psmo->autoEnableFlag) + /* Update immediateEnableFlag */ + if (configureImmediateEnable_psmo->immediateEnableFlag) ctx->nvstate.iot_euicc_emu.auto_enable.flag = true; else ctx->nvstate.iot_euicc_emu.auto_enable.flag = false; @@ -249,17 +249,17 @@ /* Update smdpOid */ ipa_buf_free(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid); ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = NULL; - if (configureAutoEnable_psmo->smdpOid) - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = IPA_BUF_FROM_ASN(configureAutoEnable_psmo->smdpOid); + if (configureImmediateEnable_psmo->smdpOid) + ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = IPA_BUF_FROM_ASN(configureImmediateEnable_psmo->smdpOid); /* Update smdpAddress */ ipa_buf_free(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address); ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address = NULL; - if (configureAutoEnable_psmo->smdpAddress) + if (configureImmediateEnable_psmo->smdpAddress) ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address = - IPA_BUF_FROM_ASN(configureAutoEnable_psmo->smdpAddress); + IPA_BUF_FROM_ASN(configureImmediateEnable_psmo->smdpAddress); - euicc_result_data->choice.configureAutoEnableResult = ConfigureAutoEnableResult_ok; + euicc_result_data->choice.configureImmediateEnableResult = ConfigureImmediateEnableResult_ok; return euicc_result_data; } @@ -594,9 +594,9 @@ case Psmo_PR_getRAT: psmo_result = iot_emo_do_getRAT_psmo(ctx, &psmo->choice.getRAT); break; - case Psmo_PR_configureAutoEnable: + case Psmo_PR_configureImmediateEnable: psmo_result = - iot_emo_do_configureAutoEnable_psmo(ctx, &psmo->choice.configureAutoEnable); + iot_emo_do_configureImmediateEnable_psmo(ctx, &psmo->choice.configureImmediateEnable); break; default: IPA_LOGP_ES10X("LoadEuiccPackage", LERROR, "ignoring invalid or unsupported PSMO!\n"); -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43023?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: I2b18e5cf65269347ce40e5e9560ab934e75a92a6 Gerrit-Change-Number: 43023 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[S] Change in onomondo-ipa[master]: WIP: Add refreshFlag
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43026?usp=email
) Change subject: WIP: Add refreshFlag ...................................................................... WIP: Add refreshFlag Ich weiss nicht die Bohne, was das hier soll. TBD!!! 5.9.15 TBD: explain why this is always true Change-Id: I7d8f9182b675ca0851e00ef8d36201151f30178f --- M src/ipa/libipa/context.h M src/ipa/libipa/es10b_immediate_enable.c M src/ipa/libipa/es10b_load_euicc_pkg.c 3 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/26/43026/1 diff --git a/src/ipa/libipa/context.h b/src/ipa/libipa/context.h index 5065286..e0080d4 100644 --- a/src/ipa/libipa/context.h +++ b/src/ipa/libipa/context.h @@ -32,6 +32,7 @@ bool flag; struct ipa_buf *smdp_oid; struct ipa_buf *smdp_address; + bool refresh; } immediate_enable; } iot_euicc_emu; diff --git a/src/ipa/libipa/es10b_immediate_enable.c b/src/ipa/libipa/es10b_immediate_enable.c index 1d0b942..a649371 100644 --- a/src/ipa/libipa/es10b_immediate_enable.c +++ b/src/ipa/libipa/es10b_immediate_enable.c @@ -154,6 +154,7 @@ IPA_ASSIGN_BUF_TO_ASN(enable_prfle_req.req.profileIdentifier.choice.isdpAid, ctx->iot_euicc_emu.immediate_enable.profile_aid->data, ctx->iot_euicc_emu.immediate_enable.profile_aid->len); + enable_prfle_req.req.refreshFlag = ctx->nvstate.iot_euicc_emu.immediate_enable.refresh; enable_prfle_res = ipa_es10c_enable_prfle(ctx, &enable_prfle_req); if (enable_prfle_res && enable_prfle_res->res->enableResult == EnableProfileResponse__enableResult_ok) @@ -163,7 +164,7 @@ error: if (rc == ImmediateEnableResponse__immediateEnableResult_ok) { - IPA_LOGP_ES10X("ImmediateEnable", LERROR, + IPA_LOGP_ES10X("ImmediateEnable", LINFO, "IoT eUICC emulation active, function succeeded with status code %d=%s!\n", rc, ipa_str_from_num(error_code_strings, rc, "(unknown)")); } else { diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index fd3f1df..54cf3d9 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -241,10 +241,12 @@ euicc_result_data->present = EuiccResultData_PR_configureImmediateEnableResult; /* Update immediateEnableFlag */ - if (configureImmediateEnable_psmo->immediateEnableFlag) + if (configureImmediateEnable_psmo->immediateEnableFlag) { ctx->nvstate.iot_euicc_emu.immediate_enable.flag = true; - else + ctx->nvstate.iot_euicc_emu.immediate_enable.refresh = true; + } else { ctx->nvstate.iot_euicc_emu.immediate_enable.flag = false; + } /* Update smdpOid */ ipa_buf_free(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid); -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43026?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: I7d8f9182b675ca0851e00ef8d36201151f30178f Gerrit-Change-Number: 43026 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[L] Change in onomondo-ipa[master]: V1.2: Update from "EnableUsingDD" to "ImmediateEnable" function
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43025?usp=email
) Change subject: V1.2: Update from "EnableUsingDD" to "ImmediateEnable" function ...................................................................... V1.2: Update from "EnableUsingDD" to "ImmediateEnable" function Work on 5.9.15 -> Renamed things and added ASN.1 fields, but no processing of these fields yet. Reference: SGP.32 Section 5.9.15 Related: SYS#8101 Change-Id: Id750b2f5ca6c08a013aa30f876aa37e6291a30d5 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/CMakeLists.txt D src/ipa/libasn/EnableUsingDDRequest.c D src/ipa/libasn/EnableUsingDDResponse.c D src/ipa/libasn/EnableUsingDDResponse.h A src/ipa/libasn/ImmediateEnableRequest.c R src/ipa/libasn/ImmediateEnableRequest.h A src/ipa/libasn/ImmediateEnableResponse.c A src/ipa/libasn/ImmediateEnableResponse.h M src/ipa/libipa/CMakeLists.txt R src/ipa/libipa/es10b_immediate_enable.c R src/ipa/libipa/es10b_immediate_enable.h M src/ipa/libipa/es10b_load_bnd_prfle_pkg.c M src/ipa/libipa/proc_prfle_inst.c 14 files changed, 218 insertions(+), 198 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/25/43025/1 diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index bc4fdad..9b5da2f 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -458,15 +458,17 @@ -- Section 5.9.15 -- ASN1START -EnableUsingDDRequest ::= [90] SEQUENCE { -- Tag 'BF5A' +ImmediateEnableRequest ::= [90] SEQUENCE { -- Tag 'BF5A' + refreshFlag BOOLEAN -- indicating whether REFRESH is required } -- ASN1STOP -- ASN1START -EnableUsingDDResponse ::= [90] SEQUENCE { -- Tag 'BF5A' - enableUsingDDResult [0] INTEGER { +ImmediateEnableResponse ::= [90] SEQUENCE { -- Tag 'BF5A' + immediateEnableResult [0] INTEGER { ok(0), immediateEnableNotAvailable(1), noSessionContext(4), + catBusy(5), undefinedError(127) } } diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt index 8efadc9..90d7b42 100644 --- a/src/ipa/libasn/CMakeLists.txt +++ b/src/ipa/libasn/CMakeLists.txt @@ -289,10 +289,6 @@ EnableProfileResponse.h EnableProfileResult.c EnableProfileResult.h -EnableUsingDDRequest.c -EnableUsingDDRequest.h -EnableUsingDDResponse.c -EnableUsingDDResponse.h ErrorReason.c ErrorReason.h ErrorResult.c @@ -437,6 +433,10 @@ Iccid.h IconType.c IconType.h +ImmediateEnableRequest.c +ImmediateEnableRequest.h +ImmediateEnableResponse.c +ImmediateEnableResponse.h InhibitAnyPolicy.c InhibitAnyPolicy.h InitialiseSecureChannelRequest.c diff --git a/src/ipa/libasn/EnableUsingDDRequest.c b/src/ipa/libasn/EnableUsingDDRequest.c deleted file mode 100644 index c37fbfe..0000000 --- a/src/ipa/libasn/EnableUsingDDRequest.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#include "EnableUsingDDRequest.h" - -static const ber_tlv_tag_t asn_DEF_EnableUsingDDRequest_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (90 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SEQUENCE_specifics_t asn_SPC_EnableUsingDDRequest_specs_1 = { - sizeof(struct EnableUsingDDRequest), - offsetof(struct EnableUsingDDRequest, _asn_ctx), - 0, /* No top level tags */ - 0, /* No tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_EnableUsingDDRequest = { - "EnableUsingDDRequest", - "EnableUsingDDRequest", - &asn_OP_SEQUENCE, - asn_DEF_EnableUsingDDRequest_tags_1, - sizeof(asn_DEF_EnableUsingDDRequest_tags_1) - /sizeof(asn_DEF_EnableUsingDDRequest_tags_1[0]) - 1, /* 1 */ - asn_DEF_EnableUsingDDRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_EnableUsingDDRequest_tags_1) - /sizeof(asn_DEF_EnableUsingDDRequest_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - 0, 0, /* No members */ - &asn_SPC_EnableUsingDDRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/ipa/libasn/EnableUsingDDResponse.c b/src/ipa/libasn/EnableUsingDDResponse.c deleted file mode 100644 index af30721..0000000 --- a/src/ipa/libasn/EnableUsingDDResponse.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#include "EnableUsingDDResponse.h" - -static asn_TYPE_member_t asn_MBR_EnableUsingDDResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct EnableUsingDDResponse, enableUsingDDResult), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - 0, - { 0, 0, 0 }, - 0, 0, /* No default value */ - "enableUsingDDResult" - }, -}; -static const ber_tlv_tag_t asn_DEF_EnableUsingDDResponse_tags_1[] = { - (ASN_TAG_CLASS_CONTEXT | (90 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_EnableUsingDDResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* enableUsingDDResult */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_EnableUsingDDResponse_specs_1 = { - sizeof(struct EnableUsingDDResponse), - offsetof(struct EnableUsingDDResponse, _asn_ctx), - asn_MAP_EnableUsingDDResponse_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ -}; -asn_TYPE_descriptor_t asn_DEF_EnableUsingDDResponse = { - "EnableUsingDDResponse", - "EnableUsingDDResponse", - &asn_OP_SEQUENCE, - asn_DEF_EnableUsingDDResponse_tags_1, - sizeof(asn_DEF_EnableUsingDDResponse_tags_1) - /sizeof(asn_DEF_EnableUsingDDResponse_tags_1[0]) - 1, /* 1 */ - asn_DEF_EnableUsingDDResponse_tags_1, /* Same as above */ - sizeof(asn_DEF_EnableUsingDDResponse_tags_1) - /sizeof(asn_DEF_EnableUsingDDResponse_tags_1[0]), /* 2 */ - { 0, 0, SEQUENCE_constraint }, - asn_MBR_EnableUsingDDResponse_1, - 1, /* Elements count */ - &asn_SPC_EnableUsingDDResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/ipa/libasn/EnableUsingDDResponse.h b/src/ipa/libasn/EnableUsingDDResponse.h deleted file mode 100644 index faa2c26..0000000 --- a/src/ipa/libasn/EnableUsingDDResponse.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) - * From ASN.1 module "SGP32Definitions" - * found in "../../../asn1/SGP32Definitions.asn" - * `asn1c -fcompound-names -no-gen-example` - */ - -#ifndef _EnableUsingDDResponse_H_ -#define _EnableUsingDDResponse_H_ - - -#include <asn_application.h> - -/* Including external dependencies */ -#include <NativeInteger.h> -#include <constr_SEQUENCE.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EnableUsingDDResponse__enableUsingDDResult { - EnableUsingDDResponse__enableUsingDDResult_ok = 0, - EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable = 1, - EnableUsingDDResponse__enableUsingDDResult_noSessionContext = 4, - EnableUsingDDResponse__enableUsingDDResult_undefinedError = 127 -} e_EnableUsingDDResponse__enableUsingDDResult; - -/* EnableUsingDDResponse */ -typedef struct EnableUsingDDResponse { - long enableUsingDDResult; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EnableUsingDDResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EnableUsingDDResponse; - -#ifdef __cplusplus -} -#endif - -#endif /* _EnableUsingDDResponse_H_ */ -#include <asn_internal.h> diff --git a/src/ipa/libasn/ImmediateEnableRequest.c b/src/ipa/libasn/ImmediateEnableRequest.c new file mode 100644 index 0000000..e08fe51 --- /dev/null +++ b/src/ipa/libasn/ImmediateEnableRequest.c @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "ImmediateEnableRequest.h" + +static asn_TYPE_member_t asn_MBR_ImmediateEnableRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ImmediateEnableRequest, refreshFlag), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "refreshFlag" + }, +}; +static const ber_tlv_tag_t asn_DEF_ImmediateEnableRequest_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (90 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ImmediateEnableRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* refreshFlag */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ImmediateEnableRequest_specs_1 = { + sizeof(struct ImmediateEnableRequest), + offsetof(struct ImmediateEnableRequest, _asn_ctx), + asn_MAP_ImmediateEnableRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ImmediateEnableRequest = { + "ImmediateEnableRequest", + "ImmediateEnableRequest", + &asn_OP_SEQUENCE, + asn_DEF_ImmediateEnableRequest_tags_1, + sizeof(asn_DEF_ImmediateEnableRequest_tags_1) + /sizeof(asn_DEF_ImmediateEnableRequest_tags_1[0]) - 1, /* 1 */ + asn_DEF_ImmediateEnableRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_ImmediateEnableRequest_tags_1) + /sizeof(asn_DEF_ImmediateEnableRequest_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ImmediateEnableRequest_1, + 1, /* Elements count */ + &asn_SPC_ImmediateEnableRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/EnableUsingDDRequest.h b/src/ipa/libasn/ImmediateEnableRequest.h similarity index 64% rename from src/ipa/libasn/EnableUsingDDRequest.h rename to src/ipa/libasn/ImmediateEnableRequest.h index ab1573b..0def067 100644 --- a/src/ipa/libasn/EnableUsingDDRequest.h +++ b/src/ipa/libasn/ImmediateEnableRequest.h @@ -5,21 +5,23 @@ * `asn1c -fcompound-names -no-gen-example` */ -#ifndef _EnableUsingDDRequest_H_ -#define _EnableUsingDDRequest_H_ +#ifndef _ImmediateEnableRequest_H_ +#define _ImmediateEnableRequest_H_ #include <asn_application.h> /* Including external dependencies */ +#include <BOOLEAN.h> #include <constr_SEQUENCE.h> #ifdef __cplusplus extern "C" { #endif -/* EnableUsingDDRequest */ -typedef struct EnableUsingDDRequest { +/* ImmediateEnableRequest */ +typedef struct ImmediateEnableRequest { + BOOLEAN_t refreshFlag; /* * This type is extensible, * possible extensions are below. @@ -27,14 +29,14 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; -} EnableUsingDDRequest_t; +} ImmediateEnableRequest_t; /* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EnableUsingDDRequest; +extern asn_TYPE_descriptor_t asn_DEF_ImmediateEnableRequest; #ifdef __cplusplus } #endif -#endif /* _EnableUsingDDRequest_H_ */ +#endif /* _ImmediateEnableRequest_H_ */ #include <asn_internal.h> diff --git a/src/ipa/libasn/ImmediateEnableResponse.c b/src/ipa/libasn/ImmediateEnableResponse.c new file mode 100644 index 0000000..e6197b1 --- /dev/null +++ b/src/ipa/libasn/ImmediateEnableResponse.c @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#include "ImmediateEnableResponse.h" + +static asn_TYPE_member_t asn_MBR_ImmediateEnableResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ImmediateEnableResponse, immediateEnableResult), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "immediateEnableResult" + }, +}; +static const ber_tlv_tag_t asn_DEF_ImmediateEnableResponse_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (90 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ImmediateEnableResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* immediateEnableResult */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ImmediateEnableResponse_specs_1 = { + sizeof(struct ImmediateEnableResponse), + offsetof(struct ImmediateEnableResponse, _asn_ctx), + asn_MAP_ImmediateEnableResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ImmediateEnableResponse = { + "ImmediateEnableResponse", + "ImmediateEnableResponse", + &asn_OP_SEQUENCE, + asn_DEF_ImmediateEnableResponse_tags_1, + sizeof(asn_DEF_ImmediateEnableResponse_tags_1) + /sizeof(asn_DEF_ImmediateEnableResponse_tags_1[0]) - 1, /* 1 */ + asn_DEF_ImmediateEnableResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_ImmediateEnableResponse_tags_1) + /sizeof(asn_DEF_ImmediateEnableResponse_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ImmediateEnableResponse_1, + 1, /* Elements count */ + &asn_SPC_ImmediateEnableResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/ImmediateEnableResponse.h b/src/ipa/libasn/ImmediateEnableResponse.h new file mode 100644 index 0000000..f4c4445 --- /dev/null +++ b/src/ipa/libasn/ImmediateEnableResponse.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.29 (
http://lionet.info/asn1c
) + * From ASN.1 module "SGP32Definitions" + * found in "../../../asn1/SGP32Definitions.asn" + * `asn1c -fcompound-names -no-gen-example` + */ + +#ifndef _ImmediateEnableResponse_H_ +#define _ImmediateEnableResponse_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ImmediateEnableResponse__immediateEnableResult { + ImmediateEnableResponse__immediateEnableResult_ok = 0, + ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable = 1, + ImmediateEnableResponse__immediateEnableResult_noSessionContext = 4, + ImmediateEnableResponse__immediateEnableResult_catBusy = 5, + ImmediateEnableResponse__immediateEnableResult_undefinedError = 127 +} e_ImmediateEnableResponse__immediateEnableResult; + +/* ImmediateEnableResponse */ +typedef struct ImmediateEnableResponse { + long immediateEnableResult; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ImmediateEnableResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ImmediateEnableResponse; + +#ifdef __cplusplus +} +#endif + +#endif /* _ImmediateEnableResponse_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libipa/CMakeLists.txt b/src/ipa/libipa/CMakeLists.txt index 49a2c14..e6bed87 100644 --- a/src/ipa/libipa/CMakeLists.txt +++ b/src/ipa/libipa/CMakeLists.txt @@ -23,7 +23,7 @@ es10c_delete_prfle.c es10c_disable_prfle.c es10c_enable_prfle.c - es10b_enable_using_dd.c + es10b_immediate_enable.c es10c_get_eid.c es10c_get_prfle_info.c es10x.c diff --git a/src/ipa/libipa/es10b_enable_using_dd.c b/src/ipa/libipa/es10b_immediate_enable.c similarity index 61% rename from src/ipa/libipa/es10b_enable_using_dd.c rename to src/ipa/libipa/es10b_immediate_enable.c index 87e731d..1d0b942 100644 --- a/src/ipa/libipa/es10b_enable_using_dd.c +++ b/src/ipa/libipa/es10b_immediate_enable.c @@ -5,7 +5,7 @@ * * Author: Philipp Maier <pmaier(a)sysmocom.de> / sysmocom - s.f.m.c. GmbH * - * See also: GSMA SGP.23, 5.9.15: Function (ES10b): EnableUsingDD + * See also: GSMA SGP.23, 5.9.15: Function (ES10b): ImmediateEnable */ #include <stdio.h> @@ -16,67 +16,67 @@ #include <onomondo/ipa/utils.h> #include <onomondo/ipa/scard.h> #include <onomondo/ipa/log.h> -#include <EnableUsingDDRequest.h> -#include <EnableUsingDDResponse.h> +#include <ImmediateEnableRequest.h> +#include <ImmediateEnableResponse.h> #include "context.h" #include "length.h" #include "utils.h" #include "euicc.h" #include "es10x.h" -#include "es10b_enable_using_dd.h" +#include "es10b_immediate_enable.h" #include "es10c_enable_prfle.h" static const struct num_str_map error_code_strings[] = { - { EnableUsingDDResponse__enableUsingDDResult_ok, "ok" }, - { EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable, "immediateEnableNotAvailable" }, - { EnableUsingDDResponse__enableUsingDDResult_noSessionContext, "noSessionContext" }, - { EnableUsingDDResponse__enableUsingDDResult_undefinedError, "undefinedError" }, + { ImmediateEnableResponse__immediateEnableResult_ok, "ok" }, + { ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable, "immediateEnableNotAvailable" }, + { ImmediateEnableResponse__immediateEnableResult_noSessionContext, "noSessionContext" }, + { ImmediateEnableResponse__immediateEnableResult_undefinedError, "undefinedError" }, { 0, NULL } }; -static int dec_enable_using_dd_res(const struct ipa_buf *es10b_res) +static int dec_immediate_enable_res(const struct ipa_buf *es10b_res) { - struct EnableUsingDDResponse *asn = NULL; + struct ImmediateEnableResponse *asn = NULL; int rc; - asn = ipa_es10x_res_dec(&asn_DEF_EnableUsingDDResponse, es10b_res, "EnableUsingDD"); + asn = ipa_es10x_res_dec(&asn_DEF_ImmediateEnableResponse, es10b_res, "ImmediateEnable"); if (!asn) return -EINVAL; - rc = asn->enableUsingDDResult; + rc = asn->immediateEnableResult; - if (rc == EnableUsingDDResponse__enableUsingDDResult_ok) { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, "function succeeded with status code %d=%s!\n", + if (rc == ImmediateEnableResponse__immediateEnableResult_ok) { + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "function succeeded with status code %d=%s!\n", rc, ipa_str_from_num(error_code_strings, rc, "(unknown)")); } else { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, "function failed with error code %d=%s!\n", + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "function failed with error code %d=%s!\n", rc, ipa_str_from_num(error_code_strings, rc, "(unknown)")); } - ASN_STRUCT_FREE(asn_DEF_EnableUsingDDResponse, asn); + ASN_STRUCT_FREE(asn_DEF_ImmediateEnableResponse, asn); return rc; } -int enable_using_dd(struct ipa_context *ctx) +int immediate_enable(struct ipa_context *ctx) { struct ipa_buf *es10b_req = NULL; struct ipa_buf *es10b_res = NULL; - struct EnableUsingDDRequest enable_using_dd_req = { 0 }; + struct ImmediateEnableRequest immediate_enable_req = { 0 }; int rc = -EINVAL; - es10b_req = ipa_es10x_req_enc(&asn_DEF_EnableUsingDDRequest, &enable_using_dd_req, "EnableUsingDD"); + es10b_req = ipa_es10x_req_enc(&asn_DEF_ImmediateEnableRequest, &immediate_enable_req, "ImmediateEnable"); if (!es10b_req) { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, "unable to encode ES10b request\n"); + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "unable to encode ES10b request\n"); goto error; } es10b_res = ipa_euicc_transceive_es10x(ctx, es10b_req); if (!es10b_res) { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, "no ES10b response\n"); + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "no ES10b response\n"); goto error; } - rc = dec_enable_using_dd_res(es10b_res); + rc = dec_immediate_enable_res(es10b_res); if (rc < 0) goto error; @@ -86,36 +86,36 @@ return rc; } -int enable_using_dd_emu(struct ipa_context *ctx) +int immediate_enable_emu(struct ipa_context *ctx) { struct ipa_es10c_enable_prfle_req enable_prfle_req = { 0 }; struct ipa_es10c_enable_prfle_res *enable_prfle_res = NULL; - int rc = EnableUsingDDResponse__enableUsingDDResult_undefinedError; + int rc = ImmediateEnableResponse__immediateEnableResult_undefinedError; /* Auto enable must be active */ if (ctx->nvstate.iot_euicc_emu.immediate_enable.flag == false) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } /* We also need either the smdp_oid or the smdp_address to verify against */ if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid == NULL && ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address == NULL) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } /* Ensure the session context is present and complete */ if (ctx->iot_euicc_emu.immediate_enable.smdp_address == NULL) { - rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; + rc = ImmediateEnableResponse__immediateEnableResult_noSessionContext; goto error; } if (ctx->iot_euicc_emu.immediate_enable.smdp_oid == NULL) { - rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; + rc = ImmediateEnableResponse__immediateEnableResult_noSessionContext; goto error; } if (ctx->iot_euicc_emu.immediate_enable.profile_aid == NULL) { - rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; + rc = ImmediateEnableResponse__immediateEnableResult_noSessionContext; goto error; } @@ -123,13 +123,13 @@ if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid) { if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid->len != ctx->iot_euicc_emu.immediate_enable.smdp_oid->len) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } if (memcmp(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid->data, ctx->iot_euicc_emu.immediate_enable.smdp_oid->data, ctx->iot_euicc_emu.immediate_enable.smdp_oid->len)) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } } @@ -138,13 +138,13 @@ if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address) { if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address->len != ctx->iot_euicc_emu.immediate_enable.smdp_address->len) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } if (memcmp(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address->data, ctx->iot_euicc_emu.immediate_enable.smdp_address->data, ctx->iot_euicc_emu.immediate_enable.smdp_address->len)) { - rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; + rc = ImmediateEnableResponse__immediateEnableResult_immediateEnableNotAvailable; goto error; } } @@ -157,17 +157,17 @@ enable_prfle_res = ipa_es10c_enable_prfle(ctx, &enable_prfle_req); if (enable_prfle_res && enable_prfle_res->res->enableResult == EnableProfileResponse__enableResult_ok) - rc = EnableUsingDDResponse__enableUsingDDResult_ok; + rc = ImmediateEnableResponse__immediateEnableResult_ok; else - rc = EnableUsingDDResponse__enableUsingDDResult_undefinedError; + rc = ImmediateEnableResponse__immediateEnableResult_undefinedError; error: - if (rc == EnableUsingDDResponse__enableUsingDDResult_ok) { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, + if (rc == ImmediateEnableResponse__immediateEnableResult_ok) { + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "IoT eUICC emulation active, function succeeded with status code %d=%s!\n", rc, ipa_str_from_num(error_code_strings, rc, "(unknown)")); } else { - IPA_LOGP_ES10X("EnableUsingDD", LERROR, + IPA_LOGP_ES10X("ImmediateEnable", LERROR, "IoT eUICC emulation active, function failed with error code %d=%s!\n", rc, ipa_str_from_num(error_code_strings, rc, "(unknown)")); } @@ -184,13 +184,13 @@ return rc; } -/*! Function (ES10b): EnableUsingDD. +/*! Function (ES10b): ImmediateEnable. * \param[inout] ctx pointer to ipa_context. * \returns positive status code on success, negative on error. */ -int ipa_es10b_enable_using_dd(struct ipa_context *ctx) +int ipa_es10b_immediate_enable(struct ipa_context *ctx) { if (ctx->cfg->iot_euicc_emu_enabled) - return enable_using_dd_emu(ctx); + return immediate_enable_emu(ctx); else - return enable_using_dd(ctx); + return immediate_enable(ctx); } diff --git a/src/ipa/libipa/es10b_enable_using_dd.h b/src/ipa/libipa/es10b_immediate_enable.h similarity index 74% rename from src/ipa/libipa/es10b_enable_using_dd.h rename to src/ipa/libipa/es10b_immediate_enable.h index b73c541..7e3f0af 100644 --- a/src/ipa/libipa/es10b_enable_using_dd.h +++ b/src/ipa/libipa/es10b_immediate_enable.h @@ -8,4 +8,4 @@ struct ipa_context; -int ipa_es10b_enable_using_dd(struct ipa_context *ctx); +int ipa_es10b_immediate_enable(struct ipa_context *ctx); diff --git a/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c b/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c index d11eb7d..946ccb2 100644 --- a/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c +++ b/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c @@ -95,7 +95,7 @@ goto error; /* In case IoT eUICC emulation is active, collect immediate enable data to support the emulation of - * the ES10b function EnableUsingDD. */ + * the ES10b function ImmediateEnable. */ if (ctx->cfg->iot_euicc_emu_enabled) collect_immediate_enable_data_from_prfle_inst_rslt(ctx, res->res); } diff --git a/src/ipa/libipa/proc_prfle_inst.c b/src/ipa/libipa/proc_prfle_inst.c index 1d08910..264e095 100644 --- a/src/ipa/libipa/proc_prfle_inst.c +++ b/src/ipa/libipa/proc_prfle_inst.c @@ -21,7 +21,7 @@ #include "es10b_load_bnd_prfle_pkg.h" #include "esipa_handle_notif.h" #include "es10b_rm_notif_from_lst.h" -#include "es10b_enable_using_dd.h" +#include "es10b_immediate_enable.h" #include "bpp_segments.h" #include "proc_prfle_inst.h" @@ -42,7 +42,7 @@ } /* Instruct the eUICC to enable the newly installed profile (if configured and granted) */ - ipa_es10b_enable_using_dd(ctx); + ipa_es10b_immediate_enable(ctx); /* A response is present, this is either the normal ending of the installation sequence or the eUICC has aborted * the installation. In both situations we forward the ProfileInstallationResult to the eIM. */ -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43025?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: Id750b2f5ca6c08a013aa30f876aa37e6291a30d5 Gerrit-Change-Number: 43025 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
[M] Change in onomondo-ipa[master]: V1.2: Rename internal structure names from "auto" to "immediate"
by jolly
16 Jul '26
16 Jul '26
jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/onomondo-ipa/+/43024?usp=email
) Change subject: V1.2: Rename internal structure names from "auto" to "immediate" ...................................................................... V1.2: Rename internal structure names from "auto" to "immediate" Rename all occurrences of "auto" or similar to "immediate" or similar respectively. Reference: SGP.32 Section 2.9.2 Related: SYS#8101 Change-Id: Iad212f9b3e4430d4eaa6d4afdac0e73009275dfb --- M include/onomondo/ipa/ipad.h M src/ipa/libipa/context.h M src/ipa/libipa/es10b_enable_using_dd.c M src/ipa/libipa/es10b_euicc_mem_rst.c M src/ipa/libipa/es10b_euicc_mem_rst.h M src/ipa/libipa/es10b_load_bnd_prfle_pkg.c M src/ipa/libipa/es10b_load_euicc_pkg.c M src/ipa/libipa/ipad.c 8 files changed, 75 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/24/43024/1 diff --git a/include/onomondo/ipa/ipad.h b/include/onomondo/ipa/ipad.h index c2ce394..bb4a05a 100644 --- a/include/onomondo/ipa/ipad.h +++ b/include/onomondo/ipa/ipad.h @@ -93,7 +93,7 @@ int eim_init(struct ipa_context *ctx); int ipa_add_init_eim_cfg(struct ipa_context *ctx, struct ipa_buf *cfg); int ipa_euicc_mem_rst(struct ipa_context *ctx, bool operatnl_profiles, bool test_profiles, bool default_smdp_addr, - bool eim_cfg_data, bool auto_enable_cfg); + bool eim_cfg_data, bool immediate_enable_cfg); int ipa_poll(struct ipa_context *ctx); void ipa_close(struct ipa_context *ctx); struct ipa_buf *ipa_free_ctx(struct ipa_context *ctx); diff --git a/src/ipa/libipa/context.h b/src/ipa/libipa/context.h index 067daff..5065286 100644 --- a/src/ipa/libipa/context.h +++ b/src/ipa/libipa/context.h @@ -27,12 +27,12 @@ int association_token_counter; struct ipa_buf *eim_cfg_ber; - /*! Automatic Profile Enabling configuration (set via configureAutoEnable PSMO) */ + /*! Immediate Profile Enabling configuration (set via configureImmidiateEnable PSMO) */ struct { bool flag; struct ipa_buf *smdp_oid; struct ipa_buf *smdp_address; - } auto_enable; + } immediate_enable; } iot_euicc_emu; } __attribute__((packed)); @@ -58,12 +58,12 @@ * ipa_proc_eucc_pkg_dwnld_exec is called. */ struct ipa_buf *rollback_iccid; - /*! cached data to support the emulation of the ES10b function EnableUsingDD */ + /*! cached data to support the emulation of the ES10b function ImmidiateEnable */ struct { struct ipa_buf *smdp_oid; struct ipa_buf *smdp_address; struct ipa_buf *profile_aid; - } auto_enable; + } immediate_enable; } iot_euicc_emu; /*! cached eimId (read from eUICC when ipa_init is called) */ diff --git a/src/ipa/libipa/es10b_enable_using_dd.c b/src/ipa/libipa/es10b_enable_using_dd.c index 61ba9bb..87e731d 100644 --- a/src/ipa/libipa/es10b_enable_using_dd.c +++ b/src/ipa/libipa/es10b_enable_using_dd.c @@ -93,57 +93,57 @@ int rc = EnableUsingDDResponse__enableUsingDDResult_undefinedError; /* Auto enable must be active */ - if (ctx->nvstate.iot_euicc_emu.auto_enable.flag == false) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.flag == false) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } /* We also need either the smdp_oid or the smdp_address to verify against */ - if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid == NULL && - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address == NULL) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid == NULL && + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address == NULL) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } /* Ensure the session context is present and complete */ - if (ctx->iot_euicc_emu.auto_enable.smdp_address == NULL) { + if (ctx->iot_euicc_emu.immediate_enable.smdp_address == NULL) { rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; goto error; } - if (ctx->iot_euicc_emu.auto_enable.smdp_oid == NULL) { + if (ctx->iot_euicc_emu.immediate_enable.smdp_oid == NULL) { rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; goto error; } - if (ctx->iot_euicc_emu.auto_enable.profile_aid == NULL) { + if (ctx->iot_euicc_emu.immediate_enable.profile_aid == NULL) { rc = EnableUsingDDResponse__enableUsingDDResult_noSessionContext; goto error; } /* Verify smdp OID (if configured) */ - if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid) { - if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid->len != - ctx->iot_euicc_emu.auto_enable.smdp_oid->len) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid->len != + ctx->iot_euicc_emu.immediate_enable.smdp_oid->len) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } - if (memcmp(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid->data, - ctx->iot_euicc_emu.auto_enable.smdp_oid->data, - ctx->iot_euicc_emu.auto_enable.smdp_oid->len)) { + if (memcmp(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid->data, + ctx->iot_euicc_emu.immediate_enable.smdp_oid->data, + ctx->iot_euicc_emu.immediate_enable.smdp_oid->len)) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } } /* Verify smdp address (if configured) */ - if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address) { - if (ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address->len != - ctx->iot_euicc_emu.auto_enable.smdp_address->len) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address) { + if (ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address->len != + ctx->iot_euicc_emu.immediate_enable.smdp_address->len) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } - if (memcmp(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address->data, - ctx->iot_euicc_emu.auto_enable.smdp_address->data, - ctx->iot_euicc_emu.auto_enable.smdp_address->len)) { + if (memcmp(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address->data, + ctx->iot_euicc_emu.immediate_enable.smdp_address->data, + ctx->iot_euicc_emu.immediate_enable.smdp_address->len)) { rc = EnableUsingDDResponse__enableUsingDDResult_immediateEnableNotAvailable; goto error; } @@ -152,8 +152,8 @@ /* Enable profile */ enable_prfle_req.req.profileIdentifier.present = EnableProfileRequest__profileIdentifier_PR_isdpAid; IPA_ASSIGN_BUF_TO_ASN(enable_prfle_req.req.profileIdentifier.choice.isdpAid, - ctx->iot_euicc_emu.auto_enable.profile_aid->data, - ctx->iot_euicc_emu.auto_enable.profile_aid->len); + ctx->iot_euicc_emu.immediate_enable.profile_aid->data, + ctx->iot_euicc_emu.immediate_enable.profile_aid->len); enable_prfle_res = ipa_es10c_enable_prfle(ctx, &enable_prfle_req); if (enable_prfle_res && enable_prfle_res->res->enableResult == EnableProfileResponse__enableResult_ok) @@ -173,12 +173,12 @@ } /* Ensure the auto enable data is cleared after use */ - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_oid); - ctx->iot_euicc_emu.auto_enable.smdp_oid = NULL; - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_address); - ctx->iot_euicc_emu.auto_enable.smdp_address = NULL; - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.profile_aid); - ctx->iot_euicc_emu.auto_enable.profile_aid = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_oid); + ctx->iot_euicc_emu.immediate_enable.smdp_oid = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_address); + ctx->iot_euicc_emu.immediate_enable.smdp_address = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.profile_aid); + ctx->iot_euicc_emu.immediate_enable.profile_aid = NULL; ipa_es10c_enable_prfle_res_free(enable_prfle_res); return rc; diff --git a/src/ipa/libipa/es10b_euicc_mem_rst.c b/src/ipa/libipa/es10b_euicc_mem_rst.c index f57eb8e..5b2040f 100644 --- a/src/ipa/libipa/es10b_euicc_mem_rst.c +++ b/src/ipa/libipa/es10b_euicc_mem_rst.c @@ -150,7 +150,7 @@ rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetDefaultSmdpAddress)); if (req->eim_cfg_data) rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetEimConfigData)); - if (req->auto_enable_cfg) + if (req->immediate_enable_cfg) rst_opt[0] |= (1 << (7 - SGP32_EuiccMemoryResetRequest__resetOptions_resetImmediateEnableConfig)); es10b_req = ipa_es10x_req_enc(&asn_DEF_SGP32_EuiccMemoryResetRequest, &mem_rst_req, "eUICCMemoryReset"); @@ -200,14 +200,14 @@ IPA_FREE(ctx->nvstate.iot_euicc_emu.eim_cfg_ber); ctx->nvstate.iot_euicc_emu.eim_cfg_ber = NULL; } - if (req->auto_enable_cfg) { + if (req->immediate_enable_cfg) { IPA_LOGP_ES10X("eUICCMemoryReset", LINFO, - "IoT eUICC emulation active, also clearing auto enable configuration...\n"); - IPA_FREE(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid); - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = NULL; - IPA_FREE(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address); - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address = NULL; - ctx->nvstate.iot_euicc_emu.auto_enable.flag = false; + "IoT eUICC emulation active, also clearing immediate enable configuration...\n"); + IPA_FREE(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid); + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid = NULL; + IPA_FREE(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address); + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address = NULL; + ctx->nvstate.iot_euicc_emu.immediate_enable.flag = false; } es10b_req = ipa_es10x_req_enc(&asn_DEF_EuiccMemoryResetRequest, &mem_rst_req, "eUICCMemoryReset"); diff --git a/src/ipa/libipa/es10b_euicc_mem_rst.h b/src/ipa/libipa/es10b_euicc_mem_rst.h index 81c9c01..8f4d304 100644 --- a/src/ipa/libipa/es10b_euicc_mem_rst.h +++ b/src/ipa/libipa/es10b_euicc_mem_rst.h @@ -15,7 +15,7 @@ bool test_profiles; bool default_smdp_addr; bool eim_cfg_data; - bool auto_enable_cfg; + bool immediate_enable_cfg; }; int ipa_es10b_euicc_mem_rst(struct ipa_context *ctx, const struct ipa_es10b_euicc_mem_rst *req); diff --git a/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c b/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c index 52b70dc..d11eb7d 100644 --- a/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c +++ b/src/ipa/libipa/es10b_load_bnd_prfle_pkg.c @@ -23,22 +23,22 @@ #include "es10x.h" #include "es10b_load_bnd_prfle_pkg.h" -static void collect_auto_enable_data_from_prfle_inst_rslt(struct ipa_context *ctx, - struct ProfileInstallationResult *prfle_inst_rslt) +static void collect_immediate_enable_data_from_prfle_inst_rslt(struct ipa_context *ctx, + struct ProfileInstallationResult *prfle_inst_rslt) { struct ProfileInstallationResultData *prfle_inst_res_data = &prfle_inst_rslt->profileInstallationResultData; - /* When the profile was not successfully installed, then there is no point in collecting any auto enable data. */ + /* When the profile was not successfully installed, then there is no point in collecting any immediate enable data. */ if (prfle_inst_res_data->finalResult.present != ProfileInstallationResultData__finalResult_PR_successResult) return; - /* Collect smdpOid and smdpAddress so that we can verify later whether the auto enable is granted or not. */ - ctx->iot_euicc_emu.auto_enable.smdp_oid = IPA_BUF_FROM_ASN(&prfle_inst_res_data->smdpOid); - ctx->iot_euicc_emu.auto_enable.smdp_address = + /* Collect smdpOid and smdpAddress so that we can verify later whether the immediate enable is granted or not. */ + ctx->iot_euicc_emu.immediate_enable.smdp_oid = IPA_BUF_FROM_ASN(&prfle_inst_res_data->smdpOid); + ctx->iot_euicc_emu.immediate_enable.smdp_address = IPA_BUF_FROM_ASN(&prfle_inst_res_data->notificationMetadata.notificationAddress); /* Collect AID of the profile so that we later know which profile to enable. */ - ctx->iot_euicc_emu.auto_enable.profile_aid = + ctx->iot_euicc_emu.immediate_enable.profile_aid = IPA_BUF_FROM_ASN(&prfle_inst_res_data->finalResult.choice.successResult.aid); } @@ -67,14 +67,14 @@ struct ipa_es10b_load_bnd_prfle_pkg_res *res = IPA_ALLOC_ZERO(struct ipa_es10b_load_bnd_prfle_pkg_res); int rc; - /* In case IoT eUICC emulation is active, ensure that the auto enable data is cleared. (This data has no + /* In case IoT eUICC emulation is active, ensure that the immediate enable data is cleared. (This data has no * relevance in case a real IoT eUICC is used.) */ - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_oid); - ctx->iot_euicc_emu.auto_enable.smdp_oid = NULL; - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_address); - ctx->iot_euicc_emu.auto_enable.smdp_address = NULL; - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.profile_aid); - ctx->iot_euicc_emu.auto_enable.profile_aid = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_oid); + ctx->iot_euicc_emu.immediate_enable.smdp_oid = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_address); + ctx->iot_euicc_emu.immediate_enable.smdp_address = NULL; + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.profile_aid); + ctx->iot_euicc_emu.immediate_enable.profile_aid = NULL; /* The ES10b LoadBoundProfilePackage function is a pseudo function that only exists as a placeholder in the * specification. In practice it is just a STORE DATA command that carries a profile segment without any @@ -94,10 +94,10 @@ if (rc < 0) goto error; - /* In case IoT eUICC emulation is active, collect auto enable data to support the emulation of + /* In case IoT eUICC emulation is active, collect immediate enable data to support the emulation of * the ES10b function EnableUsingDD. */ if (ctx->cfg->iot_euicc_emu_enabled) - collect_auto_enable_data_from_prfle_inst_rslt(ctx, res->res); + collect_immediate_enable_data_from_prfle_inst_rslt(ctx, res->res); } IPA_FREE(es10b_res); diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c b/src/ipa/libipa/es10b_load_euicc_pkg.c index c25ebc9..fd3f1df 100644 --- a/src/ipa/libipa/es10b_load_euicc_pkg.c +++ b/src/ipa/libipa/es10b_load_euicc_pkg.c @@ -242,21 +242,21 @@ /* Update immediateEnableFlag */ if (configureImmediateEnable_psmo->immediateEnableFlag) - ctx->nvstate.iot_euicc_emu.auto_enable.flag = true; + ctx->nvstate.iot_euicc_emu.immediate_enable.flag = true; else - ctx->nvstate.iot_euicc_emu.auto_enable.flag = false; + ctx->nvstate.iot_euicc_emu.immediate_enable.flag = false; /* Update smdpOid */ - ipa_buf_free(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid); - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = NULL; + ipa_buf_free(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid); + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid = NULL; if (configureImmediateEnable_psmo->smdpOid) - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_oid = IPA_BUF_FROM_ASN(configureImmediateEnable_psmo->smdpOid); + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_oid = IPA_BUF_FROM_ASN(configureImmediateEnable_psmo->smdpOid); /* Update smdpAddress */ - ipa_buf_free(ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address); - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address = NULL; + ipa_buf_free(ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address); + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address = NULL; if (configureImmediateEnable_psmo->smdpAddress) - ctx->nvstate.iot_euicc_emu.auto_enable.smdp_address = + ctx->nvstate.iot_euicc_emu.immediate_enable.smdp_address = IPA_BUF_FROM_ASN(configureImmediateEnable_psmo->smdpAddress); euicc_result_data->choice.configureImmediateEnableResult = ConfigureImmediateEnableResult_ok; diff --git a/src/ipa/libipa/ipad.c b/src/ipa/libipa/ipad.c index fa1fb21..5d4c0a9 100644 --- a/src/ipa/libipa/ipad.c +++ b/src/ipa/libipa/ipad.c @@ -38,8 +38,8 @@ { /* free dynamically allocated struct members (append code for new members here) */ IPA_FREE(nvstate->iot_euicc_emu.eim_cfg_ber); - IPA_FREE(nvstate->iot_euicc_emu.auto_enable.smdp_oid); - IPA_FREE(nvstate->iot_euicc_emu.auto_enable.smdp_address); + IPA_FREE(nvstate->iot_euicc_emu.immediate_enable.smdp_oid); + IPA_FREE(nvstate->iot_euicc_emu.immediate_enable.smdp_address); } static void nvstate_reset(struct ipa_nvstate *nvstate) @@ -77,8 +77,8 @@ /* serialize dynamically allocated struct members (append code for new members here) */ nvstate_bin = nvstate_serialize_ipa_buf(nvstate_bin, nvstate->iot_euicc_emu.eim_cfg_ber); - nvstate_bin = nvstate_serialize_ipa_buf(nvstate_bin, nvstate->iot_euicc_emu.auto_enable.smdp_oid); - nvstate_bin = nvstate_serialize_ipa_buf(nvstate_bin, nvstate->iot_euicc_emu.auto_enable.smdp_address); + nvstate_bin = nvstate_serialize_ipa_buf(nvstate_bin, nvstate->iot_euicc_emu.immediate_enable.smdp_oid); + nvstate_bin = nvstate_serialize_ipa_buf(nvstate_bin, nvstate->iot_euicc_emu.immediate_enable.smdp_address); return nvstate_bin; } @@ -126,8 +126,8 @@ /* deserialize dynamically allocated struct members (append code for new members here) */ nvstate->iot_euicc_emu.eim_cfg_ber = nvstate_deserialize_ipa_buf(&nvstate_data, &nvstate_data_len); - nvstate->iot_euicc_emu.auto_enable.smdp_oid = nvstate_deserialize_ipa_buf(&nvstate_data, &nvstate_data_len); - nvstate->iot_euicc_emu.auto_enable.smdp_address = nvstate_deserialize_ipa_buf(&nvstate_data, &nvstate_data_len); + nvstate->iot_euicc_emu.immediate_enable.smdp_oid = nvstate_deserialize_ipa_buf(&nvstate_data, &nvstate_data_len); + nvstate->iot_euicc_emu.immediate_enable.smdp_address = nvstate_deserialize_ipa_buf(&nvstate_data, &nvstate_data_len); } /*! Read eIM configuration from eUICC and pick a suitable eIM. @@ -252,14 +252,14 @@ * \param[inout] default_smdp_addr apply reset option "resetDefaultSmdpAddress". * \returns 0 on success, negative on error. */ int ipa_euicc_mem_rst(struct ipa_context *ctx, bool operatnl_profiles, bool test_profiles, bool default_smdp_addr, - bool eim_cfg_data, bool auto_enable_cfg) + bool eim_cfg_data, bool immediate_enable_cfg) { struct ipa_es10b_euicc_mem_rst euicc_mem_rst = { 0 }; euicc_mem_rst.operatnl_profiles = operatnl_profiles; euicc_mem_rst.test_profiles = test_profiles; euicc_mem_rst.default_smdp_addr = default_smdp_addr; euicc_mem_rst.eim_cfg_data = eim_cfg_data; - euicc_mem_rst.auto_enable_cfg = auto_enable_cfg; + euicc_mem_rst.immediate_enable_cfg = immediate_enable_cfg; return ipa_es10b_euicc_mem_rst(ctx, &euicc_mem_rst); } @@ -346,9 +346,9 @@ nvstate = nvstate_serialize(&ctx->nvstate); IPA_FREE(ctx->iot_euicc_emu.rollback_iccid); - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_oid); - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.smdp_address); - ipa_buf_free(ctx->iot_euicc_emu.auto_enable.profile_aid); + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_oid); + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.smdp_address); + ipa_buf_free(ctx->iot_euicc_emu.immediate_enable.profile_aid); IPA_FREE(ctx->eim_id); IPA_FREE(ctx->eim_fqdn); ipa_proc_eucc_pkg_dwnld_exec_res_free(ctx->proc_eucc_pkg_dwnld_exec_res); -- To view, visit
https://gerrit.osmocom.org/c/onomondo-ipa/+/43024?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: onomondo-ipa Gerrit-Branch: master Gerrit-Change-Id: Iad212f9b3e4430d4eaa6d4afdac0e73009275dfb Gerrit-Change-Number: 43024 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu>
1
0
0
0
← Newer
1
...
10
11
12
13
14
15
16
...
51
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Results per page:
10
25
50
100
200