217447 Commits

Author SHA1 Message Date
Emily
62e34d1c87 nixos/acme: change default keyType to ec256
Previously, the NixOS ACME module defaulted to using P-384 for
TLS certificates. I believe that this is a mistake, and that we
should use P-256 instead, despite it being theoretically
cryptographically weaker.

The security margin of a 256-bit elliptic curve cipher is substantial;
beyond a certain level, more bits in the key serve more to slow things
down than add meaningful protection. It's much more likely that ECDSA
will be broken entirely, or some fatal flaw will be found in the NIST
curves that makes them all insecure, than that the security margin
will be reduced enough to put P-256 at risk but not P-384. It's also
inconsistent to target a curve with a 192-bit security margin when our
recommended nginx TLS configuration allows 128-bit AES. [This Stack
Exchange answer][pornin] by cryptographer Thomas Pornin conveys the
general attitude among experts:

> Use P-256 to minimize trouble. If you feel that your manhood is
> threatened by using a 256-bit curve where a 384-bit curve is
> available, then use P-384: it will increases your computational and
> network costs (a factor of about 3 for CPU, a few extra dozen bytes
> on the network) but this is likely to be negligible in practice (in a
> SSL-powered Web server, the heavy cost is in "Web", not "SSL").

[pornin]: https://security.stackexchange.com/a/78624

While the NIST curves have many flaws (see [SafeCurves][safecurves]),
P-256 and P-384 are no different in this respect; SafeCurves gives
them the same rating. The only NIST curve Bernstein [thinks better of,
P-521][bernstein] (see "Other standard primes"), isn't usable for Web
PKI (it's [not supported by BoringSSL by default][boringssl] and hence
[doesn't work in Chromium/Chrome][chromium], and Let's Encrypt [don't
support it either][letsencrypt]).

[safecurves]: https://safecurves.cr.yp.to/
[bernstein]: https://blog.cr.yp.to/20140323-ecdsa.html
[boringssl]: https://boringssl.googlesource.com/boringssl/+/e9fc3e547e557492316932b62881c3386973ceb2
[chromium]: https://bugs.chromium.org/p/chromium/issues/detail?id=478225
[letsencrypt]: https://letsencrypt.org/docs/integration-guide/#supported-key-algorithms

So there's no real benefit to using P-384; what's the cost? In the
Stack Exchange answer I linked, Pornin estimates a factor of 3×
CPU usage, which wouldn't be so bad; unfortunately, this is wildly
optimistic in practice, as P-256 is much more common and therefore
much better optimized. [This GitHub comment][openssl] measures the
performance differential for raw Diffie-Hellman operations with OpenSSL
1.1.1 at a whopping 14× (even P-521 fares better!); [Caddy disables
P-384 by default][caddy] due to Go's [lack of accelerated assembly
implementations][crypto/elliptic] for it, and the difference there seems
even more extreme: [this golang-nuts post][golang-nuts] measures the key
generation performance differential at 275×. It's unlikely to be the
bottleneck for anyone, but I still feel kind of bad for anyone having
lego generate hundreds of certificates and sign challenges with them
with performance like that...

[openssl]: https://github.com/mozilla/server-side-tls/issues/190#issuecomment-421831599
[caddy]: 2cab475ba5/modules/caddytls/values.go (L113-L124)
[crypto/elliptic]: 2910c5b4a0/src/crypto/elliptic
[golang-nuts]: https://groups.google.com/forum/#!topic/golang-nuts/nlnJkBMMyzk

In conclusion, there's no real reason to use P-384 in general: if you
don't care about Web PKI compatibility and want to use a nicer curve,
then Ed25519 or P-521 are better options; if you're a NIST-fearing
paranoiac, you should use good old RSA; but if you're a normal person
running a web server, then you're best served by just using P-256. Right
now, NixOS makes an arbitrary decision between two equally-mediocre
curves that just so happens to slow down ECDH key agreement for every
TLS connection by over an order of magnitude; this commit fixes that.

Unfortunately, it seems like existing P-384 certificates won't get
migrated automatically on renewal without manual intervention, but
that's a more general problem with the existing ACME module (see #81634;
I know @yegortimoshenko is working on this). To migrate your
certificates manually, run:

    $ sudo find /var/lib/acme/.lego/certificates -type f -delete
    $ sudo find /var/lib/acme -name '*.pem' -delete
    $ sudo systemctl restart 'acme-*.service' nginx.service

(No warranty. If it breaks, you get to keep both pieces. But it worked
for me.)
2020-03-22 05:27:20 +00:00
Dmitry Kalinkin
ddf87fb1ba
Merge pull request #82736 from LeshaInc/master
blender: add OpenImageDenoise support
2020-03-18 07:31:22 -04:00
Jörg Thalheim
201ac90018
Merge pull request #66578 from AtkinsChang/minikube
minikube: 1.2.0 -> 1.6.2
2020-03-18 11:28:24 +00:00
LeshaInc
3c54b996ca
blender: build with OpenImageDenoise support 2020-03-18 12:58:12 +02:00
Jörg Thalheim
52ee55fe0f
Merge pull request #82816 from Mic92/kubeval
kubeval: don't include huge schema to save space in hydra
2020-03-18 10:52:03 +00:00
Jörg Thalheim
705000267d
Merge pull request #82836 from Mic92/bsld
blsd: marked as broken
2020-03-18 10:30:30 +00:00
Jörg Thalheim
97ac11f6a3
blsd: marked as broken
no longer compatible without libgit version.
Also seems unmaintained since 3 years.
2020-03-18 09:21:08 +00:00
Jörg Thalheim
9d144b84a3
kubeval: don't build against schema by default
kubeval-schema is a huge 7GB repository that we do not want
to build on hydra. Therefore make it optional.
2020-03-18 09:09:25 +00:00
Robert Hensing
5f357b20b3
Merge pull request #82751 from Infinisil/minor-module-improvements
Minor module improvements
2020-03-18 10:06:06 +01:00
Lancelot SIX
071d0cc0cb
Merge pull request #82832 from r-ryantm/auto-update/libite
libite: 2.1.2 -> 2.2.0
2020-03-18 09:53:23 +01:00
R. RyanTM
7f31ed028d libite: 2.1.2 -> 2.2.0 2020-03-18 08:00:57 +00:00
Ben Darwin
8e44423a96 ocamlPackages.lacaml: 11.0.3 -> 11.0.6 2020-03-18 08:32:39 +01:00
David Anderson
1e593070cd tailscale: 0.96-33 -> 0.97-0.
Fixes a severe bug with subnet routing.

Signed-off-by: David Anderson <dave@natulte.net>
2020-03-18 06:08:20 +00:00
Martin Baillie
6e055c9f4a tailscale: init at 0.96-33
Signed-off-by: Martin Baillie <martin@baillie.email>
2020-03-18 05:07:47 +00:00
Mario Rodas
8a1a6cf39c
Merge pull request #82803 from Tomahna/mopidy-iris
mopidy-iris: 3.45.1 -> 3.46.0
2020-03-17 22:40:16 -05:00
Silvan Mosberger
e931de58a2
lib/modules: Fix type checks not being done before merging
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2020-03-18 04:38:53 +01:00
Silvan Mosberger
15c873b486
lib/modules: Throw better error when definitions assign to an option set 2020-03-18 04:38:50 +01:00
Mario Rodas
8d985cb9ba
Merge pull request #82811 from zowoq/conmon
conmon: 2.0.12 -> 2.0.13
2020-03-17 22:37:37 -05:00
Mario Rodas
3c03f8d029
Merge pull request #82812 from zowoq/fuse-overlayfs
fuse-overlayfs: 0.7.7 -> 0.7.8
2020-03-17 22:36:41 -05:00
Niklas Hambüchen
9d45737ae7
Merge pull request #82767 from thefloweringash/rpfilter-assertion-types
nixos/firewall: fix types in reverse path assertion
2020-03-18 04:11:01 +01:00
Niklas Hambüchen
4366606c1e
Merge pull request #79356 from bbigras/mtail
mtail: 3.0.0-rc4 -> 3.0.0-rc34
2020-03-18 03:57:31 +01:00
Niklas Hambüchen
6232fbdec7
Merge pull request #67608 from alexarice/variant-ant-themes
Variant Ant themes: init at 1.3.0
2020-03-18 03:54:14 +01:00
Niklas Hambüchen
2fb0068b50
Merge pull request #81994 from bhipple/u/librustzcash
zcash: 2.1.0-1 -> 2.1.1-1; libzrustzcash: 2018-10-27 -> 0.1.0
2020-03-18 03:15:16 +01:00
Silvan Mosberger
05cf8a7c07
Merge pull request #82802 from roberth/lib-modules-test-config-options-laziness
lib/modules: Test the ability for config to depend on options for compatibility
2020-03-18 02:57:08 +01:00
Andrew Childs
e110f5ecc1 nixos/firewall: fix types in reverse path assertion
Broken by 0f973e273c284a97a8dffeab7d9c0b09a88b7139 in #73533

The type of the checkReversePath option allows "strict" and "loose" as
well as boolean values.
2020-03-18 10:54:55 +09:00
Niklas Hambüchen
0908ec4952
Merge pull request #82665 from bhipple/doc/upower
doc: update 20.03 release notes regarding upower
2020-03-18 02:44:18 +01:00
Niklas Hambüchen
dd4da93298
Merge pull request #82740 from piotr-szegda/keybase-5-3-0-update
keybase,kbfs,keybase-gui: 5.2.1 -> 5.3.0
2020-03-18 02:42:53 +01:00
Dennis Gosnell
ac0da76a7c
Merge pull request #82774 from B4dM4n/virtualbox-extpack-update
virtualboxExtpack: synchronize version with virtualbox
2020-03-18 09:15:45 +09:00
Vladislav Zavialov
bfcb19197b
toggldesktop: use mkDerivation from Qt (#81720) 2020-03-17 19:36:22 -04:00
Symphorien Gibol
4a672de9e6 python3Packages.matrix-nio: 0.8.0 -> 0.9.0 2020-03-17 15:54:33 -07:00
Maximilian Bosch
e808d11c43
peep: init at 0.1.4 2020-03-17 23:25:51 +01:00
Timo Kaufmann
c8a67fd37b
Merge pull request #82810 from timokau/vim-pandoc-fix
vimPlugins.vim-pandoc: fix startup
2020-03-17 22:24:38 +00:00
Austin Seipp
2ef42e07fd
mcy: 2020.02.05 -> 2020.03.16
Now with working web UI dashboard -- but no working GUI (yet!)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2020-03-17 17:19:40 -05:00
Austin Seipp
5cd4fd5bc5
symbiyosys: 2020.02.08 -> 2020.02.11
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2020-03-17 17:19:40 -05:00
Austin Seipp
9b43cf3a00
yosys: 2020.02.25 -> 2020.03.16
- Bump `abc-verifier` (2020.03.05)
  - Install `yosys-abc` symlink for tool compatbility
  - Various `yosys` expression cleanups

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2020-03-17 17:19:37 -05:00
zowoq
12bcd78652 fuse-overlayfs: 0.7.7 -> 0.7.8
https://github.com/containers/fuse-overlayfs/releases/tag/v0.7.8
2020-03-18 08:18:26 +10:00
zowoq
cb099ca0d8 conmon: 2.0.12 -> 2.0.13
https://github.com/containers/conmon/releases/tag/v2.0.13
2020-03-18 08:15:24 +10:00
Maximilian Bosch
e86ec10426
Merge pull request #80243 from bhipple/u/rust-cargo-rust-cbindgen
rust-cbindgen: upgrade cargo fetcher and cargoSha256
2020-03-17 23:08:28 +01:00
Timo Kaufmann
880f5a6125 vimPlugins.vim-pandoc: fix startup 2020-03-17 23:04:10 +01:00
Dmitry Kalinkin
0bd52ef94d
Merge pull request #82712 from veprbl/pr/nuweb_fix
nuweb: 1.58 -> 1.60, fix build
2020-03-17 17:10:34 -04:00
Kevin Rauscher
b779f1b55c mopidy-iris: 3.45.1 -> 3.46.0 2020-03-17 21:02:17 +01:00
Robert Hensing
31206e44e1 lib/modules: Test the ability for config to depend on options for compatibility 2020-03-17 20:21:10 +01:00
goibhniu
5241e5a193
Merge pull request #79851 from mmilata/supybot-enhancements
nixos/supybot: switch to python3, enable systemd sandboxing, add option for installing plugins
2020-03-17 19:07:41 +00:00
Michael Weiss
b6a5079800
inxi: 3.0.37-1 -> 3.0.38-1 2020-03-17 19:45:19 +01:00
Alma Cemerlic
34fd0c0968 pythonPackages.IMAPClient: 0.13 -> 2.1.0 2020-03-17 11:44:34 -07:00
Christian Lütke-Stetzkamp
403a4b1ced http2tcp: init at 0.5 2020-03-17 11:44:17 -07:00
Christian Lütke-Stetzkamp
93919c66a8 pythonPackages.wsgitools: init at 0.3.1 2020-03-17 11:44:17 -07:00
Robert Helgesson
0bce142b1e
jwt-cli: 2.5.2 -> 3.0.1 2020-03-17 19:43:53 +01:00
Silvan Mosberger
dcdd232939
lib/modules: Remove internal _module attribute from config
The _module option is added as an internal option set, and it messes up
the results of module evaluations, requiring people to manually filter
_modules out.

If people depend on this, they can still use config._module from inside
the modules, exposing _module as an explicitly declared user option. Or
alternatively with the _module attribute now returned by evalModules.
2020-03-17 19:19:39 +01:00
Jonathan Ringer
ee9362f880 pythonPackages.z3c-checkversions: disable python2 tests
the zope namespace will cause collisions for python2
2020-03-17 11:11:30 -07:00