Systemd/src
Lennart Poettering ec20fe5ffb journald: make maximum size of stream log lines configurable and bump it to 48K (#6838)
This adds a new setting LineMax= to journald.conf, and sets it by
default to 48K. When we convert stream-based stdout/stderr logging into
record-based log entries, read up to the specified amount of bytes
before forcing a line-break.

This also makes three related changes:

- When a NUL byte is read we'll not recognize this as alternative line
  break, instead of silently dropping everything after it. (see #4863)

- The reason for a line-break is now encoded in the log record, if it
  wasn't a plain newline. Specifically, we distuingish "nul",
  "line-max" and "eof", for line breaks due to NUL byte, due to the
  maximum line length as configured with LineMax= or due to end of
  stream. This data is stored in the new implicit _LINE_BREAK= field.
  It's not synthesized for plain \n line breaks.

- A randomized 128bit ID is assigned to each log stream.

With these three changes in place it's (mostly) possible to reconstruct
the original byte streams from log data, as (most) of the context of
the conversion from the byte stream to log records is saved now. (So,
the only bits we still drop are empty lines. Which might be something to
look into in a future change, and which is outside of the scope of this
work)

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=86465
See: #4863
Replaces: #4875
2017-09-22 10:22:24 +02:00
..
ac-power build-sys: drop automake support 2017-07-18 10:04:44 -04:00
activate tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
analyze analyze-verify: add --generators switch to enable generators again 2017-09-19 20:14:22 +02:00
ask-password build-sys: drop automake support 2017-07-18 10:04:44 -04:00
backlight build-sys: drop automake support 2017-07-18 10:04:44 -04:00
basic Link to the right glibc commit in comment (#6884) 2017-09-21 20:54:16 +02:00
binfmt exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
boot "Don't fear the fsync()" 2017-08-17 20:26:36 +01:00
busctl busctl: monitor - ignore the final NameLost message 2017-05-25 17:37:50 +02:00
cgls build-sys: drop automake support 2017-07-18 10:04:44 -04:00
cgroups-agent build-sys: drop automake support 2017-07-18 10:04:44 -04:00
cgtop build-sys: drop automake support 2017-07-18 10:04:44 -04:00
core execute: fix typo in error message (#6881) 2017-09-21 10:38:52 +02:00
coredump tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
cryptsetup cryptsetup: make sure we invoke the cryptsetup tools with a shared keyring 2017-09-15 16:53:35 +02:00
debug-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
delta build-sys: drop automake support 2017-07-18 10:04:44 -04:00
detect-virt build-sys: drop automake support 2017-07-18 10:04:44 -04:00
dissect build-sys: drop automake support 2017-07-18 10:04:44 -04:00
environment-d-generator exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
escape escape: fix systemd-escape description text 2017-07-31 18:01:42 +02:00
firstboot "Don't fear the fsync()" 2017-08-17 20:26:36 +01:00
fsck build-sys: drop automake support 2017-07-18 10:04:44 -04:00
fstab-generator tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
getty-generator getty-generator: shift relevant comment to above tty_is_vc() 2017-08-07 17:23:41 +01:00
gpt-auto-generator cryptsetup: make sure we invoke the cryptsetup tools with a shared keyring 2017-09-15 16:53:35 +02:00
hibernate-resume build-sys: drop automake support 2017-07-18 10:04:44 -04:00
hostname build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
hwdb exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
import build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
initctl tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
journal journald: make maximum size of stream log lines configurable and bump it to 48K (#6838) 2017-09-22 10:22:24 +02:00
journal-remote journal-remote: show error if SplitMode=host with 'active' source is specified 2017-08-30 16:56:41 +09:00
kernel-install build-sys: drop automake support 2017-07-18 10:04:44 -04:00
libsystemd Merge pull request #6853 from sourcejedi/GetAll 2017-09-21 21:41:55 +02:00
libsystemd-network sd-radv: Free DNS domain search list on unref (#6858) 2017-09-18 12:09:44 +02:00
libudev libudev: add missing errno initialization/error propagation (#6781) 2017-09-09 22:31:09 +02:00
locale "Don't fear the fsync()" 2017-08-17 20:26:36 +01:00
login terminal: unify code for resetting kbd utf8 mode a bit (#6692) 2017-09-01 09:09:32 +09:00
machine tree-wide: use pid_is_valid() at more places 2017-08-31 15:45:04 +02:00
machine-id-setup build-sys: drop automake support 2017-07-18 10:04:44 -04:00
modules-load exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
mount mount: always show the user-provided argument when umount can't be done 2017-09-07 16:16:47 -03:00
network networkd: route - support unicast,blackhole,unreachable and prohibited (#6861) 2017-09-19 16:28:26 +02:00
notify build-sys: drop automake support 2017-07-18 10:04:44 -04:00
nspawn nspawn: replace syscall blacklist by a whitelist 2017-09-14 15:45:21 +02:00
nss-myhostname Merge pull request #6420 from keszybz/gateway-name 2017-08-01 09:43:41 +02:00
nss-mymachines nss: use secure_getenv for behaviour-modifying booleans (#6817) 2017-09-14 09:20:27 +02:00
nss-resolve build-sys: drop automake support 2017-07-18 10:04:44 -04:00
nss-systemd nss: use secure_getenv for behaviour-modifying booleans (#6817) 2017-09-14 09:20:27 +02:00
path build-sys: drop automake support 2017-07-18 10:04:44 -04:00
quotacheck build-sys: drop automake support 2017-07-18 10:04:44 -04:00
random-seed build-sys: drop automake support 2017-07-18 10:04:44 -04:00
rc-local-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
remount-fs build-sys: drop automake support 2017-07-18 10:04:44 -04:00
reply-password build-sys: drop automake support 2017-07-18 10:04:44 -04:00
resolve exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
rfkill rfkill: Delay writes until exit (#5768) 2017-09-01 12:17:02 +02:00
run run: add new --pipe option for including "systemd-run" commands in shell pipelines 2017-09-12 16:28:12 +02:00
shared path-lookup: fix minor memleak 2017-09-19 20:14:22 +02:00
sleep exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
socket-proxy build-sys: drop automake support 2017-07-18 10:04:44 -04:00
stdio-bridge tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
sulogin-shell sulogin-shell: switch from shell implementation to a C implementation (#6698) 2017-09-08 18:21:37 +02:00
sysctl exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
system-update-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
systemctl systemctl: make sure we properly turn off color at the end of each line of "list-unit-files" (#6688) 2017-09-05 16:31:26 +02:00
systemd networkd: route - support unicast,blackhole,unreachable and prohibited (#6861) 2017-09-19 16:28:26 +02:00
sysusers nss-systemd,sysusers: make sure sysusers doesn't get confused by nss-systemd (#6812) 2017-09-14 06:20:39 +02:00
sysv-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
test Merge pull request #6847 from keszybz/disable-enable-generators 2017-09-20 19:51:44 +02:00
timedate build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
timesync timesync: move stamp file to /var/lib/systemd/timesync/clock 2017-08-30 15:59:57 +09:00
tmpfiles exec-util,conf-files: skip non-executable files in execute_directories() 2017-09-13 11:42:31 +02:00
tty-ask-password-agent build-sys: drop automake support 2017-07-18 10:04:44 -04:00
udev systemd-link: Add support to configure tx-tcp6-segmentation (#6859) 2017-09-19 10:49:58 +02:00
update-done build-sys: drop automake support 2017-07-18 10:04:44 -04:00
update-utmp tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
user-sessions build-sys: drop automake support 2017-07-18 10:04:44 -04:00
vconsole build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
veritysetup build-sys: drop automake support 2017-07-18 10:04:44 -04:00
volatile-root build-sys: drop automake support 2017-07-18 10:04:44 -04:00