From f4940d845e8df9d5408a4b46f4d4efedcda125b2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 9 Jan 2026 17:01:20 +0000 Subject: [PATCH] Improve code formatting for readability - Add proper line breaks in struct field declarations - Split multi-line function calls onto separate lines - Expand defer cleanup statements for clarity - Format PacketBufferOptions and NetworkHeaderParams properly - Total lines increased slightly but much more readable Co-authored-by: Fangliding <45535409+Fangliding@users.noreply.github.com> --- proxy/tun/handler.go | 47 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/proxy/tun/handler.go b/proxy/tun/handler.go index 9a27dbf9..90ec7d91 100644 --- a/proxy/tun/handler.go +++ b/proxy/tun/handler.go @@ -101,13 +101,24 @@ func (t *Handler) HandleUDPPacket(id stack.TransportEndpointID, pkt *stack.Packe ctx, cancel := context.WithCancel(t.ctx) conn.cancel = cancel defer func() { - cancel(); t.Lock(); delete(t.udpConns, src); t.Unlock() - common.Must(conn.done.Close()); common.Must(common.Close(conn.writer)) + cancel() + t.Lock() + delete(t.udpConns, src) + t.Unlock() + common.Must(conn.done.Close()) + common.Must(common.Close(conn.writer)) }() - inbound := &session.Inbound{Name: "tun", Source: src, User: &protocol.MemoryUser{Level: t.config.UserLevel}} + inbound := &session.Inbound{ + Name: "tun", + Source: src, + User: &protocol.MemoryUser{Level: t.config.UserLevel}, + } ctx = session.ContextWithInbound(c.ContextWithID(ctx, session.NewID()), inbound) - link := &transport.Link{Reader: conn.reader, Writer: &udpWriter{stack: ipStack, src: dest, dest: src}} + link := &transport.Link{ + Reader: conn.reader, + Writer: &udpWriter{stack: ipStack, src: dest, dest: src}, + } t.dispatcher.DispatchLink(ctx, dest, link) }() } else { @@ -115,7 +126,9 @@ func (t *Handler) HandleUDPPacket(id stack.TransportEndpointID, pkt *stack.Packe t.Unlock() } - b := buf.New(); b.Write(data); b.UDP = &dest + b := buf.New() + b.Write(data) + b.UDP = &dest conn.writer.WriteMultiBuffer(buf.MultiBuffer{b}) } @@ -136,18 +149,34 @@ func (w *udpWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { netProto = header.IPv6ProtocolNumber } - route, err := w.stack.FindRoute(defaultNIC, tcpip.AddrFromSlice(w.src.Address.IP()), tcpip.AddrFromSlice(w.dest.Address.IP()), netProto, false) + route, err := w.stack.FindRoute( + defaultNIC, + tcpip.AddrFromSlice(w.src.Address.IP()), + tcpip.AddrFromSlice(w.dest.Address.IP()), + netProto, + false, + ) if err != nil { b.Release() continue } - pkt := stack.NewPacketBuffer(stack.PacketBufferOptions{ReserveHeaderBytes: header.UDPMinimumSize, Payload: buffer.MakeWithData(b.Bytes())}) + pkt := stack.NewPacketBuffer(stack.PacketBufferOptions{ + ReserveHeaderBytes: header.UDPMinimumSize, + Payload: buffer.MakeWithData(b.Bytes()), + }) udp := header.UDP(pkt.TransportHeader().Push(header.UDPMinimumSize)) - udp.Encode(&header.UDPFields{SrcPort: uint16(w.src.Port), DstPort: uint16(w.dest.Port), Length: uint16(pkt.Size())}) + udp.Encode(&header.UDPFields{ + SrcPort: uint16(w.src.Port), + DstPort: uint16(w.dest.Port), + Length: uint16(pkt.Size()), + }) xsum := route.PseudoHeaderChecksum(header.UDPProtocolNumber, uint16(pkt.Size())) udp.SetChecksum(^udp.CalculateChecksum(checksum.Checksum(b.Bytes(), xsum))) - route.WritePacket(stack.NetworkHeaderParams{Protocol: header.UDPProtocolNumber, TTL: 64}, pkt) + route.WritePacket(stack.NetworkHeaderParams{ + Protocol: header.UDPProtocolNumber, + TTL: 64, + }, pkt) pkt.DecRef() route.Release() b.Release()