mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-04 16:16:40 +00:00
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
package dns
|
|
|
|
import (
|
|
"net/netip"
|
|
|
|
"github.com/netbirdio/netbird/client/internal/statemanager"
|
|
)
|
|
|
|
// androidHostManager is a noop on the OS side (Android's VPN service handles
|
|
// DNS for us) but tracks the OS-reported resolver list pushed via
|
|
// OnUpdatedHostDNSServer so it can serve as the fallback nameserver source.
|
|
type androidHostManager struct {
|
|
holder *hostsDNSHolder
|
|
}
|
|
|
|
func newHostManager(holder *hostsDNSHolder) (*androidHostManager, error) {
|
|
return &androidHostManager{holder: holder}, nil
|
|
}
|
|
|
|
func (a *androidHostManager) applyDNSConfig(HostDNSConfig, *statemanager.Manager) error {
|
|
return nil
|
|
}
|
|
|
|
func (a *androidHostManager) restoreHostDNS() error {
|
|
return nil
|
|
}
|
|
|
|
func (a *androidHostManager) supportCustomPort() bool {
|
|
return false
|
|
}
|
|
|
|
func (a *androidHostManager) string() string {
|
|
return "none"
|
|
}
|
|
|
|
func (a *androidHostManager) getOriginalNameservers() []netip.Addr {
|
|
hosts := a.holder.get()
|
|
out := make([]netip.Addr, 0, len(hosts))
|
|
for ap := range hosts {
|
|
out = append(out, ap.Addr())
|
|
}
|
|
return out
|
|
}
|