Fix: add a kernel context list to the channel

The internal state of the session daemon was recording only one context
per channel thus overwriting the previous one if multiple context were
added causing a memory leak.

This commit adds a list inside a kernel channel which keeps track of all
context added. It also fixes the save command that now saves all of
them.

Fixes #205

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: set session in output mode if URL are set afterwards

Fixes #809

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: bad error code path when loading session

Fixes #810

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: accept override flag even without a load path

Part of the bug #807 have been fixed also by the previous commit.

Fixes #807

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add test UST perf to extra dist

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: disable JUL event on UST side

With the new root logger patch in liblttng-ust-jul, we have to disable
the JUL logger on the UST tracer side for the multi session support.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Test: add JUL disable event tests

Signed-off-by: David Goulet <dgoulet@efficios.com>
Update version to v2.5.0-rc2

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: auto load session in the auto/ directory

The session daemon will now automatically load sessions from the auto/
directory in the session config path. Both system config path and home
config path are used. The session is only loaded if the UID of the
session file matches the UID of the session daemon (or root).

For that, a autoload parameter has been added to the
config_load_session() function to indicate that we want to auto load
sessions.

Fixes #812

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add missing URCU_TLS to logging time variable

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: static array larger than necessary

The longest string that can be returned should be 20 chars long, as per
the comment.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: check malloc return value

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: memory leak in lttng_enable_event_with_exclusions

lttng_enable_event_with_exclusions leaks a filter expression when
automatically generated filter statements are used. This happens when
loglevel and logger name filtering are used when enabling JUL events.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: refactor function that fixes memory leak also

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: logger name dropped from filter condition when loglevels are used

This fix ensures that the loglevel expression is appended to the filter
expression and does not overwrite the current one.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: don't print channel name on enable JUL event

Fixes #802

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: signedness of the session live timer

Fixes #806

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add a get HOME dir fallback to getpwuid

If the $HOME or $LTTNG_HOME is not defined, fallback on getpwuid(3) of
the process uid.

Fixes #815

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: Unchecked strdup return values in set_option

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: Clamp verbosity value read from config file

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>