From 29b0b06f6db33767f98fc6b354a957ba12633302 Mon Sep 17 00:00:00 2001 From: Joachim Bauch Date: Thu, 22 Feb 2024 14:06:05 +0100 Subject: [PATCH] Stopping the static proxy config should unregister from DNS monitor. --- proxy_config_static.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/proxy_config_static.go b/proxy_config_static.go index 9e1a887..84f7548 100644 --- a/proxy_config_static.go +++ b/proxy_config_static.go @@ -151,6 +151,10 @@ func (p *proxyConfigStatic) Start() error { if p.dnsDiscovery { for u, ips := range p.connectionsMap { + if ips.entry != nil { + continue + } + entry, err := p.dnsMonitor.Add(u, p.onLookup) if err != nil { return err @@ -170,6 +174,19 @@ func (p *proxyConfigStatic) Start() error { } func (p *proxyConfigStatic) Stop() { + p.mu.Lock() + defer p.mu.Unlock() + + if p.dnsDiscovery { + for _, ips := range p.connectionsMap { + if ips.entry == nil { + continue + } + + p.dnsMonitor.Remove(ips.entry) + ips.entry = nil + } + } } func (p *proxyConfigStatic) Reload(config *goconf.ConfigFile) error {