Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

fix: allow key field to be unset #118

Merged
merged 2 commits into from
Jan 31, 2023

Conversation

ckousik
Copy link
Contributor

@ckousik ckousik commented Jan 30, 2023

Allows field key to not be set in case key can be extracted from the sender's peer ID. (as per https://github.com/libp2p/specs/tree/master/pubsub#message-signing)

@p-shahi p-shahi requested a review from achingbrain January 30, 2023 19:02
Comment on lines +102 to 103
// @ts-expect-error key need not be defined
key: message.key
Copy link
Member

Choose a reason for hiding this comment

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

Instead of ts-expect-error, please verify that the key is present and correct - e.g. it should come from the message or the peer id, and if it's present in both the message and the peer id, they should be the same.

Copy link
Contributor Author

@ckousik ckousik Jan 31, 2023

Choose a reason for hiding this comment

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

Fixed. The @ts-expect-error has been retained since it should be nullable. The value of message.key is now verified in isSigned.

As far as secp256k1 or ed25519 keys are concerned, consider the current behaviour here. Since the public key is extractable, the msg.Key field is left unset, and the current js implementation considers this as an unsigned message.

@achingbrain achingbrain changed the title Allow key field to be unset fix: allow key field to be unset Jan 31, 2023
@achingbrain achingbrain merged commit 2567a45 into libp2p:master Jan 31, 2023
github-actions bot pushed a commit that referenced this pull request Jan 31, 2023
## [6.0.1](v6.0.0...v6.0.1) (2023-01-31)

### Bug Fixes

* allow `key` field to be unset ([#118](#118)) ([2567a45](2567a45))

### Trivial Changes

* replace err-code with CodeError ([#116](#116)) ([e121e4b](e121e4b)), closes [js-libp2p#1269](libp2p/js-libp2p#1269)
@github-actions
Copy link

🎉 This PR is included in version 6.0.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
Archived in project
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants