Socket activation doesn't seem to work

Yuri Kanivetsky yuri.kanivetsky at gmail.com
Mon Aug 2 23:14:02 CEST 2021


Hi,

>From what I can see socket activation doesn't work:

```
$ strace -s 1000 -fe execve,clone,connect gpg --search-key DF6FD971306037D9
execve("/usr/bin/gpg", ["gpg", "--search-key", "DF6FD971306037D9"],
0x7ffd5a2ff020 /* 66 vars */) = 0
connect(3, {sa_family=AF_UNIX,
sun_path="/run/user/1000/gnupg/d.8fzkopk8kpkda6radgaom1gz/S.dirmngr"},
59) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_UNIX,
sun_path="/run/user/1000/gnupg/d.8fzkopk8kpkda6radgaom1gz/S.dirmngr"},
59) = -1 ENOENT (No such file or directory)
clone(child_stack=NULL,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLDstrace: Process
3066 attached
, child_tidptr=0x7fa4ba696a10) = 3066
[pid  3066] clone(child_stack=NULL,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLDstrace: Process
3067 attached
, child_tidptr=0x7fa4ba696a10) = 3067
[pid  3066] +++ exited with 0 +++
[pid  3065] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED,
si_pid=3066, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
[pid  3067] execve("/usr/bin/dirmngr", ["dirmngr", "--daemon",
"--homedir", "/home/yuri/dir/.gnupg"], 0x7fff864777f8 /* 66 vars */
<unfinished ...>
...
```

And in dirmngr.socket we have:

ListenStream=%t/gnupg/S.dirmngr

https://github.com/gpg/gnupg/blob/master/doc/examples/systemd-user/dirmngr.socket#L6

So supposedly, gpg fails to connect to dirmngr and starts its own
copy, which might run alongside a systemd-controlled one. Which is
confusing.

More on it here:

https://bbs.archlinux.org/viewtopic.php?id=258995

Regards,
Yuri



More information about the Gnupg-users mailing list