From 6fa91ecb0324ac937ede412927f4d0e900da60a2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 13 Aug 2026 19:52:27 +0300 Subject: [PATCH] transport: use IF_NAMESIZE for cross-platform if_indextoname (Windows build) --- src/transport_layer/auto_socket.c | 6 +++--- src/transport_layer/socket_monitor.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/transport_layer/auto_socket.c b/src/transport_layer/auto_socket.c index 49417b1d..358ab730 100644 --- a/src/transport_layer/auto_socket.c +++ b/src/transport_layer/auto_socket.c @@ -502,7 +502,7 @@ static void remove_iface_sockets(struct AUTO_SOCKET* as, uint32_t ifindex) { if ((*pp)->netif_index == ifindex) { struct auto_sock_iface* ifa = *pp; *pp = ifa->next; - char ifname[IFNAMSIZ] = ""; + char ifname[IF_NAMESIZE] = ""; if (!if_indextoname(ifindex, ifname)) snprintf(ifname, sizeof(ifname), "?"); if (ifa->v4_udp) { @@ -871,7 +871,7 @@ static void reconcile_iface(struct AUTO_SOCKET* as, uint32_t ifindex, const char if (ifa) { struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET, v4_need_type); ifa->v4_tcp = tsrv; if (tsrv) changed = 1; } } else if (!has && srv) { DEBUG_INFO(DEBUG_CATEGORY_AS, "[as] v4 TCP removed: %s ifidx=%u", ifname, ifindex); - { char buf[IFNAMSIZ]; const char* nm = if_indextoname(ifindex, buf) ? buf : ifname; + { char buf[IF_NAMESIZE]; const char* nm = if_indextoname(ifindex, buf) ? buf : ifname; uint16_t p = load_port_from_db(as, nm, AF_INET, AS_PROTO_TCP); struct ETCP_SOCKET** tsp = &as->instance->etcp_sockets; while (*tsp) { if (!(*tsp)->is_tcp) { tsp = &(*tsp)->next; continue; } uint16_t tp = 0; const struct sockaddr_storage* a = (*tsp)->interface_addr.ss_family ? &(*tsp)->interface_addr : &(*tsp)->local_addr; @@ -894,7 +894,7 @@ static void reconcile_iface(struct AUTO_SOCKET* as, uint32_t ifindex, const char if (ifa) { struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET6, v6_need_type); ifa->v6_tcp = tsrv; if (tsrv) changed = 1; } } else if (!has && srv) { DEBUG_INFO(DEBUG_CATEGORY_AS, "[as] v6 TCP removed: %s ifidx=%u", ifname, ifindex); - { char buf[IFNAMSIZ]; const char* nm = if_indextoname(ifindex, buf) ? buf : ifname; + { char buf[IF_NAMESIZE]; const char* nm = if_indextoname(ifindex, buf) ? buf : ifname; uint16_t p = load_port_from_db(as, nm, AF_INET6, AS_PROTO_TCP); struct ETCP_SOCKET** tsp = &as->instance->etcp_sockets; while (*tsp) { if (!(*tsp)->is_tcp) { tsp = &(*tsp)->next; continue; } uint16_t tp = 0; const struct sockaddr_storage* a = (*tsp)->interface_addr.ss_family ? &(*tsp)->interface_addr : &(*tsp)->local_addr; diff --git a/src/transport_layer/socket_monitor.c b/src/transport_layer/socket_monitor.c index 12f486d3..05abab68 100644 --- a/src/transport_layer/socket_monitor.c +++ b/src/transport_layer/socket_monitor.c @@ -184,7 +184,7 @@ static void socket_monitor_handle_route(struct SOCKET_MONITOR* sm, struct rtmsg* socket_monitor_update_if_addr(es); if (memcmp(&old_if_addr, &es->interface_addr, sizeof(old_if_addr)) != 0) { sm->socket_updates++; - char ifname[IFNAMSIZ]; if (!if_indextoname(es->netif_index, ifname)) snprintf(ifname, sizeof(ifname), "?"); + char ifname[IF_NAMESIZE]; if (!if_indextoname(es->netif_index, ifname)) snprintf(ifname, sizeof(ifname), "?"); DEBUG_INFO(DEBUG_CATEGORY_SOCKET, "socket %s (%s idx=%u) addr changed via default route: %s → %s", es->name, ifname, es->netif_index, sockaddr_storage_to_str(&old_if_addr).str, sockaddr_storage_to_str(&es->interface_addr).str);