From 290e6992a873fd288db45dfdd11d43486253725f Mon Sep 17 00:00:00 2001 From: Viktor Liu Date: Sun, 5 Jan 2025 14:44:04 +0100 Subject: [PATCH] Demote close error levels --- client/firewall/uspfilter/conntrack/icmp.go | 2 +- client/firewall/uspfilter/conntrack/udp.go | 2 +- client/firewall/uspfilter/forwarder/tcp.go | 16 +++++----------- client/firewall/uspfilter/forwarder/udp.go | 14 +++++++------- 4 files changed, 14 insertions(+), 20 deletions(-) diff --git a/client/firewall/uspfilter/conntrack/icmp.go b/client/firewall/uspfilter/conntrack/icmp.go index 7796b090840..25cd9e87d72 100644 --- a/client/firewall/uspfilter/conntrack/icmp.go +++ b/client/firewall/uspfilter/conntrack/icmp.go @@ -139,7 +139,7 @@ func (t *ICMPTracker) cleanup() { t.ipPool.Put(conn.DestIP) delete(t.connections, key) - t.logger.Debug("ICMPTracker: removed connection %v", key) + t.logger.Debug("Removed ICMP connection %v (timeout)", key) } } } diff --git a/client/firewall/uspfilter/conntrack/udp.go b/client/firewall/uspfilter/conntrack/udp.go index 7e030f7f2f9..e73465e3195 100644 --- a/client/firewall/uspfilter/conntrack/udp.go +++ b/client/firewall/uspfilter/conntrack/udp.go @@ -124,7 +124,7 @@ func (t *UDPTracker) cleanup() { t.ipPool.Put(conn.DestIP) delete(t.connections, key) - t.logger.Trace("UDP connection timed out: %v", conn) + t.logger.Trace("Removed UDP connection %v (timeout)", conn) } } } diff --git a/client/firewall/uspfilter/forwarder/tcp.go b/client/firewall/uspfilter/forwarder/tcp.go index 3cdc4521842..6d7cf3b6a70 100644 --- a/client/firewall/uspfilter/forwarder/tcp.go +++ b/client/firewall/uspfilter/forwarder/tcp.go @@ -33,7 +33,7 @@ func (f *Forwarder) handleTCP(r *tcp.ForwarderRequest) { if epErr != nil { f.logger.Error("forwarder: failed to create TCP endpoint: %v", epErr) if err := outConn.Close(); err != nil { - f.logger.Error("forwarder: outConn close error: %v", err) + f.logger.Debug("forwarder: outConn close error: %v", err) } r.Complete(true) return @@ -52,10 +52,10 @@ func (f *Forwarder) handleTCP(r *tcp.ForwarderRequest) { func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn, outConn net.Conn, ep tcpip.Endpoint) { defer func() { if err := inConn.Close(); err != nil { - f.logger.Error("forwarder: inConn close error: %v", err) + f.logger.Debug("forwarder: inConn close error: %v", err) } if err := outConn.Close(); err != nil { - f.logger.Error("forwarder: outConn close error: %v", err) + f.logger.Debug("forwarder: outConn close error: %v", err) } ep.Close() }() @@ -67,18 +67,12 @@ func (f *Forwarder) proxyTCP(id stack.TransportEndpointID, inConn *gonet.TCPConn errChan := make(chan error, 2) go func() { - n, err := io.Copy(outConn, inConn) - if err != nil && !isClosedError(err) { - f.logger.Error("inbound->outbound copy error after %d bytes: %v", n, err) - } + _, err := io.Copy(outConn, inConn) errChan <- err }() go func() { - n, err := io.Copy(inConn, outConn) - if err != nil && !isClosedError(err) { - f.logger.Error("outbound->inbound copy error after %d bytes: %v", n, err) - } + _, err := io.Copy(inConn, outConn) errChan <- err }() diff --git a/client/firewall/uspfilter/forwarder/udp.go b/client/firewall/uspfilter/forwarder/udp.go index 3861607e07e..67dd216161d 100644 --- a/client/firewall/uspfilter/forwarder/udp.go +++ b/client/firewall/uspfilter/forwarder/udp.go @@ -73,10 +73,10 @@ func (f *udpForwarder) Stop() { for id, conn := range f.conns { conn.cancel() if err := conn.conn.Close(); err != nil { - f.logger.Error("forwarder: UDP conn close error for %v: %v", id, err) + f.logger.Debug("forwarder: UDP conn close error for %v: %v", id, err) } if err := conn.outConn.Close(); err != nil { - f.logger.Error("forwarder: UDP outConn close error for %v: %v", id, err) + f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err) } conn.ep.Close() @@ -107,10 +107,10 @@ func (f *udpForwarder) cleanup() { for _, idle := range idleConns { idle.conn.cancel() if err := idle.conn.conn.Close(); err != nil { - f.logger.Error("forwarder: UDP conn close error for %v: %v", idle.id, err) + f.logger.Debug("forwarder: UDP conn close error for %v: %v", idle.id, err) } if err := idle.conn.outConn.Close(); err != nil { - f.logger.Error("forwarder: UDP outConn close error for %v: %v", idle.id, err) + f.logger.Debug("forwarder: UDP outConn close error for %v: %v", idle.id, err) } idle.conn.ep.Close() @@ -154,7 +154,7 @@ func (f *Forwarder) handleUDP(r *udp.ForwarderRequest) { wq := waiter.Queue{} ep, epErr := r.CreateEndpoint(&wq) if epErr != nil { - f.logger.Error("forwarder: failed to create UDP endpoint: %v", epErr) + f.logger.Debug("forwarder: failed to create UDP endpoint: %v", epErr) if err := outConn.Close(); err != nil { f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err) } @@ -196,10 +196,10 @@ func (f *Forwarder) proxyUDP(ctx context.Context, pConn *udpPacketConn, id stack defer func() { pConn.cancel() if err := pConn.conn.Close(); err != nil { - f.logger.Error("forwarder: UDP inConn close error for %v: %v", id, err) + f.logger.Debug("forwarder: UDP inConn close error for %v: %v", id, err) } if err := pConn.outConn.Close(); err != nil { - f.logger.Error("forwarder: UDP outConn close error for %v: %v", id, err) + f.logger.Debug("forwarder: UDP outConn close error for %v: %v", id, err) } ep.Close()