Fix: notification: client with uid != trigger uid assert on gid check
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 3 Mar 2021 20:45:11 +0000 (15:45 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 13 Apr 2021 20:38:22 +0000 (16:38 -0400)
The gid was removed from the trigger object since gid is not an exposed
control measure anywhere in lttng except for the "tracing" group and
lttng-sessiond to client communication.

Also based on this:

 /*
 * As for privilieged users, they can register triggers against the objects of
 * other users. They can then subscribe to the notifications associated to their
 * triggers. Privilieged users _can't_ subscribe to the notifications of
 * triggers owned by other users; they must create their own triggers.
 * /

This is why the current check is not bypassed if the notification client
have a UID == 0 (root).

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I690ea355b0b1ab0bfe82b7db47275876afe622f2

src/bin/lttng-sessiond/notification-thread-events.c

index 0836620b59262413c43b8cb97addb8e0f468746b..827cf2c1459f5ee4cb683ac3fd5b0699ab5d9b82 100644 (file)
@@ -4335,7 +4335,7 @@ int notification_client_list_send_evaluation(
                        }
                }
 
-               if (client->uid != lttng_credentials_get_uid(trigger_creds) && client->gid != lttng_credentials_get_gid(trigger_creds)) {
+               if (client->uid != lttng_credentials_get_uid(trigger_creds)) {
                        DBG("[notification-thread] Skipping client at it does not have the permission to receive notification for this trigger");
                        goto skip_client;
                }
This page took 0.027671 seconds and 4 git commands to generate.