From 4036213dd5d39a10fbce8989ff307a12fbc40c31 Mon Sep 17 00:00:00 2001 From: Jonathon Reinhart Date: Sat, 13 Mar 2021 02:38:13 -0500 Subject: [PATCH] Simplify peerIP determination in connectionChecker() peerIP = net.ParseIP(addr.IP.String()) can be simplified to just: peerIP = addr.IP but we can also skip the safe cast since we know the net.Addr will always be net.TCPAddr because we only have TCP listeners. --- main.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index de436c8..7837529 100644 --- a/main.go +++ b/main.go @@ -17,14 +17,8 @@ import ( ) func connectionChecker(peer smtpd.Peer) error { - var peerIP net.IP - if addr, ok := peer.Addr.(*net.TCPAddr); ok { - peerIP = net.ParseIP(addr.IP.String()) - } else { - log.WithField("ip", addr.IP). - Warn("failed to parse IP") - return smtpd.Error{Code: 421, Message: "Denied"} - } + // This can't panic because we only have TCP listeners + peerIP := peer.Addr.(*net.TCPAddr).IP nets := strings.Split(*allowedNets, " ")