-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce XDP_APP_INFO_KIND_CONTAINERS1 which gets all information from D-Bus #1268
base: main
Are you sure you want to change the base?
Commits on Jan 23, 2024
-
device: Removes the Device portal
A shell of its former self remains which informs any potential user about the removal. The Device portal is, to the best of our knowledge, not used by any component. It's also weird because it's not a portal expoed to clients which caused confusion. The service it provides is also provided by the permission store, minus the ability to map from arbitrary PID to an app id. This PID to app id mapping isn't something that can be done in general and is most likely broken when the PID is not of the xdg-dbus-proxy.
Configuration menu - View commit details
-
Copy full SHA for 8549bc8 - Browse repository at this point
Copy the full SHA 8549bc8View commit details -
utils: Make unused functions private
One was a left-over and for the other we just removed the last users.
Configuration menu - View commit details
-
Copy full SHA for b18b893 - Browse repository at this point
Copy the full SHA b18b893View commit details -
utils: Add xdp_app_info_is_flatpak
This will become useful once we support the dbus Containers1 interface and a new XDP_APP_INFO kind can still refer to a flatpak.
Configuration menu - View commit details
-
Copy full SHA for bd33109 - Browse repository at this point
Copy the full SHA bd33109View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9ad755 - Browse repository at this point
Copy the full SHA b9ad755View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa954ce - Browse repository at this point
Copy the full SHA fa954ceView commit details -
utils: Move xdp_get_app_info_from_pid to xdp_connection_lookup_app_in…
…fo_sync This will make it easier to follow which method of identiying an app will be used under what conditions.
Configuration menu - View commit details
-
Copy full SHA for 0793641 - Browse repository at this point
Copy the full SHA 0793641View commit details
Commits on Feb 8, 2024
-
utils: Get rid of tri-state app info creation
Instead of returning either NULL with error, NULL without error and non-NULL without error, adhere to GLib convention and return either TRUE with an out param set or FALSE with an error set.
Configuration menu - View commit details
-
Copy full SHA for 6bb06d7 - Browse repository at this point
Copy the full SHA 6bb06d7View commit details -
utils: Use GetConnectionCredentials to fetch the PID and pidfd
The org.fdo.DBus.GetConnectionCredentials method gives us both a PID (ProcessID) and a pidfd (ProcessFD) in one roundtrip. It fails when the PID can't be retrieved but allows the pidfd to be -1. The pidfd will become useful for host and Containers1 clients later.
Configuration menu - View commit details
-
Copy full SHA for 4e5eb41 - Browse repository at this point
Copy the full SHA 4e5eb41View commit details -
Configuration menu - View commit details
-
Copy full SHA for df88e79 - Browse repository at this point
Copy the full SHA df88e79View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1537fd5 - Browse repository at this point
Copy the full SHA 1537fd5View commit details -
utils: Fetch Containers1 metadata
Returns a GVariant containign all the metadata that a container engine like flatpak has set on the socket for this app instance. This contains the container type, app id, instance id and additional arbitrary metadata such as the desktop file name. If the D-Bus broker doesn't support the Containers1 interface or the app using the portal is not running in a container, we fall back to the other ways of identifying apps. This specifically means it's safe to run a D-Bus broker which supports Containers1 while flatpak doesn't. Eventually we want to remove the flatpak and snap specific paths at which point it's a requirement to have a Containers1 capable flatpak.
Configuration menu - View commit details
-
Copy full SHA for 4d1243e - Browse repository at this point
Copy the full SHA 4d1243eView commit details -
utils: Make pid mappings via pidns more generic
Both host apps and Containers1 apps can do pid mappings via pidfd. This is some prep work for that.
Configuration menu - View commit details
-
Copy full SHA for 7315913 - Browse repository at this point
Copy the full SHA 7315913View commit details -
utils: Support pid/tid mapping for host apps
Do some best effort pid remapping for host apps. This will only work when the D-Bus broker supports pidfd (ProcessFD).
Configuration menu - View commit details
-
Copy full SHA for ca85d7e - Browse repository at this point
Copy the full SHA ca85d7eView commit details -
utils: Introduce XDP_APP_INFO_KIND_CONTAINERS1
This new app kind is authenticated by D-Bus and x-d-p gets all the information about the app from D-Bus which itself get the information from the sandbox engine which set up the sandbox of the app. Currently only flatpak and dbus (dbus-daemon) supports this mechanism but it can be supported by any other sandbox engine, such as snap and firejail. This also means that an app with XDP_APP_INFO_KIND_CONTAINERS1 can still be a flatpak or a snap app. The goal is to make as many paths in x-d-p agnostic to the actual sandbox engine and handle all XDP_APP_INFO_KIND_CONTAINERS1 apps the same. Eventually we can then remove any other XDP_APP_INFO_KIND variants. This commit sets up a XdpAppInfo object with all the metadata x-d-p will need. The follow up commit implements various XdpAppInfo functionalities.
Configuration menu - View commit details
-
Copy full SHA for ba4ab57 - Browse repository at this point
Copy the full SHA ba4ab57View commit details -
utils: Implement XdpAppInfo utils for KIND_CONTAINERS1
Uses some of the metadata from Containers1 directly and falls back to the flatpak path in some cases. Some of the fallbacks can be removed once the D-Bus broker supports ACL and we can get rid of xdg-dbus-proxy. The path remapping and tryexec functionalities are not implemented right now.
Configuration menu - View commit details
-
Copy full SHA for b342409 - Browse repository at this point
Copy the full SHA b342409View commit details