Don't allow slashes and dots in overriden trace chunk names
[lttng-tools.git] / src / bin / lttng-relayd / cmd-2-11.c
index eb03999cf9a4aac73b6cf0650e3bad118e3aaa14..363e0f00022984a2b758eca59811017d80bb0e1c 100644 (file)
@@ -31,7 +31,9 @@
 
 int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
                char *session_name, char *hostname,
-               uint32_t *live_timer, bool *snapshot)
+               uint32_t *live_timer, bool *snapshot,
+               uint64_t *id_sessiond, lttng_uuid sessiond_uuid,
+               bool *has_current_chunk, uint64_t *current_chunk_id)
 {
        int ret;
        struct lttcomm_relayd_create_session_2_11 header;
@@ -52,6 +54,10 @@ int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
        header.session_name_len = be32toh(header.session_name_len);
        header.hostname_len = be32toh(header.hostname_len);
        header.live_timer = be32toh(header.live_timer);
+       header.current_chunk_id.value = be64toh(header.current_chunk_id.value);
+       header.current_chunk_id.is_set = !!header.current_chunk_id.is_set;
+
+       lttng_uuid_copy(sessiond_uuid, header.sessiond_uuid);
 
        received_names_size = header.session_name_len + header.hostname_len;
        if (payload->size < header_len + received_names_size) {
@@ -100,6 +106,8 @@ int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
 
        *live_timer = header.live_timer;
        *snapshot = !!header.snapshot;
+       *current_chunk_id = header.current_chunk_id.value;
+       *has_current_chunk = header.current_chunk_id.is_set;
 
        ret = 0;
 
@@ -112,7 +120,8 @@ error:
  */
 int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
                char **ret_path_name, char **ret_channel_name,
-               uint64_t *tracefile_size, uint64_t *tracefile_count)
+               uint64_t *tracefile_size, uint64_t *tracefile_count,
+               uint64_t *trace_archive_id)
 {
        int ret;
        struct lttcomm_relayd_add_stream_2_11 header;
@@ -136,6 +145,7 @@ int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
        header.pathname_len = be32toh(header.pathname_len);
        header.tracefile_size = be64toh(header.tracefile_size);
        header.tracefile_count = be64toh(header.tracefile_count);
+       header.trace_archive_id = be64toh(header.trace_archive_id);
 
        received_names_size = header.channel_name_len + header.pathname_len;
        if (payload->size < header_len + received_names_size) {
@@ -191,6 +201,7 @@ int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
 
        *tracefile_size = header.tracefile_size;
        *tracefile_count = header.tracefile_count;
+       *trace_archive_id = header.trace_archive_id;
        *ret_path_name = path_name;
        *ret_channel_name = channel_name;
        /* Move ownership to caller */
This page took 0.025228 seconds and 5 git commands to generate.