-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Add ed25519 support to the p2p/crypto package #827
Conversation
|
||
type Ed25519PublicKey struct { | ||
k *[ed25519.PublicKeySize]byte | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we can put these inside an ed25519
package so importing them is:
ed25519.PublicKey
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of implementing it the same way for RSA and ed25519. Do you think it is also desirable to put the RSA functions in a separate package as well ?
Also, I'm a bit reluctant here because we would have two packages containing different things and having the same name. the ed25519 from github.com/agl/ed25519 an the version from p2p/crypto/ed25519. Do you think this should be avoided, or not ? Same with the rsa package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of implementing it the same way for RSA and ed25519. Do you think it is also desirable to put the RSA functions in a separate package as well ?
Yeah, and they can follow a common interface.
Also, I'm a bit reluctant here because we would have two packages containing different things and having the same name. the ed25519 from github.com/agl/ed25519 an the version from p2p/crypto/ed25519. Do you think this should be avoided, or not ? Same with the rsa package.
Thanks for caring about this detail :) -- I think in this case it will be fine. Kind of like path
and crypto
and net
. the common names are overloaded-- the fully qualified import path is the truth. thankfully, in Go the local variable being bound at the top of the file let's the user quickly tell which it's coming from.
The builds are failing because of missing package |
In general, running 'go get' in a project does fetch all dependencies but we don't want to depend on the most current version (i.e. sudden breakage) that's why we copy the deps into We have a target to do this automatically, try 'make vendor' in the project root. ps: you sadly need to squash the commits that had the unvendored paths in it. Jenkins is setup to test every commit. @jbenet we should have contributor guidelines for this. |
Thank you. After running |
Oh right. I saw that as well on my spring-cleaning spree yesterday. Didn't finish it though.. I think you were right to leave it out of this, really isn't related. |
Two Failures on travis, but only one relevant. But the ps: I found this document useful on how to do the squashing, otherwise feel free to reach out on IRC. |
Ok, I'll rebase my branch soon, thanks |
b5bf0fa
to
95437f9
Compare
Vendoring github.com/agl/ed25519
Travis build using Go 1.3 are failing with:
for both the continuous-integration/travis-ci/pr and continuous-integration/travis-ci/push builds. Go 1.4 builds are fine. Do you have an idea where it comes from ? This pull request doesn't touch sharness tests. Jenkins fails with the |
that failure on 1.3 isnt really just 1.3. ive seen it on 1.4, but for some reason its most common on 1.3. No idea. but its not your fault. And the race error isnt something you need to worry about either. |
@mildred other than the packaging move, this LGTM. |
Looks good to me. All the right tests seem to pass |
Agreed, let's get this merged. if @mildred is not around, maybe we can rebase + move the package ourselves. |
This was labeled as "in progress", but we don't have anyone assigned 😨 Please assign someone 😃 |
Let's keep this in the backlog (or icebox). Can maybe land after upcoming keyspec anyway — On Mon, Mar 30, 2015 at 8:32 PM, Dylan Powers notifications@github.com
|
closing due to inactivity, please reopen as necessary note: all pull requests older than three weeks may be closed in an effort to keep our open pull requests more focused. |
@whyrusleeping I like the idea of putting issues/pull-requests in the icebox when there's been a period of inactivity. That way we can have a flow of only closing issues when they have actually been resolved. We can later come back to close this issue when it's no longer relevant and has thus been "resolved" because of it. I should add this case to ipfs/community#20 |
thats a good idea, can you bring it up during the sprint meeting tomorrow? |
I can try to remember to |
This is a follow-up of pull request #677. It has been completely re-made from zero. I started with two commits to clean up things a little bit, then implemented the ed25519 algorithm using the agl/ed25519 pure go library and with tests first.