mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-19 11:58:34 +03:00
utils.py: Support IPv4 encoding for Address TLV object present in EF.ePDGId and EF.ePDGIdEm
Change-Id: Id46a44257d09c98ad5e0b7558e25e2bc52b23978
This commit is contained in:
committed by
herlesupreeth
parent
4779034f9e
commit
654eca72c9
@@ -550,10 +550,19 @@ def enc_addr_tlv(addr, addr_type='00'):
|
|||||||
|
|
||||||
s = ""
|
s = ""
|
||||||
|
|
||||||
# TODO: Encoding of IPv4 and IPv6 address
|
# TODO: Encoding of IPv6 address
|
||||||
if addr_type == '00':
|
if addr_type == '00': #FQDN
|
||||||
hex_str = s2h(addr)
|
hex_str = s2h(addr)
|
||||||
s += '80' + ('%02x' % ((len(hex_str)//2)+1)) + '00' + hex_str
|
s += '80' + ('%02x' % ((len(hex_str)//2)+1)) + '00' + hex_str
|
||||||
|
elif addr_type == '01': #IPv4
|
||||||
|
ipv4_list = addr.split('.')
|
||||||
|
ipv4_str = ""
|
||||||
|
for i in ipv4_list:
|
||||||
|
ipv4_str += ('%02x' % (int(i)))
|
||||||
|
|
||||||
|
# Unused bytes shall be set to 'ff'. i.e 4th Octet after Address Type is not used
|
||||||
|
# IPv4 Address is in octet 5 to octet 8 of the TLV data object
|
||||||
|
s += '80' + ('%02x' % ((len(ipv4_str)//2)+2)) + '01' + 'ff' + ipv4_str
|
||||||
|
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user