From 808d868b8e9de1394992649c5ea8d83f39705b8c Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Thu, 12 Feb 2026 09:11:55 -0700 Subject: [PATCH] Ignore non-owner client input policy updates --- src/stream.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/stream.cpp b/src/stream.cpp index d8c29690..1af48201 100644 --- a/src/stream.cpp +++ b/src/stream.cpp @@ -1171,12 +1171,19 @@ namespace stream { } auto *policy = (const control_set_input_policy_t *) payload.data(); - apply_session_input_policy( - session, - policy->allow_keyboard != 0, - policy->allow_mouse != 0, - policy->allow_gamepad != 0, - policy->reason); + bool is_owner_session = session->input_policy.is_owner_session.load(std::memory_order_relaxed); + if (!is_owner_session) { + BOOST_LOG(info) + << "Ignoring client input policy update from non-owner session [id="sv << session->launch_session_id + << ", client="sv << session->client_unique_id << "]"sv; + } else { + apply_session_input_policy( + session, + policy->allow_keyboard != 0, + policy->allow_mouse != 0, + policy->allow_gamepad != 0, + policy->reason); + } if (send_session_input_policy(session, INPUT_POLICY_REASON_HOST_ACK)) { BOOST_LOG(warning) << "Unable to send input policy acknowledgment"sv;