python3: Use bytes type for binary data
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
c0590ea903
commit
75e8c58916
@ -511,8 +511,7 @@ class KeyedMD5(BFDAuth):
|
|||||||
auth_hdr_bin = self.serialize_hdr()
|
auth_hdr_bin = self.serialize_hdr()
|
||||||
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
||||||
self.seq, self.auth_key +
|
self.seq, self.auth_key +
|
||||||
''.join(['\x00' *
|
(b'\x00' * (len(self.auth_key) - 16)))
|
||||||
(len(self.auth_key) - 16)]))
|
|
||||||
|
|
||||||
h = hashlib.md5()
|
h = hashlib.md5()
|
||||||
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
||||||
@ -551,7 +550,7 @@ class KeyedMD5(BFDAuth):
|
|||||||
auth_hdr_bin = self.serialize_hdr()
|
auth_hdr_bin = self.serialize_hdr()
|
||||||
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
||||||
self.seq, auth_key +
|
self.seq, auth_key +
|
||||||
''.join(['\x00' * (len(auth_key) - 16)]))
|
(b'\x00' * (len(auth_key) - 16)))
|
||||||
|
|
||||||
h = hashlib.md5()
|
h = hashlib.md5()
|
||||||
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
||||||
@ -662,8 +661,7 @@ class KeyedSHA1(BFDAuth):
|
|||||||
auth_hdr_bin = self.serialize_hdr()
|
auth_hdr_bin = self.serialize_hdr()
|
||||||
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
||||||
self.seq, self.auth_key +
|
self.seq, self.auth_key +
|
||||||
''.join(['\x00' *
|
(b'\x00' * (len(self.auth_key) - 20)))
|
||||||
(len(self.auth_key) - 20)]))
|
|
||||||
|
|
||||||
h = hashlib.sha1()
|
h = hashlib.sha1()
|
||||||
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
||||||
@ -702,7 +700,7 @@ class KeyedSHA1(BFDAuth):
|
|||||||
auth_hdr_bin = self.serialize_hdr()
|
auth_hdr_bin = self.serialize_hdr()
|
||||||
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
auth_data_bin = struct.pack(self._PACK_STR, self.auth_key_id, 0,
|
||||||
self.seq, auth_key +
|
self.seq, auth_key +
|
||||||
''.join(['\x00' * (len(auth_key) - 20)]))
|
(b'\x00' * (len(auth_key) - 20)))
|
||||||
|
|
||||||
h = hashlib.sha1()
|
h = hashlib.sha1()
|
||||||
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
h.update(bfd_bin + auth_hdr_bin + auth_data_bin)
|
||||||
|
@ -51,7 +51,7 @@ BGP_MSG_KEEPALIVE = 4
|
|||||||
BGP_MSG_ROUTE_REFRESH = 5 # RFC 2918
|
BGP_MSG_ROUTE_REFRESH = 5 # RFC 2918
|
||||||
|
|
||||||
_VERSION = 4
|
_VERSION = 4
|
||||||
_MARKER = 16 * '\xff'
|
_MARKER = 16 * b'\xff'
|
||||||
|
|
||||||
BGP_OPT_CAPABILITY = 2 # RFC 5492
|
BGP_OPT_CAPABILITY = 2 # RFC 5492
|
||||||
|
|
||||||
|
@ -260,9 +260,9 @@ class cc_message(operation):
|
|||||||
def __init__(self, md_lv=0, version=CFM_VERSION,
|
def __init__(self, md_lv=0, version=CFM_VERSION,
|
||||||
rdi=0, interval=_INTERVAL_1_SEC, seq_num=0, mep_id=1,
|
rdi=0, interval=_INTERVAL_1_SEC, seq_num=0, mep_id=1,
|
||||||
md_name_format=_MD_FMT_CHARACTER_STRING,
|
md_name_format=_MD_FMT_CHARACTER_STRING,
|
||||||
md_name_length=0, md_name="0",
|
md_name_length=0, md_name=b"0",
|
||||||
short_ma_name_format=_SHORT_MA_FMT_CHARACTER_STRING,
|
short_ma_name_format=_SHORT_MA_FMT_CHARACTER_STRING,
|
||||||
short_ma_name_length=0, short_ma_name="1",
|
short_ma_name_length=0, short_ma_name=b"1",
|
||||||
tlvs=None):
|
tlvs=None):
|
||||||
super(cc_message, self).__init__(md_lv, version, tlvs)
|
super(cc_message, self).__init__(md_lv, version, tlvs)
|
||||||
self._opcode = CFM_CC_MESSAGE
|
self._opcode = CFM_CC_MESSAGE
|
||||||
@ -285,7 +285,7 @@ class cc_message(operation):
|
|||||||
(md_lv_version, opcode, flags, tlv_offset, seq_num, mep_id,
|
(md_lv_version, opcode, flags, tlv_offset, seq_num, mep_id,
|
||||||
md_name_format) = struct.unpack_from(cls._PACK_STR, buf)
|
md_name_format) = struct.unpack_from(cls._PACK_STR, buf)
|
||||||
md_name_length = 0
|
md_name_length = 0
|
||||||
md_name = ""
|
md_name = b""
|
||||||
md_lv = int(md_lv_version >> 5)
|
md_lv = int(md_lv_version >> 5)
|
||||||
version = int(md_lv_version & 0x1f)
|
version = int(md_lv_version & 0x1f)
|
||||||
rdi = int(flags >> 7)
|
rdi = int(flags >> 7)
|
||||||
@ -310,9 +310,9 @@ class cc_message(operation):
|
|||||||
# ascii to text
|
# ascii to text
|
||||||
if md_name_format == cls._MD_FMT_DOMAIN_NAME_BASED_STRING or \
|
if md_name_format == cls._MD_FMT_DOMAIN_NAME_BASED_STRING or \
|
||||||
md_name_format == cls._MD_FMT_CHARACTER_STRING:
|
md_name_format == cls._MD_FMT_CHARACTER_STRING:
|
||||||
md_name = "".join(map(chr, md_name))
|
md_name = b"".join(map(six.int2byte, md_name))
|
||||||
if short_ma_name_format == cls._SHORT_MA_FMT_CHARACTER_STRING:
|
if short_ma_name_format == cls._SHORT_MA_FMT_CHARACTER_STRING:
|
||||||
short_ma_name = "".join(map(chr, short_ma_name))
|
short_ma_name = b"".join(map(six.int2byte, short_ma_name))
|
||||||
return cls(md_lv, version, rdi, interval, seq_num, mep_id,
|
return cls(md_lv, version, rdi, interval, seq_num, mep_id,
|
||||||
md_name_format, md_name_length,
|
md_name_format, md_name_length,
|
||||||
md_name,
|
md_name,
|
||||||
@ -925,7 +925,7 @@ class data_tlv(tlv):
|
|||||||
_PACK_STR = '!BH'
|
_PACK_STR = '!BH'
|
||||||
_MIN_LEN = struct.calcsize(_PACK_STR)
|
_MIN_LEN = struct.calcsize(_PACK_STR)
|
||||||
|
|
||||||
def __init__(self, length=0, data_value=""
|
def __init__(self, length=0, data_value=b""
|
||||||
):
|
):
|
||||||
super(data_tlv, self).__init__(length)
|
super(data_tlv, self).__init__(length)
|
||||||
self._type = CFM_DATA_TLV
|
self._type = CFM_DATA_TLV
|
||||||
@ -1171,9 +1171,9 @@ class organization_specific_tlv(tlv):
|
|||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
length=0,
|
length=0,
|
||||||
oui="\x00\x00\x00",
|
oui=b"\x00\x00\x00",
|
||||||
subtype=0,
|
subtype=0,
|
||||||
value=""
|
value=b""
|
||||||
):
|
):
|
||||||
super(organization_specific_tlv, self).__init__(length)
|
super(organization_specific_tlv, self).__init__(length)
|
||||||
self._type = CFM_ORGANIZATION_SPECIFIC_TLV
|
self._type = CFM_ORGANIZATION_SPECIFIC_TLV
|
||||||
@ -1184,7 +1184,7 @@ class organization_specific_tlv(tlv):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def parser(cls, buf):
|
def parser(cls, buf):
|
||||||
(type_, length, oui, subtype) = struct.unpack_from(cls._PACK_STR, buf)
|
(type_, length, oui, subtype) = struct.unpack_from(cls._PACK_STR, buf)
|
||||||
value = ""
|
value = b""
|
||||||
if length > cls._OUI_AND_SUBTYPE_LEN:
|
if length > cls._OUI_AND_SUBTYPE_LEN:
|
||||||
form = "%ds" % (length - cls._OUI_AND_SUBTYPE_LEN)
|
form = "%ds" % (length - cls._OUI_AND_SUBTYPE_LEN)
|
||||||
(value,) = struct.unpack_from(form, buf, cls._MIN_LEN)
|
(value,) = struct.unpack_from(form, buf, cls._MIN_LEN)
|
||||||
|
@ -149,7 +149,7 @@ class dhcp(packet_base.PacketBase):
|
|||||||
def __init__(self, op, chaddr, options, htype=_HARDWARE_TYPE_ETHERNET,
|
def __init__(self, op, chaddr, options, htype=_HARDWARE_TYPE_ETHERNET,
|
||||||
hlen=0, hops=0, xid=None, secs=0, flags=0,
|
hlen=0, hops=0, xid=None, secs=0, flags=0,
|
||||||
ciaddr='0.0.0.0', yiaddr='0.0.0.0', siaddr='0.0.0.0',
|
ciaddr='0.0.0.0', yiaddr='0.0.0.0', siaddr='0.0.0.0',
|
||||||
giaddr='0.0.0.0', sname='', boot_file=''):
|
giaddr='0.0.0.0', sname=b'', boot_file=b''):
|
||||||
super(dhcp, self).__init__()
|
super(dhcp, self).__init__()
|
||||||
self.op = op
|
self.op = op
|
||||||
self.htype = htype
|
self.htype = htype
|
||||||
|
@ -206,7 +206,7 @@ class opt_header(header):
|
|||||||
buf = bytearray(buf)
|
buf = bytearray(buf)
|
||||||
if self.data is None:
|
if self.data is None:
|
||||||
self.data = [option(type_=1, len_=4,
|
self.data = [option(type_=1, len_=4,
|
||||||
data='\x00\x00\x00\x00')]
|
data=b'\x00\x00\x00\x00')]
|
||||||
for opt in self.data:
|
for opt in self.data:
|
||||||
buf.extend(opt.serialize())
|
buf.extend(opt.serialize())
|
||||||
return buf
|
return buf
|
||||||
@ -565,7 +565,7 @@ class auth(header):
|
|||||||
_MIN_LEN = struct.calcsize(_PACK_STR)
|
_MIN_LEN = struct.calcsize(_PACK_STR)
|
||||||
|
|
||||||
def __init__(self, nxt=inet.IPPROTO_TCP, size=2, spi=0, seq=0,
|
def __init__(self, nxt=inet.IPPROTO_TCP, size=2, spi=0, seq=0,
|
||||||
data='\x00\x00\x00\x00'):
|
data=b'\x00\x00\x00\x00'):
|
||||||
super(auth, self).__init__(nxt)
|
super(auth, self).__init__(nxt)
|
||||||
assert data is not None
|
assert data is not None
|
||||||
self.size = size
|
self.size = size
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
from ryu.lib import addrconv
|
from ryu.lib import addrconv
|
||||||
|
|
||||||
|
|
||||||
@ -35,9 +37,9 @@ class IntDescr(TypeDescr):
|
|||||||
return i
|
return i
|
||||||
|
|
||||||
def from_user(self, i):
|
def from_user(self, i):
|
||||||
bin = ''
|
bin = b''
|
||||||
for x in range(self.size):
|
for x in range(self.size):
|
||||||
bin = chr(i & 255) + bin
|
bin = six.int2byte(i & 255) + bin
|
||||||
i //= 256
|
i //= 256
|
||||||
return bin
|
return bin
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ class TestBFD(unittest.TestCase):
|
|||||||
+ '\x3c\xc1\x6a\x00\x69\x23'
|
+ '\x3c\xc1\x6a\x00\x69\x23'
|
||||||
|
|
||||||
# BFD Key chain {auth_key_id: auth_key/password}
|
# BFD Key chain {auth_key_id: auth_key/password}
|
||||||
self.auth_keys = {2: "secret"}
|
self.auth_keys = {2: b"secret"}
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
pass
|
pass
|
||||||
|
@ -44,10 +44,10 @@ class Test_cfm(unittest.TestCase):
|
|||||||
self.cc_message_mep_id = 4
|
self.cc_message_mep_id = 4
|
||||||
self.cc_message_md_name_format = 4
|
self.cc_message_md_name_format = 4
|
||||||
self.cc_message_md_name_length = 0
|
self.cc_message_md_name_length = 0
|
||||||
self.cc_message_md_name = "hoge"
|
self.cc_message_md_name = b"hoge"
|
||||||
self.cc_message_short_ma_name_format = 2
|
self.cc_message_short_ma_name_format = 2
|
||||||
self.cc_message_short_ma_name_length = 0
|
self.cc_message_short_ma_name_length = 0
|
||||||
self.cc_message_short_ma_name = "pakeratta"
|
self.cc_message_short_ma_name = b"pakeratta"
|
||||||
self.cc_message_md_name_txfcf = 11
|
self.cc_message_md_name_txfcf = 11
|
||||||
self.cc_message_md_name_rxfcb = 22
|
self.cc_message_md_name_rxfcb = 22
|
||||||
self.cc_message_md_name_txfcb = 33
|
self.cc_message_md_name_txfcb = 33
|
||||||
@ -397,10 +397,10 @@ class Test_cc_message(unittest.TestCase):
|
|||||||
self.mep_id = 2
|
self.mep_id = 2
|
||||||
self.md_name_format = cfm.cc_message._MD_FMT_CHARACTER_STRING
|
self.md_name_format = cfm.cc_message._MD_FMT_CHARACTER_STRING
|
||||||
self.md_name_length = 3
|
self.md_name_length = 3
|
||||||
self.md_name = "foo"
|
self.md_name = b"foo"
|
||||||
self.short_ma_name_format = 2
|
self.short_ma_name_format = 2
|
||||||
self.short_ma_name_length = 8
|
self.short_ma_name_length = 8
|
||||||
self.short_ma_name = "hogehoge"
|
self.short_ma_name = b"hogehoge"
|
||||||
self.tlvs = [
|
self.tlvs = [
|
||||||
]
|
]
|
||||||
self.end_tlv = 0
|
self.end_tlv = 0
|
||||||
@ -984,11 +984,11 @@ class Test_sender_id_tlv(unittest.TestCase):
|
|||||||
self.length = 10
|
self.length = 10
|
||||||
self.chassis_id_length = 1
|
self.chassis_id_length = 1
|
||||||
self.chassis_id_subtype = 3
|
self.chassis_id_subtype = 3
|
||||||
self.chassis_id = "\x0a"
|
self.chassis_id = b"\x0a"
|
||||||
self.ma_domain_length = 2
|
self.ma_domain_length = 2
|
||||||
self.ma_domain = "\x04\x05"
|
self.ma_domain = b"\x04\x05"
|
||||||
self.ma_length = 3
|
self.ma_length = 3
|
||||||
self.ma = "\x01\x02\x03"
|
self.ma = b"\x01\x02\x03"
|
||||||
self.ins = cfm.sender_id_tlv(
|
self.ins = cfm.sender_id_tlv(
|
||||||
self.length,
|
self.length,
|
||||||
self.chassis_id_length,
|
self.chassis_id_length,
|
||||||
@ -1212,7 +1212,7 @@ class Test_data_tlv(unittest.TestCase):
|
|||||||
def setUp(self):
|
def setUp(self):
|
||||||
self._type = cfm.CFM_DATA_TLV
|
self._type = cfm.CFM_DATA_TLV
|
||||||
self.length = 3
|
self.length = 3
|
||||||
self.data_value = "\x01\x02\x03"
|
self.data_value = b"\x01\x02\x03"
|
||||||
self.ins = cfm.data_tlv(
|
self.ins = cfm.data_tlv(
|
||||||
self.length,
|
self.length,
|
||||||
self.data_value
|
self.data_value
|
||||||
@ -1495,9 +1495,9 @@ class Test_organization_specific_tlv(unittest.TestCase):
|
|||||||
def setUp(self):
|
def setUp(self):
|
||||||
self._type = cfm.CFM_ORGANIZATION_SPECIFIC_TLV
|
self._type = cfm.CFM_ORGANIZATION_SPECIFIC_TLV
|
||||||
self.length = 10
|
self.length = 10
|
||||||
self.oui = "\xff\x12\x34"
|
self.oui = b"\xff\x12\x34"
|
||||||
self.subtype = 3
|
self.subtype = 3
|
||||||
self.value = "\x01\x02\x0f\x0e\x0d\x0c"
|
self.value = b"\x01\x02\x0f\x0e\x0d\x0c"
|
||||||
self.ins = cfm.organization_specific_tlv(self.length,
|
self.ins = cfm.organization_specific_tlv(self.length,
|
||||||
self.oui,
|
self.oui,
|
||||||
self.subtype,
|
self.subtype,
|
||||||
@ -1566,7 +1566,7 @@ class Test_organization_specific_tlv(unittest.TestCase):
|
|||||||
str(buf))
|
str(buf))
|
||||||
eq_(res[0], cfm.CFM_ORGANIZATION_SPECIFIC_TLV)
|
eq_(res[0], cfm.CFM_ORGANIZATION_SPECIFIC_TLV)
|
||||||
eq_(res[1], 4)
|
eq_(res[1], 4)
|
||||||
eq_(res[2], "\x00\x00\x00")
|
eq_(res[2], b"\x00\x00\x00")
|
||||||
eq_(res[3], 0)
|
eq_(res[3], 0)
|
||||||
|
|
||||||
|
|
||||||
@ -1579,7 +1579,7 @@ class Test_reply_ingress_tlv(unittest.TestCase):
|
|||||||
self.mac_address = 'aa:bb:cc:56:34:12'
|
self.mac_address = 'aa:bb:cc:56:34:12'
|
||||||
self.port_id_length = 3
|
self.port_id_length = 3
|
||||||
self.port_id_subtype = 2
|
self.port_id_subtype = 2
|
||||||
self.port_id = "\x01\x04\x09"
|
self.port_id = b"\x01\x04\x09"
|
||||||
self.ins = cfm.reply_ingress_tlv(self.length, self.action,
|
self.ins = cfm.reply_ingress_tlv(self.length, self.action,
|
||||||
self.mac_address,
|
self.mac_address,
|
||||||
self.port_id_length,
|
self.port_id_length,
|
||||||
@ -1673,7 +1673,7 @@ class Test_reply_egress_tlv(unittest.TestCase):
|
|||||||
self.mac_address = 'aa:bb:cc:56:34:12'
|
self.mac_address = 'aa:bb:cc:56:34:12'
|
||||||
self.port_id_length = 3
|
self.port_id_length = 3
|
||||||
self.port_id_subtype = 2
|
self.port_id_subtype = 2
|
||||||
self.port_id = "\x01\x04\x09"
|
self.port_id = b"\x01\x04\x09"
|
||||||
self.ins = cfm.reply_egress_tlv(self.length,
|
self.ins = cfm.reply_egress_tlv(self.length,
|
||||||
self.action,
|
self.action,
|
||||||
self.mac_address,
|
self.mac_address,
|
||||||
|
@ -40,18 +40,18 @@ class Test_dhcp_offer(unittest.TestCase):
|
|||||||
yiaddr = '192.168.20.20'
|
yiaddr = '192.168.20.20'
|
||||||
siaddr = '192.168.30.30'
|
siaddr = '192.168.30.30'
|
||||||
giaddr = '192.168.40.40'
|
giaddr = '192.168.40.40'
|
||||||
sname = 'abc'
|
sname = b'abc'
|
||||||
boot_file = ''
|
boot_file = b''
|
||||||
|
|
||||||
option_list = [
|
option_list = [
|
||||||
dhcp.option(dhcp.DHCP_MESSAGE_TYPE_OPT, '\x02', 1),
|
dhcp.option(dhcp.DHCP_MESSAGE_TYPE_OPT, b'\x02', 1),
|
||||||
dhcp.option(dhcp.DHCP_SUBNET_MASK_OPT, '\xff\xff\xff\x00', 4),
|
dhcp.option(dhcp.DHCP_SUBNET_MASK_OPT, b'\xff\xff\xff\x00', 4),
|
||||||
dhcp.option(dhcp.DHCP_GATEWAY_ADDR_OPT, '\xc0\xa8\x0a\x09', 4),
|
dhcp.option(dhcp.DHCP_GATEWAY_ADDR_OPT, b'\xc0\xa8\x0a\x09', 4),
|
||||||
dhcp.option(dhcp.DHCP_DNS_SERVER_ADDR_OPT, '\xc0\xa8\x0a\x09', 4),
|
dhcp.option(dhcp.DHCP_DNS_SERVER_ADDR_OPT, b'\xc0\xa8\x0a\x09', 4),
|
||||||
dhcp.option(dhcp.DHCP_IP_ADDR_LEASE_TIME_OPT, '\x00\x03\xf4\x80', 4),
|
dhcp.option(dhcp.DHCP_IP_ADDR_LEASE_TIME_OPT, b'\x00\x03\xf4\x80', 4),
|
||||||
dhcp.option(dhcp.DHCP_RENEWAL_TIME_OPT, '\x00\x01\xfa\x40', 4),
|
dhcp.option(dhcp.DHCP_RENEWAL_TIME_OPT, b'\x00\x01\xfa\x40', 4),
|
||||||
dhcp.option(dhcp.DHCP_REBINDING_TIME_OPT, '\x00\x03\x75\xf0', 4),
|
dhcp.option(dhcp.DHCP_REBINDING_TIME_OPT, b'\x00\x03\x75\xf0', 4),
|
||||||
dhcp.option(dhcp.DHCP_SERVER_IDENTIFIER_OPT, '\xc0\xa8\x0a\x09', 4)]
|
dhcp.option(dhcp.DHCP_SERVER_IDENTIFIER_OPT, b'\xc0\xa8\x0a\x09', 4)]
|
||||||
magic_cookie = '99.130.83.99'
|
magic_cookie = '99.130.83.99'
|
||||||
options = dhcp.options(option_list=option_list, options_len=50,
|
options = dhcp.options(option_list=option_list, options_len=50,
|
||||||
magic_cookie=magic_cookie)
|
magic_cookie=magic_cookie)
|
||||||
@ -61,24 +61,24 @@ class Test_dhcp_offer(unittest.TestCase):
|
|||||||
ciaddr=ciaddr, yiaddr=yiaddr, siaddr=siaddr,
|
ciaddr=ciaddr, yiaddr=yiaddr, siaddr=siaddr,
|
||||||
giaddr=giaddr, sname=sname, boot_file=boot_file)
|
giaddr=giaddr, sname=sname, boot_file=boot_file)
|
||||||
|
|
||||||
buf = "\x02\x01\x06\x00\x00\x00\x00\x01\x00\x00\x00\x01\xc0\xa8\x0a\x0a"\
|
buf = b"\x02\x01\x06\x00\x00\x00\x00\x01\x00\x00\x00\x01\xc0\xa8\x0a\x0a"\
|
||||||
+ "\xc0\xa8\x14\x14\xc0\xa8\x1e\x1e\xc0\xa8\x28\x28\xaa\xaa\xaa\xaa"\
|
+ b"\xc0\xa8\x14\x14\xc0\xa8\x1e\x1e\xc0\xa8\x28\x28\xaa\xaa\xaa\xaa"\
|
||||||
+ "\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x62\x63\x00"\
|
+ b"\xaa\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x62\x63\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\
|
||||||
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x82\x53\x63"\
|
+ b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x82\x53\x63"\
|
||||||
+ "\x35\x01\x02\x01\x04\xff\xff\xff\x00\x03\x04\xc0\xa8\x0a\x09\x06"\
|
+ b"\x35\x01\x02\x01\x04\xff\xff\xff\x00\x03\x04\xc0\xa8\x0a\x09\x06"\
|
||||||
+ "\x04\xc0\xa8\x0a\x09\x33\x04\x00\x03\xf4\x80\x3a\x04\x00\x01\xfa"\
|
+ b"\x04\xc0\xa8\x0a\x09\x33\x04\x00\x03\xf4\x80\x3a\x04\x00\x01\xfa"\
|
||||||
+ "\x40\x3b\x04\x00\x03\x75\xf0\x36\x04\xc0\xa8\x0a\x09\xff"
|
+ b"\x40\x3b\x04\x00\x03\x75\xf0\x36\x04\xc0\xa8\x0a\x09\xff"
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
pass
|
pass
|
||||||
|
@ -57,7 +57,7 @@ class Test_ipv6(unittest.TestCase):
|
|||||||
def setUp_with_hop_opts(self):
|
def setUp_with_hop_opts(self):
|
||||||
self.opt1_type = 5
|
self.opt1_type = 5
|
||||||
self.opt1_len = 2
|
self.opt1_len = 2
|
||||||
self.opt1_data = '\x00\x00'
|
self.opt1_data = b'\x00\x00'
|
||||||
self.opt2_type = 1
|
self.opt2_type = 1
|
||||||
self.opt2_len = 0
|
self.opt2_len = 0
|
||||||
self.opt2_data = None
|
self.opt2_data = None
|
||||||
@ -86,7 +86,7 @@ class Test_ipv6(unittest.TestCase):
|
|||||||
def setUp_with_dst_opts(self):
|
def setUp_with_dst_opts(self):
|
||||||
self.opt1_type = 5
|
self.opt1_type = 5
|
||||||
self.opt1_len = 2
|
self.opt1_len = 2
|
||||||
self.opt1_data = '\x00\x00'
|
self.opt1_data = b'\x00\x00'
|
||||||
self.opt2_type = 1
|
self.opt2_type = 1
|
||||||
self.opt2_len = 0
|
self.opt2_len = 0
|
||||||
self.opt2_data = None
|
self.opt2_data = None
|
||||||
@ -167,7 +167,7 @@ class Test_ipv6(unittest.TestCase):
|
|||||||
self.auth_size = 4
|
self.auth_size = 4
|
||||||
self.auth_spi = 256
|
self.auth_spi = 256
|
||||||
self.auth_seq = 1
|
self.auth_seq = 1
|
||||||
self.auth_data = '\xa0\xe7\xf8\xab\xf9\x69\x1a\x8b\xf3\x9f\x7c\xae'
|
self.auth_data = b'\xa0\xe7\xf8\xab\xf9\x69\x1a\x8b\xf3\x9f\x7c\xae'
|
||||||
self.auth = ipv6.auth(
|
self.auth = ipv6.auth(
|
||||||
self.auth_nxt, self.auth_size, self.auth_spi, self.auth_seq,
|
self.auth_nxt, self.auth_size, self.auth_spi, self.auth_seq,
|
||||||
self.auth_data)
|
self.auth_data)
|
||||||
@ -188,7 +188,7 @@ class Test_ipv6(unittest.TestCase):
|
|||||||
def setUp_with_multi_headers(self):
|
def setUp_with_multi_headers(self):
|
||||||
self.opt1_type = 5
|
self.opt1_type = 5
|
||||||
self.opt1_len = 2
|
self.opt1_len = 2
|
||||||
self.opt1_data = '\x00\x00'
|
self.opt1_data = b'\x00\x00'
|
||||||
self.opt2_type = 1
|
self.opt2_type = 1
|
||||||
self.opt2_len = 0
|
self.opt2_len = 0
|
||||||
self.opt2_data = None
|
self.opt2_data = None
|
||||||
@ -204,7 +204,7 @@ class Test_ipv6(unittest.TestCase):
|
|||||||
self.auth_size = 4
|
self.auth_size = 4
|
||||||
self.auth_spi = 256
|
self.auth_spi = 256
|
||||||
self.auth_seq = 1
|
self.auth_seq = 1
|
||||||
self.auth_data = '\xa0\xe7\xf8\xab\xf9\x69\x1a\x8b\xf3\x9f\x7c\xae'
|
self.auth_data = b'\xa0\xe7\xf8\xab\xf9\x69\x1a\x8b\xf3\x9f\x7c\xae'
|
||||||
self.auth = ipv6.auth(
|
self.auth = ipv6.auth(
|
||||||
self.auth_nxt, self.auth_size, self.auth_spi, self.auth_seq,
|
self.auth_nxt, self.auth_size, self.auth_spi, self.auth_seq,
|
||||||
self.auth_data)
|
self.auth_data)
|
||||||
@ -510,9 +510,9 @@ class Test_hop_opts(unittest.TestCase):
|
|||||||
self.nxt = 0
|
self.nxt = 0
|
||||||
self.size = 8
|
self.size = 8
|
||||||
self.data = [
|
self.data = [
|
||||||
ipv6.option(5, 2, '\x00\x00'),
|
ipv6.option(5, 2, b'\x00\x00'),
|
||||||
ipv6.option(1, 0, None),
|
ipv6.option(1, 0, None),
|
||||||
ipv6.option(0xc2, 4, '\x00\x01\x00\x00'),
|
ipv6.option(0xc2, 4, b'\x00\x01\x00\x00'),
|
||||||
ipv6.option(1, 0, None),
|
ipv6.option(1, 0, None),
|
||||||
]
|
]
|
||||||
self.hop = ipv6.hop_opts(self.nxt, self.size, self.data)
|
self.hop = ipv6.hop_opts(self.nxt, self.size, self.data)
|
||||||
@ -591,9 +591,9 @@ class Test_dst_opts(unittest.TestCase):
|
|||||||
self.nxt = 60
|
self.nxt = 60
|
||||||
self.size = 8
|
self.size = 8
|
||||||
self.data = [
|
self.data = [
|
||||||
ipv6.option(5, 2, '\x00\x00'),
|
ipv6.option(5, 2, b'\x00\x00'),
|
||||||
ipv6.option(1, 0, None),
|
ipv6.option(1, 0, None),
|
||||||
ipv6.option(0xc2, 4, '\x00\x01\x00\x00'),
|
ipv6.option(0xc2, 4, b'\x00\x01\x00\x00'),
|
||||||
ipv6.option(1, 0, None),
|
ipv6.option(1, 0, None),
|
||||||
]
|
]
|
||||||
self.dst = ipv6.dst_opts(self.nxt, self.size, self.data)
|
self.dst = ipv6.dst_opts(self.nxt, self.size, self.data)
|
||||||
@ -662,7 +662,7 @@ class Test_dst_opts(unittest.TestCase):
|
|||||||
|
|
||||||
eq_(res[0], 6)
|
eq_(res[0], 6)
|
||||||
eq_(res[1], 0)
|
eq_(res[1], 0)
|
||||||
opt = ipv6.option(type_=1, len_=4, data='\x00\x00\x00\x00')
|
opt = ipv6.option(type_=1, len_=4, data=b'\x00\x00\x00\x00')
|
||||||
eq_(str(buf[2:]), opt.serialize())
|
eq_(str(buf[2:]), opt.serialize())
|
||||||
|
|
||||||
|
|
||||||
@ -670,7 +670,7 @@ class Test_option(unittest.TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.type_ = 5
|
self.type_ = 5
|
||||||
self.data = '\x00\x00'
|
self.data = b'\x00\x00'
|
||||||
self.len_ = len(self.data)
|
self.len_ = len(self.data)
|
||||||
self.opt = ipv6.option(self.type_, self.len_, self.data)
|
self.opt = ipv6.option(self.type_, self.len_, self.data)
|
||||||
self.form = '!BB%ds' % self.len_
|
self.form = '!BB%ds' % self.len_
|
||||||
@ -1068,7 +1068,7 @@ class Test_auth(unittest.TestCase):
|
|||||||
self.size = 4
|
self.size = 4
|
||||||
self.spi = 256
|
self.spi = 256
|
||||||
self.seq = 1
|
self.seq = 1
|
||||||
self.data = '\x21\xd3\xa9\x5c\x5f\xfd\x4d\x18\x46\x22\xb9\xf8'
|
self.data = b'\x21\xd3\xa9\x5c\x5f\xfd\x4d\x18\x46\x22\xb9\xf8'
|
||||||
self.auth = ipv6.auth(
|
self.auth = ipv6.auth(
|
||||||
self.nxt, self.size, self.spi, self.seq, self.data)
|
self.nxt, self.size, self.spi, self.seq, self.data)
|
||||||
self.form = '!BB2xII12s'
|
self.form = '!BB2xII12s'
|
||||||
|
Loading…
Reference in New Issue
Block a user