--- tinc-1.0.37/src/raw_socket_device.c 2025-11-08 15:46:26 +++ tinc-1.0.37-patched/src/raw_socket_device.c 2026-03-21 14:13:18 @@ -61,12 +61,12 @@ #endif memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ); - ifr.ifr_ifrn.ifrn_name[IFNAMSIZ - 1] = 0; + strncpy(ifr.ifr_name, iface, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ - 1] = 0; if(ioctl(device_fd, SIOCGIFINDEX, &ifr)) { close(device_fd); - logger(LOG_ERR, "Can't find interface %s: %s", ifr.ifr_ifrn.ifrn_name, strerror(errno)); + logger(LOG_ERR, "Can't find interface %s: %s", ifr.ifr_name, strerror(errno)); return false; } @@ -76,7 +76,7 @@ sa.sll_ifindex = ifr.ifr_ifindex; if(bind(device_fd, (struct sockaddr *) &sa, (socklen_t) sizeof(sa))) { - logger(LOG_ERR, "Could not bind %s to %s: %s", device, ifr.ifr_ifrn.ifrn_name, strerror(errno)); + logger(LOG_ERR, "Could not bind %s to %s: %s", device, ifr.ifr_name, strerror(errno)); return false; }