aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-08-14 17:26:08 +0200
committerTobias Brunner <tobias@strongswan.org>2017-08-23 12:10:39 +0200
commit062a34e722e4162d5d163153a7450759bcdede6f (patch)
tree0ed48e9f04bc8130ed3548b1a72f40b0fe7e3162
parentb7ad5f777ffc36897b71ee7419da19d286f5cc55 (diff)
downloadstrongswan-062a34e722e4162d5d163153a7450759bcdede6f.tar.bz2
strongswan-062a34e722e4162d5d163153a7450759bcdede6f.tar.xz
kernel-netlink: Set usable state whenever an interface appears
If an interface is renamed we already have an entry (based on the ifindex) allocated but previously only set the usable state once based on the original name. Fixes #2403.
-rw-r--r--src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
index 0dd3e30cb..a21d0ae7f 100644
--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
@@ -1183,13 +1183,13 @@ static void process_link(private_kernel_netlink_net_t *this,
INIT(entry,
.ifindex = msg->ifi_index,
.addrs = linked_list_create(),
- .usable = charon->kernel->is_interface_usable(
- charon->kernel, name),
);
this->ifaces->insert_last(this->ifaces, entry);
}
strncpy(entry->ifname, name, IFNAMSIZ);
entry->ifname[IFNAMSIZ-1] = '\0';
+ entry->usable = charon->kernel->is_interface_usable(charon->kernel,
+ name);
if (event && entry->usable)
{
if (!(entry->flags & IFF_UP) && (msg->ifi_flags & IFF_UP))