Fix: sessiond: size-based rotations never trigger
[lttng-tools.git] / src / common / trigger.c
index e708694b1c0969a7feb649691af0c9b411f05cac..174f4b686edf5f49e282126149c49580a45b3dc7 100644 (file)
@@ -269,6 +269,10 @@ ssize_t lttng_trigger_create_from_payload(
                }
        }
 
+       if (trigger_comm->is_hidden) {
+               lttng_trigger_set_hidden(trigger);
+       }
+
        ret = offset;
 
 error:
@@ -311,6 +315,8 @@ int lttng_trigger_serialize(const struct lttng_trigger *trigger,
 
        trigger_comm.name_length = size_name;
 
+       trigger_comm.is_hidden = lttng_trigger_is_hidden(trigger);
+
        header_offset = payload->buffer.size;
        ret = lttng_dynamic_buffer_append(&payload->buffer, &trigger_comm,
                        sizeof(trigger_comm));
@@ -756,8 +762,10 @@ LTTNG_HIDDEN
 void lttng_trigger_set_credentials(struct lttng_trigger *trigger,
                const struct lttng_credentials *creds)
 {
+       /* Triggers do not use the group id to authenticate the user. */
        assert(creds);
-       trigger->creds = *creds;
+       LTTNG_OPTIONAL_SET(&trigger->creds.uid, LTTNG_OPTIONAL_GET(creds->uid));
+       LTTNG_OPTIONAL_UNSET(&trigger->creds.gid);
 }
 
 enum lttng_trigger_status lttng_trigger_set_owner_uid(
This page took 0.023342 seconds and 4 git commands to generate.