From a4793a834467166c4a1068a79cbe03adcef5a1d0 Mon Sep 17 00:00:00 2001
From: Thomas Preisner <ty28wuqu@cip.cs.fau.de>
Date: Mon, 24 Jan 2022 21:51:00 +0100
Subject: [PATCH] simplify tls listener creation

---
 goatherd.go | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/goatherd.go b/goatherd.go
index f75d3d8..1720133 100644
--- a/goatherd.go
+++ b/goatherd.go
@@ -544,22 +544,19 @@ func serve() {
 
 	for addr, tlsCfg := range cfg.Listen {
 		var listener net.Listener
-		listenAddr, err := net.ResolveTCPAddr("tcp", addr)
-		errFatal(err)
-		listener, err = net.ListenTCP("tcp", listenAddr)
-		errFatal(err)
 
 		if tlsCfg.Key != "" {
 			log.Printf("Using TLS: cert %v, key %v\n", tlsCfg.Cert, tlsCfg.Key)
 			cert, err := tls.LoadX509KeyPair(tlsCfg.Cert, tlsCfg.Key)
 			errFatalf("Error loading key pair: %v\n", err)
 
-			listener = tls.NewListener(listener, &tls.Config{
+			listener, err = tls.Listen("tcp", addr, &tls.Config{
 				Certificates: []tls.Certificate{cert},
 			})
+			errFatalf("Error setting up listener: %v\n", err)
 		}
 
-		log.Println("Listening on", listenAddr)
+		log.Println("Listening on", listener.Addr())
 		wg.Add(1)
 		go listen(&wg, listener)
 	}
-- 
GitLab