Skip to content

Conversation

@steveatinfincia
Copy link
Contributor

Hi :)

I've moved the code that requires linking with libgmp behind a feature (but made it the default).

This makes the Plain encryption type the only one available when libgmp is not available, but that's OK for many use cases, and the pseudo-TLS design in the Secret Service specification is more or less only intended for preventing secrets from being swapped to disk anyway, which can be solved in other ways.

This was needed for a few reasons:

  1. Linking with libgmp on some Rust targets, like x86_64-unknown-linux-musl, requires building it separately rather than just installing the distro version, which is almost always going to be built to work with gnu libc. That would be fine in many cases, as it's not that hard to build things (and libdbus also has to be built the same way), but...

  2. Linking Apache 2.0 licensed code with, and using, a LGPLv3/GPLv3 library like libgmp presents a licensing issue that might be resolvable in some cases. Dynamically linking to it may be ok if you choose to use libgmp under the LGPLv3 or if libgmp qualifies for the system library exception to the GPLv3, but that wouldn't work for a musl library/binary anyway as it would have to be statically linked.

As an aside, libdbus would also present these issues in some cases, but it's dual licensed under the AFL 2.1, which makes some things easier (static linking libdbus itself), and some things harder, as it is completely incompatible with the GPL so nothing else licensed under the GPL could be linked at all.

@hwchen
Copy link
Collaborator

hwchen commented Apr 26, 2017 via email

@hwchen
Copy link
Collaborator

hwchen commented May 18, 2017

Thanks again! I'm going to merge, but first wanted to ask if you wanted to make some notes in the docs and the readme about this feature. If not, I'm also happy to.

@steveatinfincia
Copy link
Contributor Author

@hwchen sure I can add some notes tonight :)

@hwchen
Copy link
Collaborator

hwchen commented Jun 5, 2017

Hi @steveatinfincia, I'd like to get this merged in the next day or two, so if you don't add notes I'll probably just do it myself. No problem if you can't get to it, I appreciate the work you already did.

@steveatinfincia
Copy link
Contributor Author

@hwchen sorry about that, have been insanely busy lately. Writing it up right now :)

@hwchen
Copy link
Collaborator

hwchen commented Jun 6, 2017

No problem, thanks so much!

@hwchen hwchen merged commit 31ddddc into open-source-cooperative:master Jun 6, 2017
@steveatinfincia steveatinfincia deleted the nogmp branch June 6, 2017 01:15
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.

2 participants