X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Ftrigger.cpp;h=bceeab534ae14a8113233537060fcc59b3fd92be;hb=f4d2c26adb8b6d18a62ca6d35e3a0529ff8a87b5;hp=8e6f0734e8c811c7cf4ed9e5e1b64f92d1a8c7ae;hpb=64803277bbdbe0a943360d918298a48157d9da55;p=lttng-tools.git diff --git a/src/common/trigger.cpp b/src/common/trigger.cpp index 8e6f0734e..bceeab534 100644 --- a/src/common/trigger.cpp +++ b/src/common/trigger.cpp @@ -112,7 +112,7 @@ const struct lttng_action *lttng_trigger_get_const_action( static void trigger_destroy_ref(struct urcu_ref *ref) { struct lttng_trigger *trigger = - container_of(ref, struct lttng_trigger, ref); + lttng::utils::container_of(ref, <tng_trigger::ref); struct lttng_action *action = lttng_trigger_get_action(trigger); struct lttng_condition *condition = lttng_trigger_get_condition(trigger); @@ -266,6 +266,10 @@ ssize_t lttng_trigger_create_from_payload( } } + if (trigger_comm->is_hidden) { + lttng_trigger_set_hidden(trigger); + } + ret = offset; error: @@ -307,6 +311,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)); @@ -736,8 +742,10 @@ const struct lttng_credentials *lttng_trigger_get_credentials( 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. */ LTTNG_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(