laforge submitted this change.

View Change



2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.

Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified
euicc: Fix eUICC list_notifications command

Prior to this patch, the command would always raise exceptions.

Change-Id: I75a7840c3f4b68bfc164a43908b100dd6e41e575
---
M pySim/euicc.py
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/pySim/euicc.py b/pySim/euicc.py
index e45476f..e405f30 100644
--- a/pySim/euicc.py
+++ b/pySim/euicc.py
@@ -141,12 +141,13 @@

# SGP.22 Section 5.7.9: ListNotification
class ProfileMgmtOperation(BER_TLV_IE, tag=0x81):
- _construct = FlagsEnum(Byte, install=1, enable=2, disable=4, delete=8)
+ # we have to ignore the first byte which tells us how many padding bits are used in the last octet
+ _construct = Struct(Byte, "pmo"/FlagsEnum(Byte, install=0x80, enable=0x40, disable=0x20, delete=0x10))
class ListNotificationReq(BER_TLV_IE, tag=0xbf28, nested=[ProfileMgmtOperation]):
pass
class SeqNumber(BER_TLV_IE, tag=0x80):
- _construct = GreedyInteger
-class NotificationAddress(BER_TLV_IE, tag=0x82):
+ _construct = GreedyInteger()
+class NotificationAddress(BER_TLV_IE, tag=0x0c):
_construct = Utf8Adapter(GreedyBytes)
class Iccid(BER_TLV_IE, tag=0x5a):
_construct = BcdAdapter(GreedyBytes)

To view, visit change 35498. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I75a7840c3f4b68bfc164a43908b100dd6e41e575
Gerrit-Change-Number: 35498
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-MessageType: merged