mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Temporary fix on ENDPOINTS message hops=0 when no remote addr set
This commit is contained in:
@@ -1680,28 +1680,6 @@ void PeerImp::recvEndpoints (protocol::TMEndpoints& packet)
|
|||||||
// hops
|
// hops
|
||||||
endpoint.hops = tm.hops();
|
endpoint.hops = tm.hops();
|
||||||
|
|
||||||
// ipv4
|
|
||||||
if (endpoint.hops > 0)
|
|
||||||
{
|
|
||||||
in_addr addr;
|
|
||||||
addr.s_addr = tm.ipv4().ipv4();
|
|
||||||
IPEndpoint::V4 v4 (ntohl (addr.s_addr));
|
|
||||||
endpoint.address = IPEndpoint (v4, 0);
|
|
||||||
endpoint.port = tm.ipv4().ipv4port ();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// This Endpoint describes the peer we are connected to.
|
|
||||||
// We will take the remote address seen on the socket and
|
|
||||||
// store that in the Endpoint. If this is the first time,
|
|
||||||
// then we'll verify that their listener can receive incoming
|
|
||||||
// by performing a connectivity test.
|
|
||||||
//
|
|
||||||
bassert (m_remoteAddressSet);
|
|
||||||
endpoint.address = m_remoteAddress.withPort (0);
|
|
||||||
endpoint.port = tm.ipv4().ipv4port ();
|
|
||||||
}
|
|
||||||
|
|
||||||
// slots
|
// slots
|
||||||
endpoint.incomingSlotsAvailable = tm.slots();
|
endpoint.incomingSlotsAvailable = tm.slots();
|
||||||
|
|
||||||
@@ -1711,7 +1689,32 @@ void PeerImp::recvEndpoints (protocol::TMEndpoints& packet)
|
|||||||
// uptimeMinutes
|
// uptimeMinutes
|
||||||
endpoint.uptimeMinutes = tm.uptimeminutes();
|
endpoint.uptimeMinutes = tm.uptimeminutes();
|
||||||
|
|
||||||
endpoints.push_back (endpoint);
|
// ipv4
|
||||||
|
if (endpoint.hops > 0)
|
||||||
|
{
|
||||||
|
in_addr addr;
|
||||||
|
addr.s_addr = tm.ipv4().ipv4();
|
||||||
|
IPEndpoint::V4 v4 (ntohl (addr.s_addr));
|
||||||
|
endpoint.address = IPEndpoint (v4, 0);
|
||||||
|
endpoint.port = tm.ipv4().ipv4port ();
|
||||||
|
|
||||||
|
endpoints.push_back (endpoint);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// This Endpoint describes the peer we are connected to.
|
||||||
|
// We will take the remote address seen on the socket and
|
||||||
|
// store that in the Endpoint. If this is the first time,
|
||||||
|
// then we'll verify that their listener can receive incoming
|
||||||
|
// by performing a connectivity test.
|
||||||
|
//
|
||||||
|
if (m_remoteAddressSet)
|
||||||
|
{
|
||||||
|
endpoint.address = m_remoteAddress.withPort (0);
|
||||||
|
endpoint.port = tm.ipv4().ipv4port ();
|
||||||
|
endpoints.push_back (endpoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getApp().getPeers().getPeerFinder().onPeerEndpoints (
|
getApp().getPeers().getPeerFinder().onPeerEndpoints (
|
||||||
|
|||||||
Reference in New Issue
Block a user