curve25519_generate.js [was: Re: [ANNOUNCE] WireGuard Snapshot `0.0.20171211` Available]

Jason A. Donenfeld Jason at zx2c4.com
Mon Dec 11 21:15:16 CET 2017


Hi Daniel,

Thanks for bringing this up. All excellent points. I wasn't totally
confident about doing that, but what went into the decision was the
following:

- emscripten is laborious to build and recent versions are not readily
accessible on many distros.
- I figure web developers generally lack build system competence and
would be more inclined to use this if it was as easy as copy and
paste.
- Signal includes the generated .js file in their repos.

It would indeed be much cleaner to include a Makefile, like you
suggest, which would take care of all the appropriate magic, but I
worry about that being overwhelmingly inconvenient for some. Is that
actually a good reason? I don't know...

 > * Do you expect packagers do rebuild this with whatever version of
 >  emscripten available to them?  Or should that be left up to the party
 >  who makes use of the key-generator?

Certainly don't bother rebuilding it. contrib/examples has tons of
source code (most of which has proper makefiles!), which similarly
shouldn't be built, since it's example code meant to be tweaked.

>   In debian, i can't reasonably ship a binary artifact that i can't
>   build from source (this is sensible debian policy

This is sensible policy. There is a question that people could
bikeshed about all day: "Is emscripten output a binary artifact?"
Probably the existing Debian policy answer to that is a sufficient
one, if that kind of thing has already been decided.

So anyway, I'm not really sure what to do here. Happy to take
suggestions from all sides. Just keep in mind that emcc is a massive
pain to get installed.

Jason


More information about the WireGuard mailing list