dexter has uploaded this change for review.
pySim-shell: prevent opening/closing logical channel 0
The basic logical channel 0 is always present. It cannot be created or
closed. In case someone tries to create or close it anyway, we should
reject such a command immediately since it might cause unexpected
effects.
Related: OS#6531
Change-Id: I4eebd9f15fadd18e1caeb033fda36c59446fcab8
---
M pySim-shell.py
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/37839/1
diff --git a/pySim-shell.py b/pySim-shell.py
index 630d54a..5d99d48 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -970,6 +970,8 @@
@cmd2.with_argparser(open_chan_parser)
def do_open_channel(self, opts):
"""Open a logical channel."""
+ if opts.chan_nr == 0:
+ raise RuntimeError("Cannot create (always existing) basic logical lchan 0")
(data, sw) = self._cmd.lchan.scc.manage_channel(
mode='open', lchan_nr=opts.chan_nr)
# this is executed only in successful case, as unsuccessful raises exception
@@ -982,6 +984,8 @@
@cmd2.with_argparser(close_chan_parser)
def do_close_channel(self, opts):
"""Close a logical channel."""
+ if opts.chan_nr == 0:
+ raise RuntimeError("Cannot close (always existing) basic logical lchan 0")
(data, sw) = self._cmd.lchan.scc.manage_channel(
mode='close', lchan_nr=opts.chan_nr)
# this is executed only in successful case, as unsuccessful raises exception
To view, visit change 37839. To unsubscribe, or for help writing mail filters, visit settings.