From 9d9f4d8c7c5b89d0efcdad87712231b4b673eb14 Mon Sep 17 00:00:00 2001 From: Thomas Mangin Date: Mon, 23 Sep 2019 22:56:38 +0100 Subject: [PATCH] fixes (potential) issues with python3 bytes vs string in concatenation --- lib/exabgp/bgp/message/update/nlri/inet.py | 4 ++-- lib/exabgp/bgp/message/update/nlri/ipvpn.py | 6 +++--- lib/exabgp/bgp/message/update/nlri/label.py | 6 +++--- lib/exabgp/bgp/message/update/nlri/nlri.py | 4 ++-- lib/exabgp/rib/change.py | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/exabgp/bgp/message/update/nlri/inet.py b/lib/exabgp/bgp/message/update/nlri/inet.py index fab809abc..13664975e 100644 --- a/lib/exabgp/bgp/message/update/nlri/inet.py +++ b/lib/exabgp/bgp/message/update/nlri/inet.py @@ -58,8 +58,8 @@ def pack_nlri (self, negotiated=None): return addpath + self.cidr.pack_nlri() def index (self): - addpath = 'no-pi' if self.path_info is PathInfo.NOPATH else str(self.path_info.pack()) - return self._index() + addpath + str(self.cidr.pack_nlri()) + addpath = b'no-pi' if self.path_info is PathInfo.NOPATH else self.path_info.pack() + return self._index() + addpath + self.cidr.pack_nlri() def prefix (self): return "%s%s" % (self.cidr.prefix(),str(self.path_info)) diff --git a/lib/exabgp/bgp/message/update/nlri/ipvpn.py b/lib/exabgp/bgp/message/update/nlri/ipvpn.py index cf9519ecd..083398ce0 100644 --- a/lib/exabgp/bgp/message/update/nlri/ipvpn.py +++ b/lib/exabgp/bgp/message/update/nlri/ipvpn.py @@ -85,9 +85,9 @@ def pack (self, negotiated=None): return addpath + mask + self.labels.pack() + self.rd.pack() + self.cidr.pack_ip() def index (self, negotiated=None): - addpath = 'no-pi' if self.path_info is PathInfo.NOPATH else str(self.path_info.pack()) - mask = chr(len(self.rd)*8 + self.cidr.mask) - return NLRI._index(self) + addpath + mask + str(self.rd.pack()) + str(self.cidr.pack_ip()) + addpath = b'no-pi' if self.path_info is PathInfo.NOPATH else self.path_info.pack() + mask = character(len(self.rd) * 8 + self.cidr.mask) + return NLRI._index(self) + addpath + mask + self.rd.pack() + self.cidr.pack_ip() def _internal (self, announced=True): r = Label._internal(self,announced) diff --git a/lib/exabgp/bgp/message/update/nlri/label.py b/lib/exabgp/bgp/message/update/nlri/label.py index 182567910..b9058de79 100644 --- a/lib/exabgp/bgp/message/update/nlri/label.py +++ b/lib/exabgp/bgp/message/update/nlri/label.py @@ -65,9 +65,9 @@ def pack (self, negotiated=None): return addpath + mask + self.labels.pack() + self.cidr.pack_ip() def index (self, negotiated=None): - addpath = 'no-pi' if self.path_info is PathInfo.NOPATH else str(self.path_info.pack()) - mask = chr(self.cidr.mask) - return NLRI._index(self) + addpath + mask + str(self.cidr.pack_ip()) + addpath = b'no-pi' if self.path_info is PathInfo.NOPATH else self.path_info.pack() + mask = character(self.cidr.mask) + return NLRI._index(self) + addpath + mask + self.cidr.pack_ip() def _internal (self, announced=True): r = INET._internal(self,announced) diff --git a/lib/exabgp/bgp/message/update/nlri/nlri.py b/lib/exabgp/bgp/message/update/nlri/nlri.py index 167fff26d..6c7a3a24f 100644 --- a/lib/exabgp/bgp/message/update/nlri/nlri.py +++ b/lib/exabgp/bgp/message/update/nlri/nlri.py @@ -61,10 +61,10 @@ def assign (self, name, value): setattr(self,name,value) def _index (self): - return '%02x%02x' % (self.afi,self.safi) + return b'%02x%02x' % (self.afi,self.safi) def index (self): - return self._index() + str(self.pack_nlri()) + return self._index() + self.pack_nlri() # remove this when code restructure is finished def pack (self, negotiated=None): diff --git a/lib/exabgp/rib/change.py b/lib/exabgp/rib/change.py index 0296ac4ba..1b13e5b14 100644 --- a/lib/exabgp/rib/change.py +++ b/lib/exabgp/rib/change.py @@ -22,7 +22,7 @@ class Change (object): @staticmethod def family_prefix (family): - return '%02x%02x' % family + return b'%02x%02x' % family def __init__ (self, nlri, attributes): self.nlri = nlri @@ -34,7 +34,7 @@ def __init__ (self, nlri, attributes): def index (self): if not self.__index: - self.__index = '%02x%02x' % self.nlri.family() + self.nlri.index() + self.__index = b'%02x%02x' % self.nlri.family() + self.nlri.index() return self.__index def __eq__ (self, other):