From 2d13c8aa1a74b102143ae2b7aa2d82eaa805fad7 Mon Sep 17 00:00:00 2001 From: Maria Kuklina <101095419+kmd-fl@users.noreply.github.com> Date: Tue, 19 Dec 2023 17:22:31 +0100 Subject: [PATCH] feat(plumber): allow root to access deactivated workers [fixes NET-695] (#1968) * allow root to access deactivated workers --- aquamarine/src/plumber.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/aquamarine/src/plumber.rs b/aquamarine/src/plumber.rs index 9900605b6d..052f8b4990 100644 --- a/aquamarine/src/plumber.rs +++ b/aquamarine/src/plumber.rs @@ -116,11 +116,14 @@ impl Plumber { return; } - if !self.key_manager.is_worker_active(worker_id) - && !self - .key_manager - .is_management(particle.particle.init_peer_id) - { + let is_active = self.key_manager.is_worker_active(worker_id); + let is_manager = self + .key_manager + .is_management(particle.particle.init_peer_id); + let is_host = self.key_manager.is_host(particle.particle.init_peer_id); + + // Only a manager or the host itself is allowed to access deactivated workers + if !is_active && !is_manager && !is_host { tracing::trace!(target: "worker_inactive", particle_id = particle.particle.id, worker_id = worker_id.to_string(), "Worker is not active"); return; }