-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multi: Add getaddrv2 and addrv2. #2627
base: master
Are you sure you want to change the base?
Commits on Feb 7, 2022
-
addrmgr: Track network address types.
This commit adds support for determining and tracking the type of a network address when constructed.
Configuration menu - View commit details
-
Copy full SHA for 650a935 - Browse repository at this point
Copy the full SHA 650a935View commit details -
addrmgr: Add network address type filter.
This commit introduces a network address type filter that allows a caller to indicate the types of addresses that can be returned from the address manager. This allows finer control of what types of addresses may be broadcast to a particular peer. The filters are decided by the protocol version of the peer in a way that allows the address manager's internal implementation to remain agnostic of the protocol versioning logic.
Configuration menu - View commit details
-
Copy full SHA for 77e2118 - Browse repository at this point
Copy the full SHA 77e2118View commit details -
peer: Partially decouple peer from wire.
This prevents sending addresses in a version message that cannot be converted to a wire network address.
Configuration menu - View commit details
-
Copy full SHA for 2d13ac7 - Browse repository at this point
Copy the full SHA 2d13ac7View commit details -
addrmgr: Remove DNS lookups from address manager.
This removes the need to perform DNS lookups in the address manager.
Configuration menu - View commit details
-
Copy full SHA for a32aa05 - Browse repository at this point
Copy the full SHA a32aa05View commit details
Commits on Feb 26, 2022
-
addrmgr: Add TORv3 network address type.
This change adds support for TORv3 addresses to the address manager. It also allows connecting to a TORv3 hostname with the cli --connect flag when starting dcrd. It does not support relaying TORv3 addresses over the peer to peer network.
Configuration menu - View commit details
-
Copy full SHA for ddf3d7d - Browse repository at this point
Copy the full SHA ddf3d7dView commit details -
multi: Remove TORv2 network address type.
This change removes support for the TORv2 network address persistence and propogation across the peer to peer network.
Configuration menu - View commit details
-
Copy full SHA for 27215a0 - Browse repository at this point
Copy the full SHA 27215a0View commit details -
peer/wire: Add addrv2 and getaddrv2 message types.
This commit modifies the wire protocol by adding two new message types addrv2 and getaddrv2 and bumps the wire protocol version to 10. It does not introduce any new network address types and is intended to implement the minimum framework necessary to support easily adding new address types in future commits. These two new message types are intended to eventually replace their older counterparts, which are getaddr and addr respectively. A peer sending a getaddrv2 or addrv2 message with a protocol version less than 10 is in violation of the wire protocol and the peer is disconnected. Similarly, peers advertising a protocol version greater than or equal to 10 that send an addr or gettaddr message are in violation of the wire protocol and are disconnected. A getaddrv2 message is similar in structure and purpose to a getaddr message in that it has no payload and functions as a request for a peer to reply with an addrv2 message if it has addresses to share. An addrv2 message is similar in structure and function to an addr message with a few key differences: - Port is now encoded as a little endian value rather than big endian. - Timestamp is encoded as a 64 bit value rather than a 32 bit value. - A network address type field is now serialized with each address to indicate the length and type of the address it precedes. - A message with zero addresses is no longer serializable. - Addresses are serialized their most compact form, rather than always being encoded into a 16 byte structure.
Configuration menu - View commit details
-
Copy full SHA for 404ec69 - Browse repository at this point
Copy the full SHA 404ec69View commit details -
connmgr: Allow seeding additional address types.
This commit adds support for address types supported by the address manager when recieving addresses from a seeder.
Configuration menu - View commit details
-
Copy full SHA for c8b98b1 - Browse repository at this point
Copy the full SHA c8b98b1View commit details -
peer/wire: Relay TORv3 addresses.
This commit relays TORv3 addresses across the peer to peer network and bumps the wire protocol version to 11.
Configuration menu - View commit details
-
Copy full SHA for 3632c29 - Browse repository at this point
Copy the full SHA 3632c29View commit details