Skip to content
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

Ephemeral returns #44

Open
wants to merge 64 commits into
base: master
Choose a base branch
from
Open

Ephemeral returns #44

wants to merge 64 commits into from

Conversation

ameba23
Copy link
Member

@ameba23 ameba23 commented Jan 10, 2019

Use ephemeral-keys for returning shards

@ameba23 ameba23 added the WIP Work in Progress label Jan 10, 2019
@ameba23 ameba23 added the bug Something isn't working label Jan 19, 2019
@m4gpi m4gpi mentioned this pull request Jan 19, 2019
@mixmix
Copy link
Member

mixmix commented Mar 12, 2019

@ameba23 Did a quick review of this. Apologies if some things I said are naive.

Overview of thoughts:

  • let's get this merged but keep the interface private till we get UI in
  • please merge some of the key / context logic back into ssb-ephemeral-keys, it's not appropriate in this module
  • Did anyone review ssb-ephemeral-keys ?
    • I feel like I'd (or someone'd) need to read that all carefully to actually sign off on this
    • I didn't do a full review of how safe this was. We need to make sure that's done. Perhaps this means we need to put it in our calendar after this Eth Fdn call and @KGibb8 does this
  • There's a massive gotcha with a sync method I've markded with a 🔥 🔥 🔥 link

if (shareVersion === '1.0.0' || !isBoxedMessage(shard.share)) {
cb(null, shard.share)
} else {
const dbKey = JSON.stringify({ rootId, recp: shard.feedId })
Copy link
Member

Choose a reason for hiding this comment

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

🔥 move logic

@ameba23
Copy link
Member Author

ameba23 commented Mar 15, 2019

so i've almost made all the proposed changes, but stuck on making a reduce function async in the recobine tests

i have to mention @mixmix, that dealing with this labyrinth of tests has been by far the most time-consuming part of adding ephemeral keys to returns.

@m4gpi
Copy link
Member

m4gpi commented Mar 19, 2019

Generally the primary function of tests is to make sure we're alerted to any breaking changes, and often the largest part of the work is updating tests. They're there for a good reason. We don't want bad code ending up in here, particularly if we're dealing with secure information.

I'll have a look at that particular test when I've got a moment.

@ameba23
Copy link
Member Author

ameba23 commented Apr 7, 2019

following @dominictarr 's security review of ssb-ephemeral-keys, that module is changing quite a bit (see this conversation.

Specifically the module will use flat files rather than level to store ephemeral keys, to make them easier to securely delete. see this pr

ameba23 referenced this pull request in ssbc/ssb-ephemeral-keys Apr 7, 2019
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