X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fbsd%2Fdevice.c;h=6674abd209a23aa7763073097081114e263431ee;hp=ee9b0e53993c1690273c90fd240aa898497e7cc8;hb=dbf3d168b720045328d476f3b9e5f5e45b4ab6de;hpb=46e481dc945c5572eb6091a3660f6bf258ee0cfa diff --git a/src/bsd/device.c b/src/bsd/device.c index ee9b0e53..6674abd2 100644 --- a/src/bsd/device.c +++ b/src/bsd/device.c @@ -64,7 +64,7 @@ bool setup_device(void) { device = xstrdup(DEFAULT_DEVICE); if(!get_config_string(lookup_config(config_tree, "Interface"), &iface)) - iface = xstrdup(rindex(device, '/') ? rindex(device, '/') + 1 : device); + iface = xstrdup(strrchr(device, '/') ? strrchr(device, '/') + 1 : device); if(get_config_string(lookup_config(config_tree, "DeviceType"), &type)) { if(!strcasecmp(type, "tun")) @@ -150,6 +150,17 @@ bool setup_device(void) { if(routing_mode == RMODE_ROUTER) overwrite_mac = true; device_info = "Generic BSD tap device"; +#ifdef TAPGIFNAME + { + struct ifreq ifr; + if(ioctl(device_fd, TAPGIFNAME, (void*)&ifr) == 0) { + if(iface) + free(iface); + iface = xstrdup(ifr.ifr_name); + } + } + +#endif break; #ifdef HAVE_TUNEMU case DEVICE_TYPE_TUNEMU: @@ -209,7 +220,7 @@ bool read_packet(vpn_packet_t *packet) { break; default: ifdebug(TRAFFIC) logger(LOG_ERR, - _ ("Unknown IP version %d while reading packet from %s %s"), + "Unknown IP version %d while reading packet from %s %s", packet->data[14] >> 4, device_info, device); return false; } @@ -240,7 +251,7 @@ bool read_packet(vpn_packet_t *packet) { default: ifdebug(TRAFFIC) logger(LOG_ERR, - _ ("Unknown address family %x while reading packet from %s %s"), + "Unknown address family %x while reading packet from %s %s", ntohl(type), device_info, device); return false; } @@ -268,7 +279,6 @@ bool read_packet(vpn_packet_t *packet) { ifdebug(TRAFFIC) logger(LOG_DEBUG, "Read packet of %d bytes from %s", packet->len, device_info); - logger(LOG_INFO, "E:fd_read"); return true; }