--- src/common.c 2026-07-04 18:51:28.000000000 +0800 +++ src/common.c 2026-07-17 17:27:38.000000000 +0800 @@ -657,8 +657,10 @@ if(!idx || (*SAFAMILY(¶m->sinsl) == AF_INET && param->srv->so._setsockopt(param->sostate, param->remsock, IPPROTO_IP, IP_BOUND_IF, &idx, sizeof(idx)))) return 12; #ifndef NOIPV6 +#ifdef IPV6_BOUND_IF if(*SAFAMILY(¶m->sinsl) == AF_INET6 && param->srv->so._setsockopt(param->sostate, param->remsock, IPPROTO_IPV6, IPV6_BOUND_IF, &idx, sizeof(idx))) return 12; #endif +#endif } #endif #ifdef WITH_UN --- src/proxymain.c 2026-07-04 18:51:28.000000000 +0800 +++ src/proxymain.c 2026-07-17 17:37:55.000000000 +0800 @@ -772,11 +772,13 @@ return -12; } #ifndef NOIPV6 +#ifdef IPV6_BOUND_IF if((*SAFAMILY(&srv.intsa) == AF_INET6 && srv.so._setsockopt(srv.so.state, sock, IPPROTO_IPV6, IPV6_BOUND_IF, &idx, sizeof(idx)))) { dolog(&defparam, (unsigned char *)"failed to bind device"); return -12; } #endif +#endif } #endif }