spiegel_podman/pkg
Tycho Andersen 364e8a26da pkg/systemd: don't require LISTEN_FDNAMES for socket activation
LISTEN_FDNAMES is optional, the docs for sd_listen_fds() says:

    This information is read from the $LISTEN_FDNAMES variable, which
    **may** contain a colon-separated list of names.

emphasis mine (indeed, the cited coreos code also suggests it is optional).

This actually results in bug, since the default
/contrib/systemd/system/podman.socket file doesn't set a
FileDescriptorName=. podman when run with this systemd configuration
*always* starts in unix socket mode since SocketActivated() will return
false because the name is missing.

The bug is a race with a very small window: between when podman does the
unlink() and when it re-binds the socket later in the code, requests made
during this time will fail since nothing is listening. There's another
small race when the service stops and systemd realizes it and starts
listening again.

However, small this window we managed to hit it :).

Let's fix this by ignoring LISTEN_FDNAMES. Since the code in
cmd/podman/system/service_abi.go:restService() ignores this value anyway
when setting up the socket activated stuff, there's no real loss here.

Signed-off-by: Tycho Andersen <tycho@tycho.pizza>
2021-06-24 09:01:39 -06:00
..
annotations Spelling 2020-12-22 13:34:31 -05:00
api Merge pull request #10756 from jmguzik/volume-prune-until-http-api 2021-06-23 15:52:30 -04:00
auth Enable whitespace linter 2021-02-11 23:01:56 +01:00
autoupdate migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
bindings create: support images with invalid platform 2021-06-23 15:42:13 +02:00
cgroups Fix panic condition in cgroups.getAvailableControllers 2021-06-15 09:22:37 +08:00
channel channel: simplify implementation 2021-05-06 11:51:15 +02:00
checkpoint Allow changing of port forward rules on restore 2021-06-04 13:29:02 +02:00
copy podman cp: support copying on tmpfs mounts 2021-03-04 15:43:12 +01:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime Re-add int64 casts for ctime 2019-07-23 15:43:40 -04:00
domain Merge pull request #10756 from jmguzik/volume-prune-until-http-api 2021-06-23 15:52:30 -04:00
env Ensure DefaultEnvVariables is used in Specgen 2020-08-18 15:17:46 -04:00
errorhandling create: support images with invalid platform 2021-06-23 15:42:13 +02:00
hooks bump go module to v3 2021-02-22 09:03:51 +01:00
inspect bump go module to v3 2021-02-22 09:03:51 +01:00
kubeutils prune remotecommand dependency 2021-02-25 10:02:41 -06:00
lookup Enable whitespace linter 2021-02-11 23:01:56 +01:00
machine Fix build tags for pkg/machine... 2021-06-10 10:25:16 +02:00
namespaces [NO TESTS NEEDED] Shrink the size of podman-remote 2021-03-29 09:49:45 -04:00
netns rootless cni without infra container 2021-04-01 17:27:03 +02:00
network Split libpod/network package 2021-03-15 14:01:52 +01:00
parallel bump go module to v3 2021-02-22 09:03:51 +01:00
ps migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
registries Document CONTAINERS_CONF/CONTAINERS_STORAGE_CONF Env variables 2021-03-10 06:34:47 -05:00
resolvconf bump go module to v3 2021-02-22 09:03:51 +01:00
rootless rootless: fix fast join userns path 2021-06-09 15:30:41 +02:00
rootlessport Enable whitespace linter 2021-02-11 23:01:56 +01:00
seccomp Spelling 2020-12-22 13:34:31 -05:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
signal Fix build for mips architecture follow-up 2021-01-07 15:04:22 +01:00
specgen Merge pull request #10583 from rhatdan/log 2021-06-24 05:47:10 -04:00
systemd pkg/systemd: don't require LISTEN_FDNAMES for socket activation 2021-06-24 09:01:39 -06:00
terminal pkg/terminal: use c/storage/pkg/homedir 2021-03-08 09:21:13 +01:00
timetype make lint: enable gocritic 2020-01-13 14:27:02 +01:00
trust Enable whitespace linter 2021-02-11 23:01:56 +01:00
util migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00