From: Guus Sliepen Date: Tue, 19 May 2015 20:26:32 +0000 (+0200) Subject: Quit with an error message if ioctl(TUNSETIFF) fails. X-Git-Tag: release-1.1pre12~141 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=69ba5f621e4931417f9f41061a7689e36c70e3d9;p=oweals%2Ftinc.git Quit with an error message if ioctl(TUNSETIFF) fails. It is possible that opening /dev/net/tun works but that interface creation itself fails, for example if a non-root user tries to create a new interface, or if the desired interface is already opened by another process. In this case, the ioctl() fails, but we actually silently ignored this condition. --- diff --git a/src/linux/device.c b/src/linux/device.c index 5717d92..a06e6da 100644 --- a/src/linux/device.c +++ b/src/linux/device.c @@ -101,6 +101,9 @@ static bool setup_device(void) { strncpy(ifrname, ifr.ifr_name, IFNAMSIZ); free(iface); iface = xstrdup(ifrname); + } else { + logger(DEBUG_ALWAYS, LOG_ERR, "Could not create a tun/tap interface from %s: %s", device, strerror(errno)); + return false; } logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info);