X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fbsd%2Fdevice.c;h=235f4ec68d7529369b5538e8f29867b1c632f1ef;hb=9ca716d6270335cf44455fc1667a1647c19410ef;hp=5a572ba361d6ecdeab34ceeb682c456cabd9b5d0;hpb=38489e37f50e807e51bfd28ebb8b20396eed1447;p=tinc diff --git a/src/bsd/device.c b/src/bsd/device.c index 5a572ba3..235f4ec6 100644 --- a/src/bsd/device.c +++ b/src/bsd/device.c @@ -1,7 +1,7 @@ /* device.c -- Interaction BSD tun/tap device Copyright (C) 2001-2005 Ivo Timmermans, - 2001-2017 Guus Sliepen + 2001-2021 Guus Sliepen 2009 Grzegorz Dymarek This program is free software; you can redistribute it and/or modify @@ -40,8 +40,13 @@ #include #endif +#if defined(HAVE_FREEBSD) || defined(HAVE_DRAGONFLY) +#define DEFAULT_TUN_DEVICE "/dev/tun" // Use the autoclone device +#define DEFAULT_TAP_DEVICE "/dev/tap" +#else #define DEFAULT_TUN_DEVICE "/dev/tun0" #define DEFAULT_TAP_DEVICE "/dev/tap0" +#endif typedef enum device_type { DEVICE_TYPE_TUN, @@ -298,10 +303,7 @@ static bool setup_device(void) { struct ifreq ifr; if(ioctl(device_fd, TAPGIFNAME, (void *)&ifr) == 0) { - if(iface) { - free(iface); - } - + free(iface); iface = xstrdup(ifr.ifr_name); } }