void usage(void)
{
fprintf(stderr, "Usage: %s OPTIONS\n\nOptions:\n", progname);
- fprintf(stderr, " -h, --help Display this usage.\n");
- fprintf(stderr, " -d, --daemonize Start as a daemon.\n");
- fprintf(stderr, " -C, --control-port Control port listening (URI)\n");
- fprintf(stderr, " -D, --data-port Data port listening (URI)\n");
- fprintf(stderr, " -o, --output Output path for traces (PATH)\n");
- fprintf(stderr, " -v, --verbose Verbose mode. Activate DBG() macro.\n");
+ fprintf(stderr, " -h, --help Display this usage.\n");
+ fprintf(stderr, " -d, --daemonize Start as a daemon.\n");
+ fprintf(stderr, " -C, --control-port URL Control port listening.\n");
+ fprintf(stderr, " -D, --data-port URL Data port listening.\n");
+ fprintf(stderr, " -o, --output PATH Output path for traces. Must use an absolute path.\n");
+ fprintf(stderr, " -v, --verbose Verbose mode. Activate DBG() macro.\n");
}
static
goto end;
}
+ /*
+ * No need to use run_as API here because whatever we receives, the relayd
+ * uses its own credentials for the stream files.
+ */
ret = utils_create_stream_file(stream->path_name, stream->channel_name,
- stream->tracefile_size, 0, getuid(), getgid());
+ stream->tracefile_size, 0, -1, -1);
if (ret < 0) {
ERR("Create output file");
goto end;
stream->tracefile_size) {
ret = utils_rotate_stream_file(stream->path_name,
stream->channel_name, stream->tracefile_size,
- stream->tracefile_count, getuid(), getgid(),
+ stream->tracefile_count, -1, -1,
stream->fd, &(stream->tracefile_count_current));
if (ret < 0) {
ERR("Rotating output file");
goto end;
}
stream->fd = ret;
+ /* Reset current size because we just perform a stream rotation. */
+ stream->tracefile_size_current = 0;
}
stream->tracefile_size_current += data_size;
do {
/* Try to create directory if -o, --output is specified. */
if (opt_output_path) {
+ if (*opt_output_path != '/') {
+ ERR("Please specify an absolute path for -o, --output PATH");
+ goto exit;
+ }
+
ret = utils_mkdir_recursive(opt_output_path, S_IRWXU | S_IRWXG);
if (ret < 0) {
ERR("Unable to create %s", opt_output_path);