From bdf595756ec344cad9db619bff578466c338b855 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 21 Oct 2023 20:06:19 +0200 Subject: [PATCH] pySim-shell: Create/delete RuntimeLchan objects on open/close of channel We already have the open channel and close_channel commands in pySim-shell. They are sent to the card and acknowledged, respectively. We also already do have code that can track multiple different logical channels (the rs.lchan array). However, this is currently only used by pySim-trace, and not by pySim-shell. Let's change that. Change-Id: Idacee2dc57e8afe85c79bc85b259064e7f5b83a2 Related: OS#6230 --- pySim-shell.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pySim-shell.py b/pySim-shell.py index a79949c0..867795cf 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -948,6 +948,8 @@ class Iso7816Commands(CommandSet): """Open a logical channel.""" (data, sw) = self._cmd.card._scc.manage_channel( mode='open', lchan_nr=opts.chan_nr) + # this is executed only in successful case, as unsuccessful raises exception + self._cmd.lchan.add_lchan(opts.chan_nr) close_chan_parser = argparse.ArgumentParser() close_chan_parser.add_argument( @@ -958,6 +960,8 @@ class Iso7816Commands(CommandSet): """Close a logical channel.""" (data, sw) = self._cmd.card._scc.manage_channel( mode='close', lchan_nr=opts.chan_nr) + # this is executed only in successful case, as unsuccessful raises exception + self._cmd.rs.del_lchan(opts.chan_nr) def do_status(self, opts): """Perform the STATUS command."""