laforge submitted this change.

View Change

Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved
apdu/ts_102_221: Implement SELECT case "df_ef_or_mf_by_file_id"

This was [sadly] simply missing from the implementation so far.

Change-Id: I7bbd13ce29f5adc1ca3ca01bffabbe02dd17db20
---
M pySim/apdu/ts_102_221.py
1 file changed, 11 insertions(+), 0 deletions(-)

diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py
index e5455d0..0ca6702 100644
--- a/pySim/apdu/ts_102_221.py
+++ b/pySim/apdu/ts_102_221.py
@@ -78,6 +78,17 @@
elif mode == 'df_ef_or_mf_by_file_id':
if len(self.cmd_data) != 2:
raise ValueError('Expecting a 2-byte FID')
+ sels = lchan.selected_file.get_selectables(['FIDS'])
+ file_hex = b2h(self.cmd_data)
+ if file_hex in sels:
+ if self.successful:
+ #print("\tSELECT %s" % sels[file_hex])
+ lchan.selected_file = sels[file_hex]
+ else:
+ #print("\tSELECT %s FAILED" % sels[file_hex])
+ pass
+ else:
+ logger.warning('SELECT UNKNOWN FID %s' % (file_hex))
elif mode == 'df_name':
# Select by AID (can be sub-string!)
aid = self.cmd_dict['body']

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

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I7bbd13ce29f5adc1ca3ca01bffabbe02dd17db20
Gerrit-Change-Number: 28766
Gerrit-PatchSet: 1
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