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

remove elliptic.P224 usage #1548

Merged
merged 1 commit into from
Aug 4, 2015
Merged

remove elliptic.P224 usage #1548

merged 1 commit into from
Aug 4, 2015

Conversation

prusnak
Copy link
Contributor

@prusnak prusnak commented Aug 3, 2015

Fedora/RedHat distros comply with US patent law and remove this curve,
which makes it impossible to run ipfs with distro provided Golang.

I hope the change is OK, but I have not tested it.

I sent more or less the same issue to Ethereum project and it was accepted here: ethereum/go-ethereum@3f07afb

@GitCop
Copy link

GitCop commented Aug 3, 2015

There were the following issues with your Pull Request

  • Commit: 01c82c0
    • Invalid signoff. Commit message must end with
      License: MIT
      Signed-off-by: .* <.*>

Guidelines are available to help. Your feedback on GitCop is welcome on this issue


This message was auto-generated by https://gitcop.com

@jbenet jbenet added the backlog label Aug 3, 2015
Fedora/RedHat distros comply with US patent law and remove this curve,
which makes it impossible to run ipfs with distro provided Golang.

License: MIT
Signed-off-by: Pavol Rusnak <stick@gk2.sk>
@whyrusleeping
Copy link
Member

@prusnak I've filed a bug against the fedora maintainers for this in the past. Could you provide a bit more elaboration around 'complies with US patent law' ? If its illegal in some way to have that curve, then I would think that the Go team would remove it themselves.

@prusnak
Copy link
Contributor Author

prusnak commented Aug 3, 2015

It is not illegal. Red Hat is just cautious not to break any patent by shipping some patented code. Go maintainers have nothing to lose because they are not a company with assets.

Anyway, the discussion is irrelevant. The fact is go-ipfs does not work out of the box on RH-distros powered machines, which are quite common. If P-224 can be safely removed using the suggested code I would suggest to do it.

@whyrusleeping
Copy link
Member

I'm really curious what patents redhat is worried about, djb went through all relevant stuff and as far as he can tell, nothing applies to that curve: http://cr.yp.to/nistp224/patents.html

I'll merge the PR once i get a second 👍 from @jbenet, but I think its silly that we have to worry about this.

@jbenet
Copy link
Member

jbenet commented Aug 4, 2015

@prusnak thanks for bringing this up, and the PR.

I'm 👎 on this in general. I'm with djb, the go team, and @whyrusleeping on that p224 is safe to include in software. I'm also 👎 in that PRs like this is essentially saying "group X believes non-certain belief Y, so please change your code + beliefs to fit ours". I think that in cases like these redhat should patch go-ipfs the same way it patches go itself.

All that said, I do not think many people (if any) are using P224 mainly (it is not the default), and there are multiple other exchanges by default. Since it is not an option (it requires a recompile atm) to change the ciphers, i suspect nobody is using it exclusively. And we will be using a different cipher eventually anyway. So it would be in general easier for everyone if we remove it, and it seems ok to do so. If anyone complains, we may add it back. In that case, you can PR to introduce a build flag to disable it for your use case.

(attention future requesters of similar removals: features can only go away if they do not impact users).

jbenet added a commit that referenced this pull request Aug 4, 2015
@jbenet jbenet merged commit b30d9d4 into ipfs:master Aug 4, 2015
@jbenet jbenet removed the backlog label Aug 4, 2015
@prusnak prusnak deleted the remove-p224 branch August 4, 2015 16:34
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.

None yet

4 participants