gmessages: Support namespaced journals

Spotted and diagnosed by Ilya Basin.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2530
This commit is contained in:
Philip Withnall 2021-11-16 14:43:12 +00:00
parent 1f1bf730a2
commit fc4070a047

View File

@ -2225,10 +2225,14 @@ g_log_writer_is_journald (gint output_fd)
if (output_fd < 0)
return FALSE;
/* Namespaced journals start with `/run/systemd/journal.${name}/` (see
* `RuntimeDirectory=systemd/journal.%i` in `systemd-journald@.service`. The
* default journal starts with `/run/systemd/journal/`. */
addr_len = sizeof(addr);
err = getpeername (output_fd, &addr.sa, &addr_len);
if (err == 0 && addr.storage.ss_family == AF_UNIX)
return g_str_has_prefix (addr.un.sun_path, "/run/systemd/journal/");
return (g_str_has_prefix (addr.un.sun_path, "/run/systemd/journal/") ||
g_str_has_prefix (addr.un.sun_path, "/run/systemd/journal."));
#endif
return FALSE;