From 805edda6b9a6642009a7f7e3b6de2b03006711e7 Mon Sep 17 00:00:00 2001 From: black Date: Sat, 10 Feb 2018 13:38:53 +0100 Subject: [PATCH] Fix infinite loop when run in a network namespace with NetworkManager outside the namespace --- create_ap | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/create_ap b/create_ap index 8fa6671..0994f31 100755 --- a/create_ap +++ b/create_ap @@ -464,8 +464,15 @@ networkmanager_is_running() { [[ -n "$NMCLI_OUT" ]] } +networkmanager_knows_iface() { + # check if the interface $1 is known to NetworkManager + # an interface may exist but may not be known to NetworkManager if it is in a different network namespace than NetworkManager + nmcli -t -f DEVICE d 2>&1 | grep -Fxq "$1" +} + networkmanager_iface_is_unmanaged() { is_interface "$1" || return 2 + networkmanager_knows_iface "$1" || return 0 (nmcli -t -f DEVICE,STATE d 2>&1 | grep -E "^$1:unmanaged$" > /dev/null 2>&1) || return 1 }