From 8a4a57741f187db742ca00ab53ad665307b32369 Mon Sep 17 00:00:00 2001 From: Ludovico de Nittis <ludovico.denittis@collabora.com> Date: Wed, 3 Mar 2021 13:41:51 +0100 Subject: [PATCH] pressure-vessel: Mount resolved varlink socket if available nss-resolve uses systemd-resolved to resolve hostnames and, since systemd 247, it utilize the varlink API. To make it run inside the container we need to expose the varlink socket. Check the upstream commit for more info https://github.com/flatpak/flatpak/commit/e5da98ff4b12a080044d58b4cd2fb4edb4491132 Fixes: #61 Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com> --- pressure-vessel/flatpak-run-private.h | 1 + pressure-vessel/flatpak-run.c | 4 ++-- pressure-vessel/wrap-setup.c | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pressure-vessel/flatpak-run-private.h b/pressure-vessel/flatpak-run-private.h index a5931a61e..4dec7e217 100644 --- a/pressure-vessel/flatpak-run-private.h +++ b/pressure-vessel/flatpak-run-private.h @@ -42,6 +42,7 @@ void flatpak_run_add_x11_args (FlatpakBwrap *bwrap, gboolean allowed); gboolean flatpak_run_add_wayland_args (FlatpakBwrap *bwrap); void flatpak_run_add_pulseaudio_args (FlatpakBwrap *bwrap); +void flatpak_run_add_resolved_args (FlatpakBwrap *bwrap); gboolean flatpak_run_add_system_dbus_args (FlatpakBwrap *app_bwrap); gboolean flatpak_run_add_session_dbus_args (FlatpakBwrap *app_bwrap); void flatpak_run_apply_env_appid (FlatpakBwrap *bwrap, diff --git a/pressure-vessel/flatpak-run.c b/pressure-vessel/flatpak-run.c index b62c520f7..a43babb7b 100644 --- a/pressure-vessel/flatpak-run.c +++ b/pressure-vessel/flatpak-run.c @@ -727,8 +727,7 @@ flatpak_run_add_pulseaudio_args (FlatpakBwrap *bwrap) flatpak_bwrap_add_args (bwrap, "--dev-bind", "/dev/snd", "/dev/snd", NULL); } -#if 0 -static void +void flatpak_run_add_resolved_args (FlatpakBwrap *bwrap) { const char *resolved_socket = "/run/systemd/resolve/io.systemd.Resolve"; @@ -737,6 +736,7 @@ flatpak_run_add_resolved_args (FlatpakBwrap *bwrap) flatpak_bwrap_add_args (bwrap, "--bind", resolved_socket, resolved_socket, NULL); } +#if 0 static void flatpak_run_add_journal_args (FlatpakBwrap *bwrap) { diff --git a/pressure-vessel/wrap-setup.c b/pressure-vessel/wrap-setup.c index 5fb54a13f..081b43d0e 100644 --- a/pressure-vessel/wrap-setup.c +++ b/pressure-vessel/wrap-setup.c @@ -57,6 +57,8 @@ pv_wrap_share_sockets (FlatpakBwrap *bwrap, pv_environ_lock_env (container_env, "PULSE_SERVER", NULL); pv_environ_lock_env (container_env, "XAUTHORITY", NULL); + flatpak_run_add_resolved_args (sharing_bwrap); + flatpak_run_add_font_path_args (sharing_bwrap); /* We need to set up IPC rendezvous points relatively late, so that -- GitLab