Skip to content

feat(ocapn-noise): Send expected responder public key in clear text for routing#3034

Merged
kriskowal merged 1 commit intomasterfrom
kriskowal-ocapn-noise-relayable
Feb 10, 2026
Merged

feat(ocapn-noise): Send expected responder public key in clear text for routing#3034
kriskowal merged 1 commit intomasterfrom
kriskowal-ocapn-noise-relayable

Conversation

@kriskowal
Copy link
Member

@kriskowal kriskowal commented Jan 1, 2026

This change prepares the experimental OCapN Noise Protocol cryptography so that a relay can see the expected responder’s public key in plain text and use that to route. This will likely limit the use of this cryptography to connection hints specifically denoting relays, and create an obligation to communicate to the user that this kind of connection hint reveals the key of the recipient, and Tor’s right there if you need to hide that information better.

Regardless, I expect most OCapN clients will stand for multiple public keys, one for each profile, and this feature is necessary to complete a handshake on such a peer.

@kriskowal kriskowal requested review from kumavis and rekmarks January 1, 2026 08:18
@danfinlay
Copy link

The title of this post is truncated, and I can't easily view the full text of it in the github interface.

@kriskowal kriskowal changed the title feat(ocapn-noise): Send expected responder public key in clear text f… feat(ocapn-noise): Send expected responder public key in clear text for routing Jan 5, 2026
@kriskowal kriskowal marked this pull request as ready for review January 5, 2026 06:33
Copy link
Contributor

@rekmarks rekmarks left a comment

Choose a reason for hiding this comment

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

Just one in-line nit

Comment on lines 343 to 347
if (code === 7) {
throw new Error(
'OCapN Noise Protocol SYN intended for different responder',
);
} else if (code === 1) {
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: Numerically out of order

@kriskowal kriskowal force-pushed the kriskowal-ocapn-noise-relayable branch from f13bc7e to a1de705 Compare February 10, 2026 22:53
@changeset-bot
Copy link

changeset-bot bot commented Feb 10, 2026

⚠️ No Changeset found

Latest commit: a1de705

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@kriskowal kriskowal enabled auto-merge February 10, 2026 22:54
@kriskowal kriskowal merged commit fe9e137 into master Feb 10, 2026
22 checks passed
@kriskowal kriskowal deleted the kriskowal-ocapn-noise-relayable branch February 10, 2026 23:00
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.

3 participants