diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-04-17 16:27:17 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-04-17 16:39:59 -0700 |
commit | 4e0326241b35d2549fdba5666f343c31279e18e4 (patch) | |
tree | 2d8b1e2a46ff4b5db3bb4d102667cae43854dbdb /pkg/domain/infra/abi | |
parent | aa97cb5f42a35de02d520f6c3006600505a3d6d9 (diff) | |
download | podman-4e0326241b35d2549fdba5666f343c31279e18e4.tar.gz podman-4e0326241b35d2549fdba5666f343c31279e18e4.tar.bz2 podman-4e0326241b35d2549fdba5666f343c31279e18e4.zip |
V2 Fix support for tcp://[::]<port> connections
* Fix support for socket activation, on remote and service
$ systemd-socket-activate -l 8083 --fdname=podman bin/podman system service --log-level=debug --time=30
$ bin/podman-remote --remote=tcp://[::]:8083 image ls
Or, use the podman.{socket,service} unit files
$ bin/podman-remote --remote=unix:///run/podman/podman.sock image ls
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/domain/infra/abi')
-rw-r--r-- | pkg/domain/infra/abi/system.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pkg/domain/infra/abi/system.go b/pkg/domain/infra/abi/system.go index 67593b2dd..078f5404d 100644 --- a/pkg/domain/infra/abi/system.go +++ b/pkg/domain/infra/abi/system.go @@ -35,7 +35,7 @@ func (ic *ContainerEngine) Info(ctx context.Context) (*define.Info, error) { func (ic *ContainerEngine) RestService(_ context.Context, opts entities.ServiceOptions) error { var ( - listener net.Listener + listener *net.Listener err error ) @@ -45,13 +45,14 @@ func (ic *ContainerEngine) RestService(_ context.Context, opts entities.ServiceO return errors.Errorf("%s is an invalid socket destination", opts.URI) } address := strings.Join(fields[1:], ":") - listener, err = net.Listen(fields[0], address) + l, err := net.Listen(fields[0], address) if err != nil { return errors.Wrapf(err, "unable to create socket %s", opts.URI) } + listener = &l } - server, err := api.NewServerWithSettings(ic.Libpod, opts.Timeout, &listener) + server, err := api.NewServerWithSettings(ic.Libpod, opts.Timeout, listener) if err != nil { return err } @@ -62,7 +63,9 @@ func (ic *ContainerEngine) RestService(_ context.Context, opts entities.ServiceO }() err = server.Serve() - _ = listener.Close() + if listener != nil { + _ = (*listener).Close() + } return err } |