aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-01-08 21:22:38 +0100
committerHarald Welte <laforge@osmocom.org>2021-03-02 07:50:23 +0100
commit79b5ba4bdfb65346dc4ac9b04db5aa39593bca9a (patch)
tree1a09adcdaf62c2ae44b4cd3d562f82dba03b4cbb
parenta670425088a7f62d2f57de588ae75c0c3092fc3a (diff)
utils.py: de-couple sanitize_pin_adm from argparse 'opts'
This allows the function to be re-used in other contexts Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844
-rwxr-xr-xpySim-prog.py2
-rw-r--r--pySim/utils.py16
2 files changed, 8 insertions, 10 deletions
diff --git a/pySim-prog.py b/pySim-prog.py
index fbf2b73..4f54963 100755
--- a/pySim-prog.py
+++ b/pySim-prog.py
@@ -446,7 +446,7 @@ def gen_parameters(opts):
else:
opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)])
- pin_adm = sanitize_pin_adm(opts)
+ pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex)
# ePDG Selection Information
if opts.epdgSelection:
diff --git a/pySim/utils.py b/pySim/utils.py
index 1373551..a733d87 100644
--- a/pySim/utils.py
+++ b/pySim/utils.py
@@ -571,7 +571,7 @@ def enc_addr_tlv(addr, addr_type='00'):
return s
-def sanitize_pin_adm(opts):
+def sanitize_pin_adm(pin_adm, pin_adm_hex = None):
"""
The ADM pin can be supplied either in its hexadecimal form or as
ascii string. This function checks the supplied opts parameter and
@@ -579,19 +579,17 @@ def sanitize_pin_adm(opts):
it was originally supplied by the user
"""
- pin_adm = None
-
- if opts.pin_adm is not None:
- if len(opts.pin_adm) <= 8:
- pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm])
+ if pin_adm is not None:
+ if len(pin_adm) <= 8:
+ pin_adm = ''.join(['%02x'%(ord(x)) for x in pin_adm])
pin_adm = rpad(pin_adm, 16)
else:
raise ValueError("PIN-ADM needs to be <=8 digits (ascii)")
- if opts.pin_adm_hex is not None:
- if len(opts.pin_adm_hex) == 16:
- pin_adm = opts.pin_adm_hex
+ if pin_adm_hex is not None:
+ if len(pin_adm_hex) == 16:
+ pin_adm = pin_adm_hex
# Ensure that it's hex-encoded
try:
try_encode = h2b(pin_adm)