diff options
| author | radhitya <alif@radhitya.org> | 2026-06-24 06:15:18 +0700 |
|---|---|---|
| committer | radhitya <alif@radhitya.org> | 2026-06-24 06:15:18 +0700 |
| commit | a6823756f0024814a74e255f7584193c0cd77b43 (patch) | |
| tree | b2eb3c1eb1d9db5e463d8e797cdbb7fff00c89d3 /internal/server/server.go | |
| parent | 2c61900dd5efd81a5351513a20fa65580c8a6616 (diff) | |
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index 7bdc917..6661722 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -33,12 +33,12 @@ type Server struct { rateLimiter *rateLimiter dot *dns.Server - mu sync.RWMutex - upUDP bool - upTCP bool - upDoH bool - upDoT bool - cancel context.CancelFunc + mu sync.RWMutex + upUDP bool + upTCP bool + upDoH bool + upDoT bool + cancel context.CancelFunc closeOnce sync.Once } @@ -117,6 +117,10 @@ func New(udpAddr, tcpAddr, dohAddr, dotAddr string, tlsCfg *tls.Config, logger * Handler: dohMux, ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second, + TLSConfig: tlsCfg, + } + if tlsCfg == nil { + slog.Warn("doh listener configured without tls") } } @@ -163,8 +167,13 @@ func (s *Server) Run(ctx context.Context) error { if s.doh != nil { go func() { - s.logger.Info("doh listener active", "addr", s.doh.Addr) - errCh <- s.doh.ListenAndServe() + s.logger.Info("doh listener active", "addr", s.doh.Addr, "tls", s.doh.TLSConfig != nil) + if s.doh.TLSConfig != nil { + errCh <- s.doh.ListenAndServeTLS("", "") + } else { + s.logger.Warn("doh listener serving plain http") + errCh <- s.doh.ListenAndServe() + } }() } if s.dot != nil { |
