]> Sergey Matveev's repositories - btrtrc.git/blobdiff - peerconn.go
Relax TestTcpSimultaneousOpen
[btrtrc.git] / peerconn.go
index 9915758332b7ca1408e58fd566008e3bba224e19..a9b835ac584ac9b11de2adff7cf21e0af597caee 100644 (file)
@@ -1072,10 +1072,15 @@ func (c *PeerConn) dialAddr() PeerRemoteAddr {
        return netip.AddrPortFrom(addrPort.Addr(), uint16(c.PeerListenPort))
 }
 
-func (c *PeerConn) pexEvent(t pexEventType) pexEvent {
+func (c *PeerConn) pexEvent(t pexEventType) (_ pexEvent, err error) {
        f := c.pexPeerFlags()
-       addr := c.dialAddr()
-       return pexEvent{t, addr, f, nil}
+       dialAddr := c.dialAddr()
+       addr, err := addrPortFromPeerRemoteAddr(dialAddr)
+       if err != nil || !addr.IsValid() {
+               err = fmt.Errorf("parsing dial addr %q: %w", dialAddr, err)
+               return
+       }
+       return pexEvent{t, addr, f, nil}, nil
 }
 
 func (c *PeerConn) String() string {