[PR #3868] [management, client] Add support for punycode domains in nameservers #21743

Open
opened 2026-08-05 05:08:53 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/3868
Author: @bcmmbaga
Created: 5/23/2025
Status: 🔄 Open

Base: mainHead: add-ns-punnycode-support


📝 Commits (9)

  • f25b5bb Enhance match domain validation logic and add test cases
  • 31f0879 remove the leading dot and root dot support ns regex
  • 3e3268d Remove support for wildcard ns match domain
  • 0eeda71 add support for punycode domain
  • 3d89cd4 fix tests
  • f04e7c3 Merge branch 'main' into add-ns-punnycode-support
  • 1d6c360 fix tests
  • 273160c [client] Use punycode domains internally consequently (#3867)
  • ff5eddf Merge branch 'main' into add-ns-punnycode-support

📊 Changes

38 files changed (+287 additions, -259 deletions)

View changed files

📝 client/iface/device/device_android.go (+3 -2)
📝 client/iface/device_android.go (+2 -1)
📝 client/iface/iface_create.go (+6 -2)
📝 client/iface/iface_create_android.go (+3 -1)
📝 client/iface/iface_create_darwin.go (+3 -1)
📝 client/internal/dns/file_unix.go (+1 -1)
📝 client/internal/dns/handler_chain.go (+19 -17)
📝 client/internal/dns/handler_chain_test.go (+40 -39)
📝 client/internal/dns/host.go (+10 -7)
📝 client/internal/dns/host_darwin.go (+2 -2)
📝 client/internal/dns/host_windows.go (+2 -2)
📝 client/internal/dns/mock_server.go (+2 -2)
📝 client/internal/dns/network_manager_unix.go (+2 -2)
📝 client/internal/dns/notifier.go (+5 -15)
📝 client/internal/dns/server.go (+27 -29)
📝 client/internal/dns/server_test.go (+64 -65)
📝 client/internal/dns/systemd_linux.go (+3 -3)
📝 client/internal/dns/upstream.go (+3 -2)
📝 client/internal/dns/upstream_android.go (+2 -1)
📝 client/internal/dns/upstream_general.go (+2 -1)

...and 18 more files

📄 Description

Describe your changes

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/3868 **Author:** [@bcmmbaga](https://github.com/bcmmbaga) **Created:** 5/23/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `add-ns-punnycode-support` --- ### 📝 Commits (9) - [`f25b5bb`](https://github.com/netbirdio/netbird/commit/f25b5bb9875297b69ad59a0953d374b2cb99b146) Enhance match domain validation logic and add test cases - [`31f0879`](https://github.com/netbirdio/netbird/commit/31f0879e7174e63e14a840fa4bcc9adcf99ddd13) remove the leading dot and root dot support ns regex - [`3e3268d`](https://github.com/netbirdio/netbird/commit/3e3268db5ffc07702ab8788d12bbac4efb3698fc) Remove support for wildcard ns match domain - [`0eeda71`](https://github.com/netbirdio/netbird/commit/0eeda712d0195cccd430a2177a1d0244a3973aa8) add support for punycode domain - [`3d89cd4`](https://github.com/netbirdio/netbird/commit/3d89cd43c27d2bed1f611787d9c20bb555cae828) fix tests - [`f04e7c3`](https://github.com/netbirdio/netbird/commit/f04e7c3f06d5f1854fc1ef70b53b9197579d9b72) Merge branch 'main' into add-ns-punnycode-support - [`1d6c360`](https://github.com/netbirdio/netbird/commit/1d6c360aec9dfc8420163615123a7f50656af589) fix tests - [`273160c`](https://github.com/netbirdio/netbird/commit/273160c682d213e1f0a63562e66c4fbcdcf47676) [client] Use punycode domains internally consequently (#3867) - [`ff5eddf`](https://github.com/netbirdio/netbird/commit/ff5eddf70b577c2322073958251ad9cc21dcfd66) Merge branch 'main' into add-ns-punnycode-support ### 📊 Changes **38 files changed** (+287 additions, -259 deletions) <details> <summary>View changed files</summary> 📝 `client/iface/device/device_android.go` (+3 -2) 📝 `client/iface/device_android.go` (+2 -1) 📝 `client/iface/iface_create.go` (+6 -2) 📝 `client/iface/iface_create_android.go` (+3 -1) 📝 `client/iface/iface_create_darwin.go` (+3 -1) 📝 `client/internal/dns/file_unix.go` (+1 -1) 📝 `client/internal/dns/handler_chain.go` (+19 -17) 📝 `client/internal/dns/handler_chain_test.go` (+40 -39) 📝 `client/internal/dns/host.go` (+10 -7) 📝 `client/internal/dns/host_darwin.go` (+2 -2) 📝 `client/internal/dns/host_windows.go` (+2 -2) 📝 `client/internal/dns/mock_server.go` (+2 -2) 📝 `client/internal/dns/network_manager_unix.go` (+2 -2) 📝 `client/internal/dns/notifier.go` (+5 -15) 📝 `client/internal/dns/server.go` (+27 -29) 📝 `client/internal/dns/server_test.go` (+64 -65) 📝 `client/internal/dns/systemd_linux.go` (+3 -3) 📝 `client/internal/dns/upstream.go` (+3 -2) 📝 `client/internal/dns/upstream_android.go` (+2 -1) 📝 `client/internal/dns/upstream_general.go` (+2 -1) _...and 18 more files_ </details> ### 📄 Description ## Describe your changes ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 05:08:53 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#21743