Commit Graph
166017 Commits
Author SHA1 Message Date
Arian van Putten 335b41b3fb nixos/nscd: Add release note entry about nscd changes 2018-12-12 15:35:40 +01:00
Arian van Putten 99d3279952 nixos/nscd: Disable negative caching of hosts
Hopefully fixes #50290
2018-12-12 15:35:40 +01:00
Arian van Putten e712417936 nixos/nscd: Disable caching of group and passwd
Systemd provides an option for allocating DynamicUsers
which we want to use in NixOS to harden service configuration.
However, we discovered that the user wasn't allocated properly
for services. After some digging this turned out to be, of course,
a cache inconsistency problem.

When a DynamicUser creation is performed, Systemd check beforehand
whether the requested user already exists statically. If it does,
it bails out. If it doesn't, systemd continues with allocating the
user.

However, by checking whether the user exists,  nscd will store
the fact that the user does not exist in it's negative cache.
When the service tries to lookup what user is associated to its
uid (By calling whoami, for example), it will try to consult
libnss_systemd.so However this will read from the cache and tell
report that the user doesn't exist, and thus will return that
there is no user associated with the uid. It will continue
to do so for the cache duration time.  If the service
doesn't immediately looks up its username, this bug is not
triggered, as the cache will be invalidated around this time.
However, if the service is quick enough, it might end up
in a situation where it's incorrectly reported that the
user doesn't exist.

Preferably, we would not be using nscd at all. But we need to
use it because glibc reads  nss modules from /etc/nsswitch.conf
by looking relative to the global LD_LIBRARY_PATH.  Because LD_LIBRARY_PATH
is not set globally (as that would lead to impurities and ABI issues),
glibc will fail to find any nss modules.
Instead, as a hack, we start up nscd with LD_LIBRARY_PATH set
for only that service. Glibc will forward all nss syscalls to
nscd, which will then respect the LD_LIBRARY_PATH and only
read from locations specified in the NixOS config.
we can load nss modules in a pure fashion.

However, I think by accident, we just copied over the default
settings of nscd, which actually caches user and group lookups.
We already disable this when sssd is enabled, as this interferes
with the correct working of libnss_sss.so as it already
does its own caching of LDAP requests.
(See https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/usingnscd-sssd)

Because nscd caching is now also interferring with libnss_systemd.so
and probably also with other nsss modules, lets just pre-emptively
disable caching for now for all options related to users and groups,
but keep it for caching hosts ans services lookups.

Note that we can not just put in /etc/nscd.conf:
enable-cache passwd no

As this will actually cause glibc to _not_ forward the call to nscd
at all, and thus never reach the nss modules. Instead we set
the negative and positive cache ttls  to 0 seconds as a workaround.
This way, Glibc will always forward requests to nscd, but results
will never be cached.

Fixes #50273
2018-12-12 15:35:40 +01:00
Arian van Putten eb88005130 nixos/systemd: Add a regression test for #50273 2018-12-12 15:35:39 +01:00
Elis Hirwing e8ef485246 gnomeExtensions.topicons-plus: 21 -> 22 2018-12-12 14:39:50 +01:00
Profpatsch 5cbd18af4e strip-nondeterminism: 0.016 -> 1.0.0
Add to toplevel as well.
2018-12-12 14:38:13 +01:00
George Whewell 7f82302b8e address pr comments 2018-12-12 13:26:10 +00:00
George Whewell b2cbbb32ac qmltermwidget: update to latest master to fix cool-retro-term on darwin 2018-12-12 13:25:39 +00:00
George Whewell a166bc33cc cool-retro-term: add symlink to binary on darwin 2018-12-12 13:25:17 +00:00
edef f9b0781938 doh-proxy: stick with Python 3.6 for now
It currently breaks on Python 3.7 due to `async` becoming a reserved keyword
2018-12-12 13:02:53 +00:00
Gabriel Ebner c556e6f1f4 notmuch: use python 3
Fixes #51822
2018-12-12 13:32:35 +01:00
Gabriel Ebner a9d7a31817 alot: 0.7 -> 0.8 2018-12-12 13:31:32 +01:00
Gabriel Ebner 890bee19c5 pythonPackages.gpgme: support python 3 2018-12-12 13:30:52 +01:00
edefandGitHub fdd566cf0b Merge pull request #51908 from rawkode/feature/lxrandr
lxrandr: init at 0.3.1
2018-12-12 12:18:03 +00:00
edefandGitHub e10f8471d1 Merge pull request #51650 from gnidorah/me_cleaner
me_cleaner: init at 1.2
2018-12-12 12:15:57 +00:00
Izorkin 6aa42941dc mysql55: 5.5.60 -> 5.5.62 2018-12-12 15:04:24 +03:00
Michael Weiss e12009f390 tdesktop: 1.4.3 -> 1.5.1
tdesktopPackages.preview: 1.4.8 -> 1.5.1
2018-12-12 12:28:34 +01:00
David McKay 125ad34dc8 lxrandr: init at 0.3.1 2018-12-12 11:25:45 +00:00
Andreas RammholdandVladimír Čunát ccd160023c firefox: 63.0.3 -> 64.0
See #51863.
2018-12-12 11:27:23 +01:00
Vincent LaporteandVincent Laporte ee843ee86e ocamlPackages.ppx_import: 1.5 -> 1.5-3 2018-12-12 09:34:38 +00:00
Vincent LaporteandVincent Laporte 47c4876de6 ocamlPackages.ppx_deriving_yojson: disable tests 2018-12-12 09:34:38 +00:00
worldofpeaceandGitHub d9eadb4aa7 Merge pull request #51472 from Ralith/renderdoc
renderdoc: 1.1 -> 1.2
2018-12-12 04:25:02 -05:00
Yurii Rashkovskii a84a457f62 luigi: enable local modules discovery
Currently, local module discovery is broken with luigi installed from
this derivation.

In the documentation, you can see the following command line syntax
used:

```
luigi --module module_name ...
```

However, currently this will result in an error:

```
ModuleNotFoundError: No module named 'module_name'
```

However, if the call is prepended with this:

```
PYTHONPATH=.:$PYTHONPATH
```

then it will work as expected.

This patch makes this the default behaviour.
2018-12-12 16:12:54 +07:00
Alyssa RossandGitHub 812805110b Merge pull request #51887 from AtnNn/ikos
ikos: init at 2.1
2018-12-12 09:06:36 +00:00
Jörg ThalheimandGitHub abbd29aa13 Merge pull request #51782 from rnhmjoj/monero
monero: build with hidapi
2018-12-12 09:00:17 +00:00
Jörg ThalheimandGitHub 8e3b400b45 Merge pull request #51876 from Mic92/go-cleanup
Go cleanup: use buildGoPackage whenever possible
2018-12-12 08:56:21 +00:00
Sarah BrofeldtandGitHub 27cd05e674 Merge pull request #51750 from MarcFontaine/master
haskellPackages.binary-parsers : disable tests
2018-12-12 09:45:50 +01:00
Sarah BrofeldtandGitHub 89aa19c95a Merge pull request #51868 from yrashk/luigi-2.8.0
luigi: 2.7.9 -> 2.8.0
2018-12-12 09:40:53 +01:00
worldofpeace 0c4ac2fa26 eolie: ensure search provider is wrapped properly
wrapPythonPrograms ignores libexec/
Also do it before wrapGAppsHook sets in
2018-12-12 03:28:59 -05:00
worldofpeace af2caa441f eolie: don't use pythonPath 2018-12-12 03:26:24 -05:00
Jörg ThalheimandGitHub 1933e8be0d Merge pull request #51886 from Mic92/zfs-python3
zfs: switch to python3
2018-12-12 08:11:46 +00:00
worldofpeace c17ed110eb lollypop: don't use pythonPath 2018-12-12 03:08:56 -05:00
Jörg Thalheim e873882849 mesa: fix cross-compiling 2018-12-12 08:02:19 +00:00
Jörg Thalheim 054b938c5c libXt: fix cross-build 2018-12-12 08:02:19 +00:00
Jörg Thalheim 220dcada79 xorg.libXvMC: fix cross-build 2018-12-12 08:02:19 +00:00
Jörg Thalheim c6d83f297d valgrind: fix cross-build 2018-12-12 08:02:13 +00:00
Jörg Thalheim e4556c275c gdb: fix cross-build 2018-12-12 08:00:15 +00:00
Jörg Thalheim 863ceb5891 opendkim: fix cross-build 2018-12-12 08:00:14 +00:00
Jörg Thalheim b67c061f0a tdb: fix cross-compilation 2018-12-12 08:00:14 +00:00
Jörg Thalheim 554851e689 platform.emulator: fix non-x86 systems 2018-12-12 08:00:07 +00:00
Yurii Rashkovskii 935810e0f3 luigi: include boto3
A number of luigi modules use boto3 to access AWS and will not work
without it.
2018-12-12 14:47:39 +07:00
Darius JahandarieandAustin Seipp da84602f61 buildRustCrate: fix extraRustcOpts so it is not discarded 2018-12-12 01:21:46 -06:00
worldofpeaceandGitHub d36846d367 Merge pull request #51663 from erictapen/cytoolz-fix-build
python3Packages.cytoolz: fix build
2018-12-12 01:48:46 -05:00
Matthew BauerandGitHub 465a5e1d97 Merge pull request #51880 from matthewbauer/simavr-mac
simavr: work on macOS
2018-12-11 20:36:58 -06:00
Alexey ShmalkoandGitHub 22972fc875 Merge pull request #51757 from r-ryantm/auto-update/yquake2
yquake2: 7.20 -> 7.30
2018-12-12 03:46:42 +02:00
Alexey ShmalkoandGitHub d5f4a4f478 Merge pull request #51765 from r-ryantm/auto-update/wildmidi
wildmidi: 0.4.2 -> 0.4.3
2018-12-12 03:45:37 +02:00
(cdep)illabout aba51b8ae4 bluez: Add support for the sixaxis controller
This should add support for the Playstation Dualshock 3 and DualShock 4
controllers.
2018-12-12 10:38:18 +09:00
Jörg Thalheim c3e967dc35 libmilter: fix cross-build 2018-12-12 00:58:30 +00:00
Jörg Thalheim 42070c9b0d tcl: enable threads and 64-bit support
64-bit support is only enabled on 64-bit systems
2018-12-12 00:58:30 +00:00
Jörg Thalheim 9637f4d58d tcl: fix cross-build 2018-12-12 00:58:30 +00:00