From 8d737a69f550158ed6a08aef46bdb975ac6e47cb Mon Sep 17 00:00:00 2001 From: ignoramous Date: Sun, 12 Jun 2022 14:57:55 +0530 Subject: [PATCH] PluginDNS64: Use read and write mutexes as approp (#2124) --- dnscrypt-proxy/plugin_dns64.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dnscrypt-proxy/plugin_dns64.go b/dnscrypt-proxy/plugin_dns64.go index 9957a65b..0c1b47b2 100644 --- a/dnscrypt-proxy/plugin_dns64.go +++ b/dnscrypt-proxy/plugin_dns64.go @@ -42,8 +42,8 @@ func (plugin *PluginDNS64) Init(proxy *Proxy) error { plugin.proxy = proxy if len(proxy.dns64Prefixes) != 0 { - plugin.pref64Mutex.RLock() - defer plugin.pref64Mutex.RUnlock() + plugin.pref64Mutex.Lock() + defer plugin.pref64Mutex.Unlock() for _, prefStr := range proxy.dns64Prefixes { _, pref, err := net.ParseCIDR(prefStr) if err != nil { @@ -132,7 +132,7 @@ func (plugin *PluginDNS64) Eval(pluginsState *PluginsState, msg *dns.Msg) error ipv4 := answer.(*dns.A).A.To4() if ipv4 != nil { - plugin.pref64Mutex.Lock() + plugin.pref64Mutex.RLock() for _, prefix := range plugin.pref64 { ipv6 := translateToIPv6(ipv4, prefix) synthAAAA := new(dns.AAAA) @@ -145,7 +145,7 @@ func (plugin *PluginDNS64) Eval(pluginsState *PluginsState, msg *dns.Msg) error synthAAAA.AAAA = ipv6 synthAAAAs = append(synthAAAAs, synthAAAA) } - plugin.pref64Mutex.Unlock() + plugin.pref64Mutex.RUnlock() } } } @@ -239,8 +239,8 @@ func (plugin *PluginDNS64) fetchPref64(resolver string) error { return errors.New("Empty Pref64 list") } - plugin.pref64Mutex.RLock() - defer plugin.pref64Mutex.RUnlock() + plugin.pref64Mutex.Lock() + defer plugin.pref64Mutex.Unlock() plugin.pref64 = prefixes return nil } @@ -252,8 +252,8 @@ func (plugin *PluginDNS64) refreshPref64() error { } } - plugin.pref64Mutex.Lock() - defer plugin.pref64Mutex.Unlock() + plugin.pref64Mutex.RLock() + defer plugin.pref64Mutex.RUnlock() if len(plugin.pref64) == 0 { return errors.New("Empty Pref64 list") }