From 934bf233c9ba72bd8fff6c88c5507568447d9139 Mon Sep 17 00:00:00 2001 From: William Banfield Date: Thu, 20 Oct 2022 13:06:36 -0400 Subject: [PATCH] must prefix in pex conversion code --- consensus/byzantine_test.go | 12 ++++++------ p2p/peer.go | 2 +- p2p/pex/pex_reactor.go | 13 ++++++------- p2p/pex/pex_reactor_test.go | 14 +++++++------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/consensus/byzantine_test.go b/consensus/byzantine_test.go index ca5764cfa..86ae06efa 100644 --- a/consensus/byzantine_test.go +++ b/consensus/byzantine_test.go @@ -166,13 +166,13 @@ func TestByzantinePrevoteEquivocation(t *testing.T) { if i < len(peerList)/2 { bcs.Logger.Info("Signed and pushed vote", "vote", prevote1, "peer", peer) peer.Send(p2p.Envelope{ - Message: MustConvertMsgToProto(&VoteMessage{prevote1}), + Message: MsgToProto(&VoteMessage{prevote1}), ChannelID: VoteChannel, }) } else { bcs.Logger.Info("Signed and pushed vote", "vote", prevote2, "peer", peer) peer.Send(p2p.Envelope{ - Message: MustConvertMsgToProto(&VoteMessage{prevote2}), + Message: MsgToProto(&VoteMessage{prevote2}), ChannelID: VoteChannel, }) } @@ -529,7 +529,7 @@ func sendProposalAndParts( msg := &ProposalMessage{Proposal: proposal} peer.Send(p2p.Envelope{ ChannelID: DataChannel, - Message: MustConvertMsgToProto(msg), + Message: MsgToProto(msg), }) // parts @@ -542,7 +542,7 @@ func sendProposalAndParts( } peer.Send(p2p.Envelope{ ChannelID: DataChannel, - Message: MustConvertMsgToProto(msg), + Message: MsgToProto(msg), }) } @@ -553,11 +553,11 @@ func sendProposalAndParts( cs.mtx.Unlock() peer.Send(p2p.Envelope{ ChannelID: VoteChannel, - Message: MustConvertMsgToProto(&VoteMessage{prevote}), + Message: MsgToProto(&VoteMessage{prevote}), }) peer.Send(p2p.Envelope{ ChannelID: VoteChannel, - Message: MustConvertMsgToProto(&VoteMessage{precommit}), + Message: MsgToProto(&VoteMessage{precommit}), }) } diff --git a/p2p/peer.go b/p2p/peer.go index 3f9d5e658..2bf40f8ad 100644 --- a/p2p/peer.go +++ b/p2p/peer.go @@ -263,7 +263,7 @@ func (p *peer) Send(e Envelope) bool { } msgBytes, err := proto.Marshal(e.Message) if err != nil { - panic(err) + panic(err) // Q: should this panic or error? } res := p.mconn.Send(e.ChannelID, msgBytes) if res { diff --git a/p2p/pex/pex_reactor.go b/p2p/pex/pex_reactor.go index 2d31b9c7e..4855528c9 100644 --- a/p2p/pex/pex_reactor.go +++ b/p2p/pex/pex_reactor.go @@ -420,11 +420,10 @@ func (r *Reactor) RequestAddrs(p Peer) { } r.Logger.Debug("Request addrs", "from", p) r.requestsSent.Set(id, struct{}{}) - e := p2p.Envelope{ + p.Send(p2p.Envelope{ ChannelID: PexChannel, - Message: toWrappedProto(&tmp2p.PexRequest{}), - } - p.Send(e) + Message: mustMsgToWrappedProto(&tmp2p.PexRequest{}), + }) } // ReceiveAddrs adds the given addrs to the addrbook if theres an open @@ -484,7 +483,7 @@ func (r *Reactor) ReceiveAddrs(addrs []*p2p.NetAddress, src Peer) error { func (r *Reactor) SendAddrs(p Peer, netAddrs []*p2p.NetAddress) { e := p2p.Envelope{ ChannelID: PexChannel, - Message: toWrappedProto(&tmp2p.PexAddrs{Addrs: p2p.NetAddressesToProto(netAddrs)}), + Message: mustMsgToWrappedProto(&tmp2p.PexAddrs{Addrs: p2p.NetAddressesToProto(netAddrs)}), } p.Send(e) } @@ -849,7 +848,7 @@ func markAddrInBookBasedOnErr(addr *p2p.NetAddress, book AddrBook, err error) { // mustEncode proto encodes a tmp2p.Message func mustEncode(pb proto.Message) []byte { - msg := toWrappedProto(pb) + msg := mustMsgToWrappedProto(pb) bz, err := proto.Marshal(msg) if err != nil { panic(fmt.Errorf("unable to marshal %T: %w", pb, err)) @@ -857,7 +856,7 @@ func mustEncode(pb proto.Message) []byte { return bz } -func toWrappedProto(pb proto.Message) proto.Message { +func mustMsgToWrappedProto(pb proto.Message) proto.Message { msg := tmp2p.Message{} switch pb := pb.(type) { case *tmp2p.PexRequest: diff --git a/p2p/pex/pex_reactor_test.go b/p2p/pex/pex_reactor_test.go index 252322606..8b3233a1f 100644 --- a/p2p/pex/pex_reactor_test.go +++ b/p2p/pex/pex_reactor_test.go @@ -133,11 +133,11 @@ func TestPEXReactorReceive(t *testing.T) { size := book.Size() msg := &tmp2p.PexAddrs{Addrs: []tmp2p.NetAddress{peer.SocketAddr().ToProto()}} r.Receive(PexChannel, peer, mustEncode(msg)) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(msg)}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(msg)}) assert.Equal(t, size+1, book.Size()) r.Receive(PexChannel, peer, mustEncode(&tmp2p.PexRequest{})) // should not panic. - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(&tmp2p.PexRequest{})}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(&tmp2p.PexRequest{})}) } func TestPEXReactorRequestMessageAbuse(t *testing.T) { @@ -160,19 +160,19 @@ func TestPEXReactorRequestMessageAbuse(t *testing.T) { // first time creates the entry r.Receive(PexChannel, peer, msg) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(&tmp2p.PexRequest{})}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(&tmp2p.PexRequest{})}) assert.True(t, r.lastReceivedRequests.Has(id)) assert.True(t, sw.Peers().Has(peer.ID())) // next time sets the last time value r.Receive(PexChannel, peer, msg) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(&tmp2p.PexRequest{})}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(&tmp2p.PexRequest{})}) assert.True(t, r.lastReceivedRequests.Has(id)) assert.True(t, sw.Peers().Has(peer.ID())) // third time is too many too soon - peer is removed r.Receive(PexChannel, peer, msg) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(&tmp2p.PexRequest{})}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(&tmp2p.PexRequest{})}) assert.False(t, r.lastReceivedRequests.Has(id)) assert.False(t, sw.Peers().Has(peer.ID())) assert.True(t, book.IsBanned(peerAddr)) @@ -200,13 +200,13 @@ func TestPEXReactorAddrsMessageAbuse(t *testing.T) { // receive some addrs. should clear the request r.Receive(PexChannel, peer, mustEncode(msg)) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(msg)}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(msg)}) assert.False(t, r.requestsSent.Has(id)) assert.True(t, sw.Peers().Has(peer.ID())) // receiving more unsolicited addrs causes a disconnect and ban r.Receive(PexChannel, peer, mustEncode(msg)) - r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: toWrappedProto(msg)}) + r.NewReceive(p2p.Envelope{ChannelID: PexChannel, Src: peer, Message: mustMsgToWrappedProto(msg)}) assert.False(t, sw.Peers().Has(peer.ID())) assert.True(t, book.IsBanned(peer.SocketAddr())) }