From d9cf1cb78ef3dfd82f03965aab70792bbe25c9e2 Mon Sep 17 00:00:00 2001 From: Ross <79549577+ross96D@users.noreply.github.com> Date: Sat, 23 Aug 2025 06:45:00 -0400 Subject: [PATCH] protocols/activation: send an invalid token when serial isn't valid (#11505) --- src/protocols/XDGActivation.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/protocols/XDGActivation.cpp b/src/protocols/XDGActivation.cpp index f25ffca8b..165bcd7e1 100644 --- a/src/protocols/XDGActivation.cpp +++ b/src/protocols/XDGActivation.cpp @@ -1,6 +1,7 @@ #include "XDGActivation.hpp" #include "../managers/TokenManager.hpp" #include "../Compositor.hpp" +#include "../managers/SeatManager.hpp" #include "core/Compositor.hpp" #include @@ -23,6 +24,12 @@ CXDGActivationToken::CXDGActivationToken(SP resource_) : return; } + if (!g_pSeatManager->serialValid(g_pSeatManager->seatResourceForClient(m_resource->client()), m_serial)) { + LOGM(LOG, "serial not found, sending invalid token"); + m_resource->sendDone("__invalid__"); + return; + } + m_committed = true; // send done with a new token m_token = g_pTokenManager->registerNewToken({}, std::chrono::months{12});