personalization: set some typical parameter names
These names better match what humans expect to read, for example "PIN1" instead of "Pin1". (We still fall back to the __class__.__name__ if a subclass omits a specific name, see the ConfigurableParameter init.) Change-Id: I31f390d634e58c384589c50a33ca45d6f86d4e10
This commit is contained in:
@@ -303,6 +303,7 @@ class BinaryParam(ConfigurableParameter):
|
|||||||
class Iccid(DecimalParam):
|
class Iccid(DecimalParam):
|
||||||
"""ICCID Parameter. Input: string of decimal digits.
|
"""ICCID Parameter. Input: string of decimal digits.
|
||||||
If the string of digits is only 18 digits long, add a Luhn check digit."""
|
If the string of digits is only 18 digits long, add a Luhn check digit."""
|
||||||
|
name = 'ICCID'
|
||||||
min_len = 18
|
min_len = 18
|
||||||
max_len = 20
|
max_len = 20
|
||||||
|
|
||||||
@@ -321,6 +322,8 @@ class Iccid(DecimalParam):
|
|||||||
class Imsi(DecimalParam):
|
class Imsi(DecimalParam):
|
||||||
"""Configurable IMSI. Expects value to be a string of digits. Automatically sets the ACC to
|
"""Configurable IMSI. Expects value to be a string of digits. Automatically sets the ACC to
|
||||||
the last digit of the IMSI."""
|
the last digit of the IMSI."""
|
||||||
|
|
||||||
|
name = 'IMSI'
|
||||||
min_len = 6
|
min_len = 6
|
||||||
max_len = 15
|
max_len = 15
|
||||||
|
|
||||||
@@ -339,12 +342,13 @@ class SmspTpScAddr(ConfigurableParameter):
|
|||||||
"""Configurable SMSC (SMS Service Centre) TP-SC-ADDR. Expects to be a phone number in national or
|
"""Configurable SMSC (SMS Service Centre) TP-SC-ADDR. Expects to be a phone number in national or
|
||||||
international format (designated by a leading +). Automatically sets the NPI to E.164 and the TON based on
|
international format (designated by a leading +). Automatically sets the NPI to E.164 and the TON based on
|
||||||
presence or absence of leading +."""
|
presence or absence of leading +."""
|
||||||
|
|
||||||
|
name = 'SMSP-TP-SC-ADDR'
|
||||||
allow_chars = '+0123456789'
|
allow_chars = '+0123456789'
|
||||||
strip_chars = ' \t\r\n'
|
strip_chars = ' \t\r\n'
|
||||||
max_len = 21 # '+' and 20 digits
|
max_len = 21 # '+' and 20 digits
|
||||||
min_len = 1
|
min_len = 1
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def validate_val(cls, val):
|
def validate_val(cls, val):
|
||||||
val = super().validate_val(val)
|
val = super().validate_val(val)
|
||||||
@@ -507,9 +511,11 @@ class Puk(DecimalHexParam):
|
|||||||
f" cannot find pukCode with keyReference={cls.keyReference}")
|
f" cannot find pukCode with keyReference={cls.keyReference}")
|
||||||
|
|
||||||
class Puk1(Puk):
|
class Puk1(Puk):
|
||||||
|
name = 'PUK1'
|
||||||
keyReference = 0x01
|
keyReference = 0x01
|
||||||
|
|
||||||
class Puk2(Puk):
|
class Puk2(Puk):
|
||||||
|
name = 'PUK2'
|
||||||
keyReference = 0x81
|
keyReference = 0x81
|
||||||
|
|
||||||
class Pin(DecimalHexParam):
|
class Pin(DecimalHexParam):
|
||||||
@@ -539,9 +545,11 @@ class Pin(DecimalHexParam):
|
|||||||
+ f' {cls.get_name()} cannot find pinCode with keyReference={cls.keyReference}')
|
+ f' {cls.get_name()} cannot find pinCode with keyReference={cls.keyReference}')
|
||||||
|
|
||||||
class Pin1(Pin):
|
class Pin1(Pin):
|
||||||
|
name = 'PIN1'
|
||||||
keyReference = 0x01
|
keyReference = 0x01
|
||||||
|
|
||||||
class Pin2(Pin):
|
class Pin2(Pin):
|
||||||
|
name = 'PIN2'
|
||||||
keyReference = 0x81
|
keyReference = 0x81
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -557,9 +565,11 @@ class Pin2(Pin):
|
|||||||
+ f' {cls.get_name()} cannot find pinCode with keyReference={cls.keyReference} in {naa=}')
|
+ f' {cls.get_name()} cannot find pinCode with keyReference={cls.keyReference} in {naa=}')
|
||||||
|
|
||||||
class Adm1(Pin):
|
class Adm1(Pin):
|
||||||
|
name = 'ADM1'
|
||||||
keyReference = 0x0A
|
keyReference = 0x0A
|
||||||
|
|
||||||
class Adm2(Pin):
|
class Adm2(Pin):
|
||||||
|
name = 'ADM2'
|
||||||
keyReference = 0x0B
|
keyReference = 0x0B
|
||||||
|
|
||||||
class AlgoConfig(ConfigurableParameter):
|
class AlgoConfig(ConfigurableParameter):
|
||||||
@@ -593,16 +603,19 @@ class AlgorithmID(DecimalParam, AlgoConfig):
|
|||||||
|
|
||||||
class K(BinaryParam, AlgoConfig):
|
class K(BinaryParam, AlgoConfig):
|
||||||
"""use validate_val() from BinaryParam, and apply_val() from AlgoConfig"""
|
"""use validate_val() from BinaryParam, and apply_val() from AlgoConfig"""
|
||||||
|
name = 'K'
|
||||||
algo_config_key = 'key'
|
algo_config_key = 'key'
|
||||||
allow_len = (128 // 8, 256 // 8) # length in bytes (from BinaryParam); TUAK also allows 256 bit
|
allow_len = (128 // 8, 256 // 8) # length in bytes (from BinaryParam); TUAK also allows 256 bit
|
||||||
|
|
||||||
class Opc(K):
|
class Opc(K):
|
||||||
|
name = 'OPc'
|
||||||
algo_config_key = 'opc'
|
algo_config_key = 'opc'
|
||||||
|
|
||||||
class MilenageRotationConstants(BinaryParam, AlgoConfig):
|
class MilenageRotationConstants(BinaryParam, AlgoConfig):
|
||||||
"""rotation constants r1,r2,r3,r4,r5 of Milenage, Range 0..127. See 3GPP TS 35.206 Sections 2.3 + 5.3.
|
"""rotation constants r1,r2,r3,r4,r5 of Milenage, Range 0..127. See 3GPP TS 35.206 Sections 2.3 + 5.3.
|
||||||
Provided as octet-string concatenation of all 5 constants. Expects a bytes-like object of length 5, with
|
Provided as octet-string concatenation of all 5 constants. Expects a bytes-like object of length 5, with
|
||||||
each byte in the range of 0..127. The default value by 3GPP is '4000204060' (hex notation)"""
|
each byte in the range of 0..127. The default value by 3GPP is '4000204060' (hex notation)"""
|
||||||
|
name = 'MilenageRotation'
|
||||||
algo_config_key = 'rotationConstants'
|
algo_config_key = 'rotationConstants'
|
||||||
allow_len = 5 # length in bytes (from BinaryParam)
|
allow_len = 5 # length in bytes (from BinaryParam)
|
||||||
|
|
||||||
@@ -625,11 +638,13 @@ class MilenageXoringConstants(BinaryParam, AlgoConfig):
|
|||||||
00000000000000000000000000000004
|
00000000000000000000000000000004
|
||||||
00000000000000000000000000000008
|
00000000000000000000000000000008
|
||||||
"""
|
"""
|
||||||
|
name = 'MilenageXOR'
|
||||||
algo_config_key = 'xoringConstants'
|
algo_config_key = 'xoringConstants'
|
||||||
allow_len = 80 # length in bytes (from BinaryParam)
|
allow_len = 80 # length in bytes (from BinaryParam)
|
||||||
|
|
||||||
class TuakNumberOfKeccak(IntegerParam, AlgoConfig):
|
class TuakNumberOfKeccak(IntegerParam, AlgoConfig):
|
||||||
"""Number of iterations of Keccak-f[1600] permutation as recomended by Section 7.2 of 3GPP TS 35.231"""
|
"""Number of iterations of Keccak-f[1600] permutation as recomended by Section 7.2 of 3GPP TS 35.231"""
|
||||||
|
name = 'KECCAK-N'
|
||||||
algo_config_key = 'numberOfKeccak'
|
algo_config_key = 'numberOfKeccak'
|
||||||
min_val = 1
|
min_val = 1
|
||||||
max_val = 255
|
max_val = 255
|
||||||
|
|||||||
Reference in New Issue
Block a user