jolly has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/onomondo-ipa/+/43063?usp=email )


Change subject: V1.2: Add eimTransactionId to EuiccPackageErrorUnsigned
......................................................................

V1.2: Add eimTransactionId to EuiccPackageErrorUnsigned

Add new field eimTransactionId to EuiccPackageErrorUnsigned. The IoT
eUICC emulation set this field, if found in EuiccPackageSigned of
EuiccPackageRequest.

Reference: SGP.23 Section 2.11.2.1

Related: SYS#8101
Change-Id: Idfd596c56ef8cfe745f96cbaa6b8a5537927a919
---
M asn1/SGP32Definitions.asn
M src/ipa/libasn/EuiccPackageErrorUnsigned.c
M src/ipa/libasn/EuiccPackageErrorUnsigned.h
M src/ipa/libipa/es10b_load_euicc_pkg.c
4 files changed, 24 insertions(+), 7 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/63/43063/1

diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn
index b6cd8a5..ef3bc90 100644
--- a/asn1/SGP32Definitions.asn
+++ b/asn1/SGP32Definitions.asn
@@ -201,6 +201,7 @@
 EuiccPackageErrorCode ::= INTEGER { invalidEid(3), replayError(4), 
counterValueOutOfRange(6), sizeOverflow(15), undefinedError(127)}
 EuiccPackageErrorUnsigned ::= SEQUENCE {
   eimId [0] UTF8String (SIZE(1..128)),
+  eimTransactionId [2] TransactionId OPTIONAL,
   associationToken [4] INTEGER OPTIONAL
 }
 ConfigureImmediateEnableResult ::= INTEGER {
diff --git a/src/ipa/libasn/EuiccPackageErrorUnsigned.c 
b/src/ipa/libasn/EuiccPackageErrorUnsigned.c
index bf168e3..e3c5131 100644
--- a/src/ipa/libasn/EuiccPackageErrorUnsigned.c
+++ b/src/ipa/libasn/EuiccPackageErrorUnsigned.c
@@ -57,6 +57,15 @@
                0, 0, /* No default value */
                "eimId"
                },
+       { ATF_POINTER, 2, offsetof(struct EuiccPackageErrorUnsigned, 
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 */
+               "eimTransactionId"
+               },
        { ATF_POINTER, 1, offsetof(struct EuiccPackageErrorUnsigned, 
associationToken),
                (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
                -1,     /* IMPLICIT tag at current level */
@@ -67,22 +76,23 @@
                "associationToken"
                },
 };
-static const int asn_MAP_EuiccPackageErrorUnsigned_oms_1[] = { 1 };
+static const int asn_MAP_EuiccPackageErrorUnsigned_oms_1[] = { 1, 2 };
 static const ber_tlv_tag_t asn_DEF_EuiccPackageErrorUnsigned_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t 
asn_MAP_EuiccPackageErrorUnsigned_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eimId */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 } /* associationToken */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* eimTransactionId */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* associationToken */
 };
 asn_SEQUENCE_specifics_t asn_SPC_EuiccPackageErrorUnsigned_specs_1 = {
        sizeof(struct EuiccPackageErrorUnsigned),
        offsetof(struct EuiccPackageErrorUnsigned, _asn_ctx),
        asn_MAP_EuiccPackageErrorUnsigned_tag2el_1,
-       2,      /* Count of tags in the map */
+       3,      /* Count of tags in the map */
        asn_MAP_EuiccPackageErrorUnsigned_oms_1,        /* Optional members */
-       1, 0,   /* Root/Additions */
-       2,      /* First extension addition */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_EuiccPackageErrorUnsigned = {
        "EuiccPackageErrorUnsigned",
@@ -96,7 +106,7 @@
                /sizeof(asn_DEF_EuiccPackageErrorUnsigned_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_EuiccPackageErrorUnsigned_1,
-       2,      /* Elements count */
+       3,      /* Elements count */
        &asn_SPC_EuiccPackageErrorUnsigned_specs_1      /* Additional specs */
 };

diff --git a/src/ipa/libasn/EuiccPackageErrorUnsigned.h 
b/src/ipa/libasn/EuiccPackageErrorUnsigned.h
index 5ec7d7b..f25e9cc 100644
--- a/src/ipa/libasn/EuiccPackageErrorUnsigned.h
+++ b/src/ipa/libasn/EuiccPackageErrorUnsigned.h
@@ -13,6 +13,7 @@

 /* Including external dependencies */
 #include <UTF8String.h>
+#include "TransactionId.h"
 #include <NativeInteger.h>
 #include <constr_SEQUENCE.h>

@@ -23,6 +24,7 @@
 /* EuiccPackageErrorUnsigned */
 typedef struct EuiccPackageErrorUnsigned {
        UTF8String_t     eimId;
+       TransactionId_t *eimTransactionId       /* OPTIONAL */;
        long    *associationToken       /* OPTIONAL */;
        /*
         * This type is extensible,
@@ -36,7 +38,7 @@
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_EuiccPackageErrorUnsigned;
 extern asn_SEQUENCE_specifics_t asn_SPC_EuiccPackageErrorUnsigned_specs_1;
-extern asn_TYPE_member_t asn_MBR_EuiccPackageErrorUnsigned_1[2];
+extern asn_TYPE_member_t asn_MBR_EuiccPackageErrorUnsigned_1[3];

 #ifdef __cplusplus
 }
diff --git a/src/ipa/libipa/es10b_load_euicc_pkg.c 
b/src/ipa/libipa/es10b_load_euicc_pkg.c
index abed9f6..6f3e91c 100644
--- a/src/ipa/libipa/es10b_load_euicc_pkg.c
+++ b/src/ipa/libipa/es10b_load_euicc_pkg.c
@@ -710,6 +710,10 @@
        asn->present = EuiccPackageResult_PR_euiccPackageErrorUnsigned;
        ipa_buf_assign(&eim_id, (uint8_t *) ctx->eim_id, strlen(ctx->eim_id));
        IPA_COPY_IPA_BUF_TO_ASN(&asn->choice.euiccPackageErrorUnsigned.eimId, 
&eim_id);
+       if (req->req.euiccPackageSigned.eimTransactionId) {
+               asn->choice.euiccPackageErrorUnsigned.eimTransactionId =
+                   ipa_asn1c_dup(&asn_DEF_TransactionId, 
req->req.euiccPackageSigned.eimTransactionId);
+       }
        return res;
 }


--
To view, visit https://gerrit.osmocom.org/c/onomondo-ipa/+/43063?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: Idfd596c56ef8cfe745f96cbaa6b8a5537927a919
Gerrit-Change-Number: 43063
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <[email protected]>

Reply via email to