From be5c2bc99af50c9e65e1b54d77e8dbcba456b9bf Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Thu, 30 May 2024 11:28:45 +0200 Subject: [PATCH] wayland: restrict input method global to privileged applications --- src/client.rs | 1 + src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client.rs b/src/client.rs index d964bbd9..f5c9e6df 100644 --- a/src/client.rs +++ b/src/client.rs @@ -56,6 +56,7 @@ bitflags! { CAP_SCREENCOPY_MANAGER = 1 << 7, CAP_SEAT_MANAGER = 1 << 8, CAP_DRM_LEASE = 1 << 9, + CAP_INPUT_METHOD = 1 << 10, } pub const CAPS_DEFAULT: ClientCaps = ClientCaps(CAP_LAYER_SHELL.0 | CAP_DRM_LEASE.0); diff --git a/src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs b/src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs index d2b03ab4..4dccf2b5 100644 --- a/src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs +++ b/src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs @@ -1,6 +1,6 @@ use { crate::{ - client::{Client, ClientError}, + client::{Client, ClientCaps, ClientError, CAP_INPUT_METHOD}, globals::{Global, GlobalName}, ifs::wl_seat::text_input::{zwp_input_method_v2::ZwpInputMethodV2, TextConnectReason}, leaks::Tracker, @@ -59,6 +59,10 @@ impl Global for ZwpInputMethodManagerV2Global { fn version(&self) -> u32 { 1 } + + fn required_caps(&self) -> ClientCaps { + CAP_INPUT_METHOD + } } simple_add_global!(ZwpInputMethodManagerV2Global);