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
|
||||
for interface in netifaces.interfaces():
|
||||
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(
|
||||
addr=ifdata['addr'],
|
||||
addr=ifaddr,
|
||||
netmask=ifdata['netmask']
|
||||
))
|
||||
if ifnet == self._net or (
|
||||
|
||||
Reference in New Issue
Block a user