Skip to content

mixpool: Only ban full nodes for bad UTXO sigs#3345

Merged
davecgh merged 1 commit intodecred:masterfrom
jrick:nosigban
Jun 4, 2024
Merged

mixpool: Only ban full nodes for bad UTXO sigs#3345
davecgh merged 1 commit intodecred:masterfrom
jrick:nosigban

Conversation

@jrick
Copy link
Member

@jrick jrick commented Jun 3, 2024

If an invalid UTXO signature in a pair request message is received from any
node besides a full node, reject the message but do not ban for the error.
However, full nodes are required to check this before relaying. Ban any
self-reporting full node that still sends these invalid messages.

Because the banning logic is currently isolated to the mixpool package and
mixpool is unaware of the capabilities of the peer that provided the message,
give IsBannable an additional service flags argument. This changes the
semantics of the bannable errors to only be bannable when all of the required
service flags are described.

@jrick jrick changed the title mixpool: Remove ban for invalid UTXO check mixpool: Only ban full nodes for bad UTXO sigs Jun 3, 2024
@jrick jrick force-pushed the nosigban branch 3 times, most recently from ae30987 to 2fdeb98 Compare June 3, 2024 23:12
@davecgh davecgh added this to the 2.0.2 milestone Jun 4, 2024
Copy link
Member

@davecgh davecgh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Will approve and merge after squash.

If an invalid UTXO signature in a pair request message is received from any
node besides a full node, reject the message but do not ban for the error.
However, full nodes are required to check this before relaying.  Ban any
self-reporting full node that still sends these invalid messages

Because the banning logic is currently isolated to the mixpool package and
mixpool is unaware of the capabilities of the peer that provided the message,
give IsBannable an additional service flags argument.  This changes the
semantics of the bannable errors to only be bannable when all of the required
service flags are described.
@davecgh davecgh merged commit 170542d into decred:master Jun 4, 2024
@jrick jrick deleted the nosigban branch June 5, 2024 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants