diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-12-10 10:25:08 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-12-10 10:26:04 +0000 |
commit | 9bbce01ed4ff93b26b435d5ab356407d48c2a424 (patch) | |
tree | f53555efba341c5696c6a79d428ecc34752965e4 /staslib/iputil.py | |
parent | Releasing debian version 2.3-1. (diff) | |
download | nvme-stas-9bbce01ed4ff93b26b435d5ab356407d48c2a424.tar.xz nvme-stas-9bbce01ed4ff93b26b435d5ab356407d48c2a424.zip |
Merging upstream version 2.3.1:
- properly handles big-endian data in `iputils.py` (Closes: #1057031).
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'staslib/iputil.py')
-rw-r--r-- | staslib/iputil.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/staslib/iputil.py b/staslib/iputil.py index d5e93dd..910ae65 100644 --- a/staslib/iputil.py +++ b/staslib/iputil.py @@ -42,7 +42,7 @@ def _nlmsghdr(nlmsg_type, nlmsg_flags, nlmsg_seq, nlmsg_pid, msg_len: int): __u32 nlmsg_pid; /* Sending process port ID */ }; ''' - return struct.pack('<LHHLL', NLMSG_LENGTH(msg_len), nlmsg_type, nlmsg_flags, nlmsg_seq, nlmsg_pid) + return struct.pack('=LHHLL', NLMSG_LENGTH(msg_len), nlmsg_type, nlmsg_flags, nlmsg_seq, nlmsg_pid) def _ifaddrmsg(family=0, prefixlen=0, flags=0, scope=0, index=0): @@ -55,7 +55,7 @@ def _ifaddrmsg(family=0, prefixlen=0, flags=0, scope=0, index=0): __u32 ifa_index; /* Link index */ }; ''' - return struct.pack('<BBBBL', family, prefixlen, flags, scope, index) + return struct.pack('=BBBBL', family, prefixlen, flags, scope, index) def _ifinfomsg(family=0, dev_type=0, index=0, flags=0, change=0): @@ -69,7 +69,7 @@ def _ifinfomsg(family=0, dev_type=0, index=0, flags=0, change=0): unsigned int ifi_change; /* change mask: IFF_* */ }; ''' - return struct.pack('<BBHiII', family, 0, dev_type, index, flags, change) + return struct.pack('=BBHiII', family, 0, dev_type, index, flags, change) def _nlmsg(nlmsg_type, nlmsg_flags, msg: bytes): @@ -102,7 +102,7 @@ def mac2iface(mac: str): # pylint: disable=too-many-locals nlmsg += sock.recv(8192) nlmsghdr = nlmsg[nlmsg_idx : nlmsg_idx + NLMSG_HDRLEN] - nlmsg_len, nlmsg_type, _, _, _ = struct.unpack('<LHHLL', nlmsghdr) + nlmsg_len, nlmsg_type, _, _, _ = struct.unpack('=LHHLL', nlmsghdr) if nlmsg_type == NLMSG_DONE: break @@ -110,13 +110,13 @@ def mac2iface(mac: str): # pylint: disable=too-many-locals if nlmsg_type == RTM_BASE: msg_indx = nlmsg_idx + NLMSG_HDRLEN msg = nlmsg[msg_indx : msg_indx + IFINFOMSG_SZ] # ifinfomsg - _, _, ifi_type, ifi_index, _, _ = struct.unpack('<BBHiII', msg) + _, _, ifi_type, ifi_index, _, _ = struct.unpack('=BBHiII', msg) if ifi_type in (ARPHRD_LOOPBACK, ARPHRD_ETHER): rtattr_indx = msg_indx + IFINFOMSG_SZ while rtattr_indx < (nlmsg_idx + nlmsg_len): rtattr = nlmsg[rtattr_indx : rtattr_indx + RTATTR_SZ] - rta_len, rta_type = struct.unpack('<HH', rtattr) + rta_len, rta_type = struct.unpack('=HH', rtattr) if rta_type == IFLA_ADDRESS: data = nlmsg[rtattr_indx + RTATTR_SZ : rtattr_indx + rta_len] if _data_matches_mac(data, mac): @@ -132,7 +132,7 @@ def mac2iface(mac: str): # pylint: disable=too-many-locals # ****************************************************************************** def ip_equal(ip1, ip2): - '''Check whther two IP addresses are equal. + '''Check whether two IP addresses are equal. @param ip1: IPv4Address or IPv6Address object @param ip2: IPv4Address or IPv6Address object ''' @@ -206,7 +206,7 @@ def net_if_addrs(): # pylint: disable=too-many-locals nlmsg += sock.recv(8192) nlmsghdr = nlmsg[nlmsg_idx : nlmsg_idx + NLMSG_HDRLEN] - nlmsg_len, nlmsg_type, _, _, _ = struct.unpack('<LHHLL', nlmsghdr) + nlmsg_len, nlmsg_type, _, _, _ = struct.unpack('=LHHLL', nlmsghdr) if nlmsg_type == NLMSG_DONE: break @@ -214,7 +214,7 @@ def net_if_addrs(): # pylint: disable=too-many-locals if nlmsg_type == RTM_NEWADDR: msg_indx = nlmsg_idx + NLMSG_HDRLEN msg = nlmsg[msg_indx : msg_indx + IFADDRMSG_SZ] # ifaddrmsg - ifa_family, _, _, _, ifa_index = struct.unpack('<BBBBL', msg) + ifa_family, _, _, _, ifa_index = struct.unpack('=BBBBL', msg) if ifa_family in (socket.AF_INET, socket.AF_INET6): interfaces.setdefault(ifa_index, {4: [], 6: []}) @@ -222,7 +222,7 @@ def net_if_addrs(): # pylint: disable=too-many-locals rtattr_indx = msg_indx + IFADDRMSG_SZ while rtattr_indx < (nlmsg_idx + nlmsg_len): rtattr = nlmsg[rtattr_indx : rtattr_indx + RTATTR_SZ] - rta_len, rta_type = struct.unpack('<HH', rtattr) + rta_len, rta_type = struct.unpack('=HH', rtattr) if rta_type == IFLA_IFNAME: data = nlmsg[rtattr_indx + RTATTR_SZ : rtattr_indx + rta_len] |