X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjournal-remote%2Fjournal-remote.c;h=89a680dcb77d98304562ec21add36d4350181a26;hp=d94b2afc00ad183d0fc06bf51899af6ed66a2c78;hb=da927ba997d68401563b927f92e6e40e021a8e5c;hpb=9ce998b93770708ce992b53e93c3c7781ec9a8a2 diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c index d94b2afc0..89a680dcb 100644 --- a/src/journal-remote/journal-remote.c +++ b/src/journal-remote/journal-remote.c @@ -149,15 +149,15 @@ static int spawn_getter(const char *getter, const char *url) { _cleanup_strv_free_ char **words = NULL; assert(getter); - r = strv_split_quoted(&words, getter); + r = strv_split_quoted(&words, getter, false); if (r < 0) { - log_error("Failed to split getter option: %s", strerror(-r)); + log_error_errno(r, "Failed to split getter option: %m"); return r; } r = strv_extend(&words, url); if (r < 0) { - log_error("Failed to create command line: %s", strerror(-r)); + log_error_errno(r, "Failed to create command line: %m"); return r; } @@ -398,9 +398,9 @@ static int add_source(RemoteServer *s, int fd, char* name, bool own_name) { goto error; } - r = sd_event_source_set_name(source->event, name); + r = sd_event_source_set_description(source->event, name); if (r < 0) { - log_error("Failed to set source name for fd:%d: %s", fd, strerror(-r)); + log_error_errno(r, "Failed to set source name for fd:%d: %m", fd); goto error; } @@ -426,7 +426,7 @@ static int add_raw_socket(RemoteServer *s, int fd) { snprintf(name, sizeof(name), "raw-socket-%d", fd); - r = sd_event_source_set_name(s->listen_event, name); + r = sd_event_source_set_description(s->listen_event, name); if (r < 0) return r; @@ -505,11 +505,11 @@ static int process_http_upload( assert(source); - log_debug("request_handler_upload: connection %p, %zu bytes", - connection, *upload_data_size); + log_trace("%s: connection %p, %zu bytes", + __func__, connection, *upload_data_size); if (*upload_data_size) { - log_debug("Received %zu bytes", *upload_data_size); + log_trace("Received %zu bytes", *upload_data_size); r = push_data(source, upload_data, *upload_data_size); if (r < 0) @@ -572,7 +572,7 @@ static int request_handler( assert(url); assert(method); - log_debug("Handling a connection %s %s %s", method, url, version); + log_trace("Handling a connection %s %s %s", method, url, version); if (*connection_cls) return process_http_upload(connection, @@ -662,7 +662,7 @@ static int setup_microhttpd_server(RemoteServer *s, r = fd_nonblock(fd, true); if (r < 0) { - log_error("Failed to make fd:%d nonblocking: %s", fd, strerror(-r)); + log_error_errno(r, "Failed to make fd:%d nonblocking: %m", fd); return r; } @@ -720,13 +720,13 @@ static int setup_microhttpd_server(RemoteServer *s, epoll_fd, EPOLLIN, dispatch_http_event, d); if (r < 0) { - log_error("Failed to add event callback: %s", strerror(-r)); + log_error_errno(r, "Failed to add event callback: %m"); goto error; } - r = sd_event_source_set_name(d->event, "epoll-fd"); + r = sd_event_source_set_description(d->event, "epoll-fd"); if (r < 0) { - log_error("Failed to set source name: %s", strerror(-r)); + log_error_errno(r, "Failed to set source name: %m"); goto error; } @@ -738,7 +738,7 @@ static int setup_microhttpd_server(RemoteServer *s, r = hashmap_put(s->daemons, &d->fd, d); if (r < 0) { - log_error("Failed to add daemon to hashmap: %s", strerror(-r)); + log_error_errno(r, "Failed to add daemon to hashmap: %m"); goto error; } @@ -803,18 +803,10 @@ static int setup_signals(RemoteServer *s) { if (r < 0) return r; - r = sd_event_source_set_name(s->sigterm_event, "sigterm"); - if (r < 0) - return r; - r = sd_event_add_signal(s->events, &s->sigint_event, SIGINT, NULL, s); if (r < 0) return r; - r = sd_event_source_set_name(s->sigint_event, "sigint"); - if (r < 0) - return r; - return 0; } @@ -849,7 +841,7 @@ static int remoteserver_init(RemoteServer *s, r = sd_event_default(&s->events); if (r < 0) { - log_error("Failed to allocate event loop: %s", strerror(-r)); + log_error_errno(r, "Failed to allocate event loop: %m"); return r; } @@ -890,7 +882,7 @@ static int remoteserver_init(RemoteServer *s, r = getnameinfo_pretty(fd, &hostname); if (r < 0) { - log_error("Failed to retrieve remote name: %s", strerror(-r)); + log_error_errno(r, "Failed to retrieve remote name: %m"); return r; } @@ -1059,7 +1051,7 @@ static int dispatch_raw_source_event(sd_event_source *event, } else if (r == -EAGAIN) { return 0; } else if (r < 0) { - log_info("Closing connection: %s", strerror(-r)); + log_info_errno(r, "Closing connection: %m"); remove_source(server, fd); return 0; } else @@ -1092,7 +1084,7 @@ static int accept_connection(const char* type, int fd, r = socket_address_print(addr, &a); if (r < 0) { - log_error("socket_address_print(): %s", strerror(-r)); + log_error_errno(r, "socket_address_print(): %m"); close(fd2); return r; } @@ -1172,24 +1164,25 @@ static int parse_config(void) { static void help(void) { printf("%s [OPTIONS...] {FILE|-}...\n\n" "Write external journal events to journal file(s).\n\n" - " -h --help Show this help\n" - " --version Show package version\n" - " --url=URL Read events from systemd-journal-gatewayd at URL\n" - " --getter=COMMAND Read events from the output of COMMAND\n" - " --listen-raw=ADDR Listen for connections at ADDR\n" - " --listen-http=ADDR Listen for HTTP connections at ADDR\n" - " --listen-https=ADDR Listen for HTTPS connections at ADDR\n" - " -o --output=FILE|DIR Write output to FILE or DIR/external-*.journal\n" - " --compress[=BOOL] Use XZ-compression in the output journal (default: yes)\n" - " --seal[=BOOL] Use Event sealing in the output journal (default: no)\n" - " --key=FILENAME Specify key in PEM format (default:\n" - " \"" PRIV_KEY_FILE "\")\n" - " --cert=FILENAME Specify certificate in PEM format (default:\n" - " \"" CERT_FILE "\")\n" - " --trust=FILENAME|all Specify CA certificate or disable checking (default:\n" - " \"" TRUST_FILE "\")\n" + " -h --help Show this help\n" + " --version Show package version\n" + " --url=URL Read events from systemd-journal-gatewayd at URL\n" + " --getter=COMMAND Read events from the output of COMMAND\n" + " --listen-raw=ADDR Listen for connections at ADDR\n" + " --listen-http=ADDR Listen for HTTP connections at ADDR\n" + " --listen-https=ADDR Listen for HTTPS connections at ADDR\n" + " -o --output=FILE|DIR Write output to FILE or DIR/external-*.journal\n" + " --compress[=BOOL] XZ-compress the output journal (default: yes)\n" + " --seal[=BOOL] Use event sealing (default: no)\n" + " --key=FILENAME SSL key in PEM format (default:\n" + " \"" PRIV_KEY_FILE "\")\n" + " --cert=FILENAME SSL certificate in PEM format (default:\n" + " \"" CERT_FILE "\")\n" + " --trust=FILENAME|all SSL CA certificate or disable checking (default:\n" + " \"" TRUST_FILE "\")\n" " --gnutls-log=CATEGORY...\n" - " Specify a list of gnutls logging categories\n" + " Specify a list of gnutls logging categories\n" + " --split-mode=none|host How many output files to create\n" "\n" "Note: file descriptors from sd_listen_fds() will be consumed, too.\n" , program_invocation_short_name); @@ -1547,7 +1540,11 @@ int main(int argc, char **argv) { if (remoteserver_init(&s, key, cert, trust) < 0) return EXIT_FAILURE; - sd_event_set_watchdog(s.events, true); + r = sd_event_set_watchdog(s.events, true); + if (r < 0) + log_error_errno(r, "Failed to enable watchdog: %m"); + else + log_debug("Watchdog is %s.", r > 0 ? "enabled" : "disabled"); log_debug("%s running as pid "PID_FMT, program_invocation_short_name, getpid()); @@ -1564,7 +1561,7 @@ int main(int argc, char **argv) { r = sd_event_run(s.events, -1); if (r < 0) { - log_error("Failed to run event loop: %s", strerror(-r)); + log_error_errno(r, "Failed to run event loop: %m"); break; } }