mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
Merge pull request #2425 from yuwata/journal-remote-v4
ZJS: remove unnecessary oom check after strdupa().
This commit is contained in:
commit
ce262e5760
@ -293,15 +293,24 @@ journalctl -o export | systemd-journal-remote -o /tmp/dir -
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>Retrieve events from a remote
|
||||
<para>Retrieve all available events from a remote
|
||||
<citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
instance and store them in
|
||||
<filename>/var/log/journal/some.host/remote-some~host.journal</filename>:
|
||||
<filename>/var/log/journal/remote/remote-some.host.journal</filename>:
|
||||
<programlisting>
|
||||
systemd-journal-remote --url http://some.host:19531/
|
||||
</programlisting>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<para>Retrieve current boot events and wait for new events from a remote
|
||||
<citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
instance, and store them in
|
||||
<filename>/var/log/journal/remote/remote-some.host.journal</filename>:
|
||||
<programlisting>
|
||||
systemd-journal-remote --url http://some.host:19531/entries?boot&follow
|
||||
</programlisting>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
@ -150,7 +150,7 @@ static int spawn_curl(const char* url) {
|
||||
return r;
|
||||
}
|
||||
|
||||
static int spawn_getter(const char *getter, const char *url) {
|
||||
static int spawn_getter(const char *getter) {
|
||||
int r;
|
||||
_cleanup_strv_free_ char **words = NULL;
|
||||
|
||||
@ -159,10 +159,6 @@ static int spawn_getter(const char *getter, const char *url) {
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to split getter option: %m");
|
||||
|
||||
r = strv_extend(&words, url);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to create command line: %m");
|
||||
|
||||
r = spawn_child(words[0], words);
|
||||
if (r < 0)
|
||||
log_error_errno(r, "Failed to spawn getter %s: %m", getter);
|
||||
@ -897,18 +893,32 @@ static int remoteserver_init(RemoteServer *s,
|
||||
fd);
|
||||
}
|
||||
|
||||
if (arg_getter) {
|
||||
log_info("Spawning getter %s...", arg_getter);
|
||||
fd = spawn_getter(arg_getter);
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
|
||||
r = add_source(s, fd, (char*) arg_output, false);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
if (arg_url) {
|
||||
const char *url, *hostname;
|
||||
const char *url;
|
||||
char *hostname, *p;
|
||||
|
||||
url = strjoina(arg_url, "/entries");
|
||||
|
||||
if (arg_getter) {
|
||||
log_info("Spawning getter %s...", url);
|
||||
fd = spawn_getter(arg_getter, url);
|
||||
} else {
|
||||
log_info("Spawning curl %s...", url);
|
||||
fd = spawn_curl(url);
|
||||
if (!strstr(arg_url, "/entries")) {
|
||||
if (endswith(arg_url, "/"))
|
||||
url = strjoina(arg_url, "entries");
|
||||
else
|
||||
url = strjoina(arg_url, "/entries");
|
||||
}
|
||||
else
|
||||
url = strdupa(arg_url);
|
||||
|
||||
log_info("Spawning curl %s...", url);
|
||||
fd = spawn_curl(url);
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
|
||||
@ -917,7 +927,13 @@ static int remoteserver_init(RemoteServer *s,
|
||||
startswith(arg_url, "http://") ?:
|
||||
arg_url;
|
||||
|
||||
r = add_source(s, fd, (char*) hostname, false);
|
||||
hostname = strdupa(hostname);
|
||||
if ((p = strchr(hostname, '/')))
|
||||
*p = '\0';
|
||||
if ((p = strchr(hostname, ':')))
|
||||
*p = '\0';
|
||||
|
||||
r = add_source(s, fd, hostname, false);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user