0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-20 20:03:13 +02:00

Skip existing interfaces on opening the first available utun on macOS

This avoids the error messages trying to open already used utuns.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Lev Stipakov <lstipakov@gmail.com>
Message-Id: <20200810143707.5834-15-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20665.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Arne Schwabe 2020-08-10 16:37:04 +02:00 committed by Gert Doering
parent 42b39e987d
commit 4edcf5710d

View File

@ -3021,8 +3021,15 @@ open_darwin_utun(const char *dev, const char *dev_type, const char *dev_node, st
/* try to open first available utun device if no specific utun is requested */
if (utunnum == -1)
{
for (utunnum = 0; utunnum<255; utunnum++)
for (utunnum = 0; utunnum < 255; utunnum++)
{
char ifname[20];
/* if the interface exists silently skip it */
ASSERT(snprintf(ifname, sizeof(ifname), "utun%d", utunnum) > 0);
if (if_nametoindex(ifname))
{
continue;
}
fd = utun_open_helper(ctlInfo, utunnum);
/* Break if the fd is valid,
* or if early initialization failed (-2) */