mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fix parse errors with link-local addresses
Link-local addresses received from netifaces contains '%suffix' that causes parse error in IPNetwork class. We must remove %suffix before it us used in IPNetwork objects. https://fedorahosted.org/freeipa/ticket/6296 Reviewed-By: Tomas Krizek <tkrizek@redhat.com>
This commit is contained in:
@@ -173,8 +173,13 @@ class CheckedIPAddress(UnsafeIPAddress):
|
|||||||
iface = None
|
iface = None
|
||||||
for interface in netifaces.interfaces():
|
for interface in netifaces.interfaces():
|
||||||
for ifdata in netifaces.ifaddresses(interface).get(family, []):
|
for ifdata in netifaces.ifaddresses(interface).get(family, []):
|
||||||
|
|
||||||
|
# link-local addresses contain '%suffix' that causes parse
|
||||||
|
# errors in IPNetwork
|
||||||
|
ifaddr = ifdata['addr'].split(u'%', 1)[0]
|
||||||
|
|
||||||
ifnet = netaddr.IPNetwork('{addr}/{netmask}'.format(
|
ifnet = netaddr.IPNetwork('{addr}/{netmask}'.format(
|
||||||
addr=ifdata['addr'],
|
addr=ifaddr,
|
||||||
netmask=ifdata['netmask']
|
netmask=ifdata['netmask']
|
||||||
))
|
))
|
||||||
if ifnet == self._net or (
|
if ifnet == self._net or (
|
||||||
|
|||||||
Reference in New Issue
Block a user