summaryrefslogtreecommitdiff
path: root/src/journal-remote
diff options
context:
space:
mode:
Diffstat (limited to 'src/journal-remote')
-rw-r--r--src/journal-remote/journal-upload.c10
-rw-r--r--src/journal-remote/journal-upload.h2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/journal-remote/journal-upload.c b/src/journal-remote/journal-upload.c
index 95be9a0e21..c5a3e1907b 100644
--- a/src/journal-remote/journal-upload.c
+++ b/src/journal-remote/journal-upload.c
@@ -396,7 +396,13 @@ static int setup_uploader(Uploader *u, const char *url, const char *state_file)
memzero(u, sizeof(Uploader));
u->input = -1;
- u->url = url;
+ if (!startswith(url, "http://") && !startswith(url, "https://"))
+ url = strappenda("https://", url);
+
+ u->url = strappend(url, "/upload");
+ if (!u->url)
+ return log_oom();
+
u->state_file = state_file;
r = sd_event_default(&u->events);
@@ -424,6 +430,8 @@ static void destroy_uploader(Uploader *u) {
free(u->last_cursor);
free(u->current_cursor);
+ free(u->url);
+
u->input_event = sd_event_source_unref(u->input_event);
close_fd_input(u);
diff --git a/src/journal-remote/journal-upload.h b/src/journal-remote/journal-upload.h
index 9ccad102ad..3b46fa8cbf 100644
--- a/src/journal-remote/journal-upload.h
+++ b/src/journal-remote/journal-upload.h
@@ -23,7 +23,7 @@ typedef struct Uploader {
sd_event *events;
sd_event_source *sigint_event, *sigterm_event;
- const char *url;
+ char *url;
CURL *easy;
bool uploading;
char error[CURL_ERROR_SIZE];