-
-
Notifications
You must be signed in to change notification settings - Fork 104
Comparing changes
Open a pull request
base repository: NixOS/nixpkgs-channels
base: 62cb4f72282b
head repository: NixOS/nixpkgs-channels
compare: d893a9acf8d8
- 20 commits
- 27 files changed
- 8 contributors
Commits on Jul 3, 2019
-
nixos/nscd: no longer need to wait for readiness
This postStart step was introduced on 2014-04-24 with the comment that "Nscd forks into the background before it's ready to accept connections." However, that was fixed upstream almost two months earlier, on 2014-03-03, with the comment that "This, along with setting the nscd service type to forking in its systemd configuration file, allows systemd to be certain that the nscd service is ready and is accepting connections." The fix was released several months later in glibc 2.20, which was merged in NixOS sometime before 15.09, so it certainly should be safe to remove this workaround by now.
Configuration menu - View commit details
-
Copy full SHA for 93f185d - Browse repository at this point
Copy the full SHA 93f185dView commit details -
nixos/nscd: let systemd manage directories
Previously this module created both /var/db/nscd and /run/nscd using shell commands in a preStart script. Note that both of these paths are hard-coded in the nscd source. (Well, the latter is actually /var/run/nscd but /var/run is a symlink to /run so it works out the same.) /var/db/nscd is only used if the nscd.conf "persistent" option is turned on for one or more databases, which it is not in our default config file. I'm not even sure persistent mode can work under systemd, since `nscd --shutdown` is not synchronous so systemd will always unceremoniously kill nscd without reliably giving it time to mark the databases as unused. Nonetheless, if someone wants to use that option, they can ensure the directory exists using systemd.tmpfiles.rules. systemd can create /run/nscd for us with the RuntimeDirectory directive, with the added benefit of causing systemd to delete the directory on service stop or restart. The default value of RuntimeDirectoryMode is 755, the same as the mode which this module was using before. I don't think the `rm -f /run/nscd/nscd.pid` was necessary after NixOS switched to systemd and used its PIDFile directive, because systemd deletes the specified file after the service stops, and because the file can't persist across reboots since /run is a tmpfs. Even if the file still exists when nscd starts, it's only a problem if the pid it contains has been reused by another process, which is unlikely. Anyway, this change makes that deletion even less necessary, because now systemd deletes the entire /run/nscd directory when the service stops.
Configuration menu - View commit details
-
Copy full SHA for 597563d - Browse repository at this point
Copy the full SHA 597563dView commit details -
nixos/nscd: run with a dynamic user
nscd doesn't create any files outside of /run/nscd unless the nscd.conf "persistent" option is used, which we don't do by default. Therefore it doesn't matter what UID/GID we run this service as, so long as it isn't shared with any other running processes. /run/nscd does need to be owned by the same UID that the service is running as, but systemd takes care of that for us thanks to the RuntimeDirectory directive. If someone wants to turn on the "persistent" option, they need to manually configure users.users.nscd and systemd.tmpfiles.rules so that /var/db/nscd is owned by the same user that nscd runs as. In an all-defaults boot.isContainer configuration of NixOS, this removes the only user which did not have a pre-assigned UID.
Configuration menu - View commit details
-
Copy full SHA for de25170 - Browse repository at this point
Copy the full SHA de25170View commit details -
nixos/nscd: delete redundant nscd.conf options
These options were being set to the same value as the defaults that are hardcoded in nscd. Delete them so it's clear which settings are actually important for NixOS. One exception is `threads 1`, which is different from the built-in default of 4. However, both values are equivalent because nscd forces the number of threads to be at least as many as the number of kinds of databases it supports, which is 5.
Configuration menu - View commit details
-
Copy full SHA for 4c64375 - Browse repository at this point
Copy the full SHA 4c64375View commit details
Commits on Jul 6, 2019
-
nixos/nscd: don't need to specify username
Thanks to @arianvp for pointing out that when DynamicUser is true, systemd defaults the value of User to be the name of the unit, which in this case is already "nscd".
Configuration menu - View commit details
-
Copy full SHA for c38fa99 - Browse repository at this point
Copy the full SHA c38fa99View commit details
Commits on Jul 7, 2019
-
nixos/nscd: only drop privs after nss module init
NixOS usually needs nscd just to have a single place where LD_LIBRARY_PATH can be set to include all NSS modules, but nscd is also useful if some of the NSS modules need to read files which are only accessible by root. For example, nixos/modules/config/ldap.nix needs this when users.ldap.enable = true; users.ldap.daemon.enable = false; and users.ldap.bind.passwordFile exists. In that case, the module creates an /etc/ldap.conf which is only readable by root, but which the NSS module needs to read in order to find out what LDAP server to connect to and with what credentials. If nscd is started as root and configured with the server-user option in nscd.conf, then it gives each NSS module the opportunity to initialize itself before dropping privileges. The initialization happens in the glibc-internal __nss_disable_nscd function, which pre-loads all the configured NSS modules for passwd, group, hosts, and services (but not netgroup for some reason?) and, for each loaded module, calls an init function if one is defined. After that finishes, nscd's main() calls nscd_init() which ends by calling finish_drop_privileges(). There are provisions in systemd for using DynamicUser with a service which needs to drop privileges itself, so this patch does that.
Configuration menu - View commit details
-
Copy full SHA for f7c7767 - Browse repository at this point
Copy the full SHA f7c7767View commit details
Commits on Jul 12, 2019
-
Configuration menu - View commit details
-
Copy full SHA for d79584c - Browse repository at this point
Copy the full SHA d79584cView commit details
Commits on Jul 20, 2019
-
python37Packages.nose2: 0.8.0 -> 0.9.1
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-nose2/versions
Configuration menu - View commit details
-
Copy full SHA for e04eb2b - Browse repository at this point
Copy the full SHA e04eb2bView commit details
Commits on Jul 22, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 0aa30f5 - Browse repository at this point
Copy the full SHA 0aa30f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c65ada - Browse repository at this point
Copy the full SHA 3c65adaView commit details -
Merge pull request #64268 from jameysharp/nscd-dynamicuser
nixos/nscd: DynamicUser and other cleanups
Configuration menu - View commit details
-
Copy full SHA for a0ba42e - Browse repository at this point
Copy the full SHA a0ba42eView commit details -
Merge pull request #65138 from r-ryantm/auto-update/python3.7-nose2
python37Packages.nose2: 0.8.0 -> 0.9.1
Configuration menu - View commit details
-
Copy full SHA for 95be462 - Browse repository at this point
Copy the full SHA 95be462View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01ee2ee - Browse repository at this point
Copy the full SHA 01ee2eeView commit details -
nixos/prometheus-exporters: refactor imports, replace 'with lib;'
Pass through 'options' to exporter definitions and replace 'with lib;' by explicit function imports.
Configuration menu - View commit details
-
Copy full SHA for 7742211 - Browse repository at this point
Copy the full SHA 7742211View commit details -
nixos/tests/prometheus-exporters: replace 'with lib;'
Replace 'with lib;' by explicit function imports.
Configuration menu - View commit details
-
Copy full SHA for 77ccb1f - Browse repository at this point
Copy the full SHA 77ccb1fView commit details -
nixos/prometheus-exporters: add option renaming for submodules
Adds the functionality to create option renamings and removals for exporter submodules as in nixos/modules/rename.nix.
Configuration menu - View commit details
-
Copy full SHA for fb6f0a4 - Browse repository at this point
Copy the full SHA fb6f0a4View commit details -
prometheus-nginx-exporter: 0.1.0 -> 0.4.1, use official version
Use official exporter from nginxinc.
Configuration menu - View commit details
-
Copy full SHA for 86c884f - Browse repository at this point
Copy the full SHA 86c884fView commit details -
nixos/prometheus-nginx-exporter: update module
Update exporter submodule to match the new exporter version.
Configuration menu - View commit details
-
Copy full SHA for c64f621 - Browse repository at this point
Copy the full SHA c64f621View commit details -
Configuration menu - View commit details
-
Copy full SHA for 294bed6 - Browse repository at this point
Copy the full SHA 294bed6View commit details -
Merge pull request #65088 from WilliButz/prometheus-exporters-cleanup
prometheus-nginx-exporter: switch to official version & general prometheus-exporters cleanup
Configuration menu - View commit details
-
Copy full SHA for d893a9a - Browse repository at this point
Copy the full SHA d893a9aView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 62cb4f72282b...d893a9acf8d8