FIXME: do we want to limit this to live?
TODO: Doc
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Change-Id: I41cba9b08958c6d26e132328429a24dad97b6752
/* command line options */
char *opt_output_path, *opt_working_directory;
static int opt_daemon, opt_background, opt_print_version, opt_allow_clear = 1;
/* command line options */
char *opt_output_path, *opt_working_directory;
static int opt_daemon, opt_background, opt_print_version, opt_allow_clear = 1;
+static int opt_allow_ctf2 = 1;
enum relay_group_output_by opt_group_output_by = RELAYD_GROUP_OUTPUT_BY_UNKNOWN;
/* Argument variables */
enum relay_group_output_by opt_group_output_by = RELAYD_GROUP_OUTPUT_BY_UNKNOWN;
/* Argument variables */
{ "group-output-by-session", 0, 0, 's', },
{ "group-output-by-host", 0, 0, 'p', },
{ "disallow-clear", 0, 0, 'x' },
{ "group-output-by-session", 0, 0, 's', },
{ "group-output-by-host", 0, 0, 'p', },
{ "disallow-clear", 0, 0, 'x' },
+ { "disallow-ctf2", 0, 0, 'y' },
if (EXTRA_VERSION_PATCHES[0] != '\0') {
DBG("LTTng-relayd extra patches:\n\t" EXTRA_VERSION_PATCHES "\n");
}
if (EXTRA_VERSION_PATCHES[0] != '\0') {
DBG("LTTng-relayd extra patches:\n\t" EXTRA_VERSION_PATCHES "\n");
}
+
+ DBG("Trace format supported: %s%s", "ctf1", opt_allow_ctf2 ? ", ctf2" : "");
/* Disallow clear */
opt_allow_clear = 0;
break;
/* Disallow clear */
opt_allow_clear = 0;
break;
+ case 'y':
+ /* Disallow clear */
+ opt_allow_ctf2 = 0;
+ break;
default:
/* Unknown option or other error.
* Error is printed by getopt, just return */
default:
/* Unknown option or other error.
* Error is printed by getopt, just return */
+ if (opt_allow_ctf2) {
+ /* Check if env variable exists. */
+ const char *value = lttng_secure_getenv(DEFAULT_LTTNG_RELAYD_DISALLOW_CTF2_ENV);
+ if (value) {
+ ret = config_parse_value(value);
+ if (ret < 0) {
+ ERR("Invalid value for %s specified",
+ DEFAULT_LTTNG_RELAYD_DISALLOW_CTF2_ENV);
+ retval = -1;
+ goto exit;
+ }
+ opt_allow_ctf2 = !ret;
+ }
+ }
+
exit:
free(config_path);
free(optstring);
exit:
free(config_path);
free(optstring);
msg = (typeof(msg)) header_view.data;
query_flags = be64toh(msg->query_flags);
msg = (typeof(msg)) header_view.data;
query_flags = be64toh(msg->query_flags);
+ /* FIXME: Do we want to return invalid protocol or do we want to return
+ * an array of lttcomm_relayd_get_configuration_specialized_query_reply
+ * for each unknown query bit ?
+ */
if (query_flags & ~LTTCOMM_RELAYD_CONFIGURATION_QUERY_FLAG_MASK) {
ret = LTTNG_ERR_INVALID_PROTOCOL;
goto reply;
if (query_flags & ~LTTCOMM_RELAYD_CONFIGURATION_QUERY_FLAG_MASK) {
ret = LTTNG_ERR_INVALID_PROTOCOL;
goto reply;
#define DEFAULT_LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL_ENV "LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL"
#define DEFAULT_LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD_ENV "LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD"
#define DEFAULT_LTTNG_RELAYD_DISALLOW_CLEAR_ENV "LTTNG_RELAYD_DISALLOW_CLEAR"
#define DEFAULT_LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL_ENV "LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL"
#define DEFAULT_LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD_ENV "LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD"
#define DEFAULT_LTTNG_RELAYD_DISALLOW_CLEAR_ENV "LTTNG_RELAYD_DISALLOW_CLEAR"
+#define DEFAULT_LTTNG_RELAYD_DISALLOW_CTF2_ENV "LTTNG_RELAYD_DISALLOW_CTF2"
#define DEFAULT_LTTNG_RELAYD_WORKING_DIRECTORY_ENV "LTTNG_RELAYD_WORKING_DIRECTORY"
#define DEFAULT_LTTNG_RELAYD_WORKING_DIRECTORY_ENV "LTTNG_RELAYD_WORKING_DIRECTORY"