diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2024-01-04 15:01:26 +0100 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2024-01-04 15:01:26 +0100 |
| commit | e0c4f21e66027078daa02bc6521b39ccc14b752d (patch) | |
| tree | a70e5dd90e7bac092bfe3761e6173235dda89184 | |
| parent | fc23a74ec40fa73d1584ad931da11a5296066f31 (diff) | |
Mark DRM lease protocol privileged
Allowing sandboxed clients to request DRM leases has security
implications.
(cherry picked from commit c5fd8c050f7ddbfe3e5b7abc8f5f6ace3a3c5307)
| -rw-r--r-- | sway/server.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sway/server.c b/sway/server.c index 217c9ac9..9edc8bfc 100644 --- a/sway/server.c +++ b/sway/server.c @@ -75,6 +75,17 @@ static void handle_drm_lease_request(struct wl_listener *listener, void *data) { #endif static bool is_privileged(const struct wl_global *global) { +#if WLR_HAS_DRM_BACKEND + if (server.drm_lease_manager != NULL) { + struct wlr_drm_lease_device_v1 *drm_lease_dev; + wl_list_for_each(drm_lease_dev, &server.drm_lease_manager->devices, link) { + if (drm_lease_dev->global == global) { + return true; + } + } + } +#endif + return global == server.output_manager_v1->global || global == server.output_power_manager_v1->global || |
