diff --git a/openthread_border_router/CHANGELOG.md b/openthread_border_router/CHANGELOG.md index a01692f48..4c5090a1c 100644 --- a/openthread_border_router/CHANGELOG.md +++ b/openthread_border_router/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 3.1.2 + +- Fix upstream DNS/DNS64 resolution for Thread devices by not binding the upstream DNS resolver socket to the infra interface (fixes #3947, regression since 2.12.0) + ## 3.1.1 - Bump beta to OTBR POSIX version d83ddc62 to test ePSKc / Thread 1.4 Credentials Sharing support ahead of the upstream `release-v2026.09.0` tag diff --git a/openthread_border_router/config.yaml b/openthread_border_router/config.yaml index cf5038cdf..3bf4813e9 100644 --- a/openthread_border_router/config.yaml +++ b/openthread_border_router/config.yaml @@ -1,5 +1,5 @@ --- -version: 3.1.1 +version: 3.1.2 breaking_versions: [3.0.0] slug: openthread_border_router name: OpenThread Border Router diff --git a/openthread_border_router/openthread-core-ha-config-posix.h b/openthread_border_router/openthread-core-ha-config-posix.h index 699e31aea..2fd96b1f8 100644 --- a/openthread_border_router/openthread-core-ha-config-posix.h +++ b/openthread_border_router/openthread-core-ha-config-posix.h @@ -83,4 +83,18 @@ */ #define OPENTHREAD_CONFIG_MULTICAST_DNS_AUTO_ENABLE_ON_INFRA_IF 0 +/** + * @def OPENTHREAD_POSIX_CONFIG_UPSTREAM_DNS_BIND_TO_INFRA_NETIF + * + * The app runs with host networking; the upstream DNS server from + * /etc/resolv.conf (Supervisor CoreDNS, 172.30.32.3) is only reachable + * through the hassio bridge, not through the infra interface. Binding the + * upstream DNS resolver socket to the infra interface (OpenThread default + * since commit d88b63d19, first shipped in app 2.12.0) misroutes those + * queries out the physical interface, breaking upstream DNS/DNS64 for + * Thread devices. Disable the bind so queries follow the host routing + * table (see home-assistant/addons#3947). + */ +#define OPENTHREAD_POSIX_CONFIG_UPSTREAM_DNS_BIND_TO_INFRA_NETIF 0 + #endif /* OPENTHREAD_CORE_HA_CONFIG_POSIX_H_ */