about summary refs log tree commit diff
path: root/modules/programs/gnupg
Commit message (Collapse)AuthorAgeFilesLines
* modules/gnupg: Support --supervised since 2.1.16aszlig2016-11-282-20/+52
| | | | | | | | | | | | | | | | | | | | | | | | See the release announcement at: https://lists.gnupg.org/pipermail/gnupg-announce/2016q4/000398.html Unfortunately we still need the wrapper, because we need to pick up the PID of the socket endpoint in order to gather various information we can pass to pinentry (which then for example can recognize that the actual SSH client is using X or is using a particular TTY). On the upside however, this is a step into a direction I didn't imagine to happen anytime soon, given the following statement from Werner Koch back then: https://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029104.html However I don't think the way I'm picking up the PID and doing inspection of /proc/PID is going to happen in upstream GnuPG anytime soon. But after cleaning up and doing it as a patch I might now consider upstreaming it. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* programs/gnupg: Use runCommandCC for wrappersaszlig2016-10-091-2/+2
| | | | | | | | | | Since NixOS/nixpkgs@97bfc2fac92d90c668ae1ec078356d0bd0a9ddb7, runCommand uses stdenvNoCC, so we don't have a compiler available anymore. However, there is now a runCommandCC function which does exactly what we want. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/gnupg: Fix path to libsystemd.soaszlig2016-09-111-1/+1
| | | | | | | The systemd library has been splitted off into a different output in NixOS/nixpkgs@78178d5854901e1b17a14bce3fe43515984b7b91. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/gnupg: Don't close/remove sockets on stopaszlig2016-06-261-24/+78
| | | | | | | | | | | | | | | | | | | | | | When using systemctl restart or systemctl stop on any of the GnuPG services, the sockets were closed and removed. However we are using socket activation, so a simple restart of for example the agent would cause the socket to be closed and removed and afterwards the gpg-agent service is unable to pick up the socket again, thus failing to start. This in turn has led to GnuPG starting the agent by its own, entirely bypassing socket activation and our shiny service module. In order to cope with this, we need to provide LD_PRELOAD wrappers also for remove() and close(), so that we can prevent GnuPG from closing the systemd file descriptors. I've also added a small subtest to ensure this won't happen again in the future. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/gnupg: Support sockets in XDG_RUNTIME_DIRaszlig2016-06-261-7/+16
| | | | | | | | | | | | | | | | | | | Since GnuPG version 2.1.13 (NixOS/nixpkgs@b586b00), there is support for XDG_RUNTIME_DIR so the sockets are in /run/user/gnupg instead of ~/.gnupg. The full announcement can be found here: https://lists.gnupg.org/pipermail/gnupg-announce/2016q2/000390.html Unfortunately the fix is a bit more complicated, because if GNUPGHOME is set to a non-default location, the sockets are to be found within the directory specified in $GNUPGHOME instead. So we also need to check the version of GnuPG so that we can properly split up the socket directory from the GNUPGHOME. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/gnupg: Only set GNUPGHOME if non-defaultaszlig2016-04-041-0/+2
| | | | | | | | It doesn't make sense to pollute the system with additional environment variables if we're using the defaults anyway, so only set it if it's not "~/.gnupg". Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Rename gpg-agent to gnupgaszlig2016-04-043-0/+688
We do things such as placing gnupg into environment.systemPackages, so calling this just "programs.gpg-agent" doesn't fit that. Especially if we really want to have a way to specify configuration values in case I'm getting masochistic someday ;-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>