From 93c34aac898d0fd39e227e7f11695d83e0873a6b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 24 Jul 2022 12:23:56 +0200 Subject: [PATCH] apdu/ts_102_221: SELECT: allow select of SELF While in the pySim-shell, it's useful to filter the currently selected file from the choice of available files for select, this doesn't apply for the tracing case: It's perfectly valid for the UE to SELECT the file that's already selected right now. The operation basically becomes equivalent to a STATUS. Change-Id: I1a20fb3ba70426333ac34448c6cb782c51363965 --- pySim/apdu/ts_102_221.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py index 769c38e9..fb2f375f 100644 --- a/pySim/apdu/ts_102_221.py +++ b/pySim/apdu/ts_102_221.py @@ -66,7 +66,7 @@ class UiccSelect(ApduCommand, n='SELECT', ins=0xA4, cla=['0X', '4X', '6X']): # iterate to next element in path continue else: - sels = lchan.selected_file.get_selectables(['FIDS','MF','PARENT']) + sels = lchan.selected_file.get_selectables(['FIDS','MF','PARENT','SELF']) if file_hex in sels: if self.successful: #print("\tSELECT %s" % sels[file_hex]) @@ -80,7 +80,7 @@ class UiccSelect(ApduCommand, n='SELECT', ins=0xA4, cla=['0X', '4X', '6X']): 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','MF','PARENT']) + sels = lchan.selected_file.get_selectables(['FIDS','MF','PARENT','SELF']) file_hex = b2h(self.cmd_data) if file_hex in sels: if self.successful: