ATR: align get_atr() return value type
type annotations claimed the return type was Hexstr, but in reality it was a list of integers. Let's fix that. Change-Id: I01b247dad40ec986cf199302f8e92d16848bd499 Closes: OS#6322
This commit is contained in:
committed by
Philipp Maier
parent
d871e4696f
commit
08ba187fd4
@@ -294,7 +294,7 @@ Online manual available at https://downloads.osmocom.org/docs/pysim/master/html/
|
|||||||
if self.rs is None:
|
if self.rs is None:
|
||||||
# In case no runtime state is available we go the direct route
|
# In case no runtime state is available we go the direct route
|
||||||
self.card._scc.reset_card()
|
self.card._scc.reset_card()
|
||||||
atr = b2h(self.card._scc.get_atr())
|
atr = self.card._scc.get_atr()
|
||||||
else:
|
else:
|
||||||
atr = self.rs.reset(self)
|
atr = self.rs.reset(self)
|
||||||
self.poutput('Card ATR: %s' % atr)
|
self.poutput('Card ATR: %s' % atr)
|
||||||
|
|||||||
@@ -1530,8 +1530,7 @@ class CardModel(abc.ABC):
|
|||||||
"""Test if given card matches this model."""
|
"""Test if given card matches this model."""
|
||||||
card_atr = scc.get_atr()
|
card_atr = scc.get_atr()
|
||||||
for atr in cls._atrs:
|
for atr in cls._atrs:
|
||||||
atr_bin = toBytes(atr)
|
if atr == card_atr:
|
||||||
if atr_bin == card_atr:
|
|
||||||
print("Detected CardModel:", cls.__name__)
|
print("Detected CardModel:", cls.__name__)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
import abc
|
import abc
|
||||||
from smartcard.util import toBytes
|
|
||||||
from pytlv.TLV import *
|
from pytlv.TLV import *
|
||||||
|
|
||||||
from pySim.cards import SimCardBase, UiccCardBase
|
from pySim.cards import SimCardBase, UiccCardBase
|
||||||
@@ -781,7 +780,7 @@ class SysmoSIMgr1(GrcardSim):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b991800118822334455667760"):
|
if scc.get_atr() == "3b991800118822334455667760":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -826,7 +825,7 @@ class SysmoSIMgr2(SimCard):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b7d9400005555530a7486930b247c4d5468"):
|
if scc.get_atr() == "3b7d9400005555530a7486930b247c4d5468":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -904,7 +903,7 @@ class SysmoUSIMSJS1(UsimCard):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b9f96801fc78031a073be21136743200718000001a5"):
|
if scc.get_atr() == "3b9f96801fc78031a073be21136743200718000001a5":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1032,7 +1031,7 @@ class FairwavesSIM(UsimCard):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b9f96801fc78031a073be21136744220610000001a9"):
|
if scc.get_atr() == "3b9f96801fc78031a073be21136744220610000001a9":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1166,7 +1165,7 @@ class OpenCellsSim(SimCard):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b9f95801fc38031e073fe21135786810286984418a8"):
|
if scc.get_atr() == "3b9f95801fc38031e073fe21135786810286984418a8":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1215,7 +1214,7 @@ class WavemobileSim(UsimCard):
|
|||||||
def autodetect(kls, scc):
|
def autodetect(kls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes("3b9f95801fc78031e073f62113674d4516004301008f"):
|
if scc.get_atr() == "3b9f95801fc78031e073f62113674d4516004301008f":
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1306,17 +1305,17 @@ class SysmoISIMSJA2(UsimCard, IsimCard):
|
|||||||
try:
|
try:
|
||||||
# Try card model #1
|
# Try card model #1
|
||||||
atr = "3b9f96801f878031e073fe211b674a4c753034054ba9"
|
atr = "3b9f96801f878031e073fe211b674a4c753034054ba9"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
|
|
||||||
# Try card model #2
|
# Try card model #2
|
||||||
atr = "3b9f96801f878031e073fe211b674a4c7531330251b2"
|
atr = "3b9f96801f878031e073fe211b674a4c7531330251b2"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
|
|
||||||
# Try card model #3
|
# Try card model #3
|
||||||
atr = "3b9f96801f878031e073fe211b674a4c5275310451d5"
|
atr = "3b9f96801f878031e073fe211b674a4c5275310451d5"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1555,15 +1554,15 @@ class SysmoISIMSJA5(SysmoISIMSJA2):
|
|||||||
try:
|
try:
|
||||||
# Try card model #1 (9FJ)
|
# Try card model #1 (9FJ)
|
||||||
atr = "3b9f96801f878031e073fe211b674a357530350251cc"
|
atr = "3b9f96801f878031e073fe211b674a357530350251cc"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
# Try card model #2 (SLM17)
|
# Try card model #2 (SLM17)
|
||||||
atr = "3b9f96801f878031e073fe211b674a357530350265f8"
|
atr = "3b9f96801f878031e073fe211b674a357530350265f8"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
# Try card model #3 (9FV)
|
# Try card model #3 (9FV)
|
||||||
atr = "3b9f96801f878031e073fe211b674a357530350259c4"
|
atr = "3b9f96801f878031e073fe211b674a357530350259c4"
|
||||||
if scc.get_atr() == toBytes(atr):
|
if scc.get_atr() == atr:
|
||||||
return kls(scc)
|
return kls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
@@ -1592,7 +1591,7 @@ class GialerSim(UsimCard):
|
|||||||
def autodetect(cls, scc):
|
def autodetect(cls, scc):
|
||||||
try:
|
try:
|
||||||
# Look for ATR
|
# Look for ATR
|
||||||
if scc.get_atr() == toBytes('3b9f95801fc78031a073b6a10067cf3215ca9cd70920'):
|
if scc.get_atr() == '3b9f95801fc78031a073b6a10067cf3215ca9cd70920':
|
||||||
return cls(scc)
|
return cls(scc)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ class RuntimeState:
|
|||||||
continue
|
continue
|
||||||
del self.lchan[lchan_nr]
|
del self.lchan[lchan_nr]
|
||||||
self.adm_verified = False
|
self.adm_verified = False
|
||||||
atr = i2h(self.card.reset())
|
atr = self.card.reset()
|
||||||
if cmd_app:
|
if cmd_app:
|
||||||
cmd_app.lchan = self.lchan[0]
|
cmd_app.lchan = self.lchan[0]
|
||||||
# select MF to reset internal state and to verify card really works
|
# select MF to reset internal state and to verify card really works
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ class PcscSimLink(LinkBaseTpdu):
|
|||||||
raise NoCardError() from exc
|
raise NoCardError() from exc
|
||||||
|
|
||||||
def get_atr(self) -> Hexstr:
|
def get_atr(self) -> Hexstr:
|
||||||
return self._con.getATR()
|
return i2h(self._con.getATR())
|
||||||
|
|
||||||
def disconnect(self):
|
def disconnect(self):
|
||||||
self._con.disconnect()
|
self._con.disconnect()
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import os
|
|||||||
import argparse
|
import argparse
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
import serial
|
import serial
|
||||||
from osmocom.utils import h2b, b2h, Hexstr
|
from osmocom.utils import h2b, b2h, i2h, Hexstr
|
||||||
|
|
||||||
from pySim.exceptions import NoCardError, ProtocolError
|
from pySim.exceptions import NoCardError, ProtocolError
|
||||||
from pySim.transport import LinkBaseTpdu
|
from pySim.transport import LinkBaseTpdu
|
||||||
@@ -96,7 +96,7 @@ class SerialSimLink(LinkBaseTpdu):
|
|||||||
self.reset_card()
|
self.reset_card()
|
||||||
|
|
||||||
def get_atr(self) -> Hexstr:
|
def get_atr(self) -> Hexstr:
|
||||||
return self._atr
|
return i2h(self._atr)
|
||||||
|
|
||||||
def disconnect(self):
|
def disconnect(self):
|
||||||
pass # Nothing to do really ...
|
pass # Nothing to do really ...
|
||||||
|
|||||||
Reference in New Issue
Block a user