mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-16 18:38:32 +03:00
pySim-shell: change Prompt character to "#" after "verify_adm"
Let's change the prompt from ">" to "#" when the user gains admin privilegs using verify_adm. Related: OS#6640 Change-Id: I957b9df7b5069b6fce5bf958c94e8ffda833c77f
This commit is contained in:
@@ -219,18 +219,23 @@ Online manual available at https://downloads.osmocom.org/docs/pysim/master/html/
|
|||||||
self.cmd2.poutput("<- %s: %s" % (sw, resp))
|
self.cmd2.poutput("<- %s: %s" % (sw, resp))
|
||||||
|
|
||||||
def update_prompt(self):
|
def update_prompt(self):
|
||||||
|
if self.rs and self.rs.adm_verified:
|
||||||
|
prompt_char = '#'
|
||||||
|
else:
|
||||||
|
prompt_char = '>'
|
||||||
|
|
||||||
if self.lchan:
|
if self.lchan:
|
||||||
path_str = self.lchan.selected_file.fully_qualified_path_str(not self.numeric_path)
|
path_str = self.lchan.selected_file.fully_qualified_path_str(not self.numeric_path)
|
||||||
scp = self.lchan.scc.scp
|
scp = self.lchan.scc.scp
|
||||||
if scp:
|
if scp:
|
||||||
self.prompt = 'pySIM-shell (%s:%02u:%s)> ' % (str(scp), self.lchan.lchan_nr, path_str)
|
self.prompt = 'pySIM-shell (%s:%02u:%s)%c ' % (str(scp), self.lchan.lchan_nr, path_str, prompt_char)
|
||||||
else:
|
else:
|
||||||
self.prompt = 'pySIM-shell (%02u:%s)> ' % (self.lchan.lchan_nr, path_str)
|
self.prompt = 'pySIM-shell (%02u:%s)%c ' % (self.lchan.lchan_nr, path_str, prompt_char)
|
||||||
else:
|
else:
|
||||||
if self.card:
|
if self.card:
|
||||||
self.prompt = 'pySIM-shell (no card profile)> '
|
self.prompt = 'pySIM-shell (no card profile)%c ' % prompt_char
|
||||||
else:
|
else:
|
||||||
self.prompt = 'pySIM-shell (no card)> '
|
self.prompt = 'pySIM-shell (no card)%c ' % prompt_char
|
||||||
|
|
||||||
@cmd2.with_category(CUSTOM_CATEGORY)
|
@cmd2.with_category(CUSTOM_CATEGORY)
|
||||||
def do_intro(self, _):
|
def do_intro(self, _):
|
||||||
@@ -855,6 +860,8 @@ class PySimCommands(CommandSet):
|
|||||||
self._cmd.lchan.scc.verify_chv(adm_chv_num, h2b(pin_adm))
|
self._cmd.lchan.scc.verify_chv(adm_chv_num, h2b(pin_adm))
|
||||||
else:
|
else:
|
||||||
raise ValueError("error: cannot authenticate, no adm-pin!")
|
raise ValueError("error: cannot authenticate, no adm-pin!")
|
||||||
|
self._cmd.rs.adm_verified = True
|
||||||
|
self._cmd.update_prompt()
|
||||||
|
|
||||||
def do_cardinfo(self, opts):
|
def do_cardinfo(self, opts):
|
||||||
"""Display information about the currently inserted card"""
|
"""Display information about the currently inserted card"""
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ class RuntimeState:
|
|||||||
# this is a dict of card identities which different parts of the code might populate,
|
# this is a dict of card identities which different parts of the code might populate,
|
||||||
# typically with something like ICCID, EID, ATR, ...
|
# typically with something like ICCID, EID, ATR, ...
|
||||||
self.identity = {}
|
self.identity = {}
|
||||||
|
self.adm_verified = False
|
||||||
|
|
||||||
# make sure the class and selection control bytes, which are specified
|
# make sure the class and selection control bytes, which are specified
|
||||||
# by the card profile are used
|
# by the card profile are used
|
||||||
@@ -139,6 +140,7 @@ class RuntimeState:
|
|||||||
if lchan_nr == 0:
|
if lchan_nr == 0:
|
||||||
continue
|
continue
|
||||||
del self.lchan[lchan_nr]
|
del self.lchan[lchan_nr]
|
||||||
|
self.adm_verified = False
|
||||||
atr = i2h(self.card.reset())
|
atr = i2h(self.card.reset())
|
||||||
if cmd_app:
|
if cmd_app:
|
||||||
cmd_app.lchan = self.lchan[0]
|
cmd_app.lchan = self.lchan[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user