forked from systemd/systemd
-
Notifications
You must be signed in to change notification settings - Fork 0
update from upstream #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…eeded If we can just use the original data, let's do that.
This allows the original stream to be recreated and/or verified. The new field
is written if any stripping was done or if the input message contained embeded
NULs.
$ printf '<13>Sep 15 15:07:58 HOST: x\0y' | nc -w1 -u -U /run/systemd/journal/dev-log
$ journalctl -o json-pretty ...
{
...
"MESSAGE" : "x",
"SYSLOG_RAW" : [ 60, 49, 51, 62, 83, 101, 112, 32, 49, 53, 32, 49, 53, 58, 48, 55, 58, 53, 56, 32, 72, 79, 83, 84, 58, 32, 120, 0, 121 ]
}
$ journalctl -o export ... | cat -v
...
MESSAGE=x
SYSLOG_RAW
^]^@^@^@^@^@^@^@<13>Sep 15 15:07:58 HOST: x^@y
This mostly fixes #4863.
mktime returns -1 on error, so checking for != 0 is not useful.
This is useful if someone wants to recreate the original syslog datagram. We already include timestamp information as _SOURCE_REALTIME_TIMESTAMP=, and in normal use that timestamp, converted back to the form used by syslog (Mth dd HH:MM:SS) would usually give the value. But there are various circumstances where this might not be true. Most obviously, if the datagram is sent a bit later after being prepared, the time is rounded to the nearest second, and it might be off. This is especially bad around New Year when the syslog timestamp wraps around. Then the same timezone and locale need to be used to recreate the original timestamp. In the end doing this reliably is complicated, and it seems much easier to just unconditionally include the original timestamp. If the original timestamp cannot be located, we store the full log line. This way, it should be always possible to recreate the original input. Example: MESSAGE=x SYSLOG_TIMESTAMP=Sep 15 15:07:58 SYSLOG_RAW ^]^@^@^@^@^@^@^@<13>Sep 15 15:07:58 HOST: x^@y _PID=3318 _SOURCE_REALTIME_TIMESTAMP=1530743976393553 Fixes #2398.
This got broken in 9d9dd74, because a template is not a valid unit, so the check for being masked failed. Avoid this by handling templates specially. Fixes #9554. Also, this improves 'cat' with masked units: (before) $ systemctl cat [email protected] Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument Failed to derive unit name prefix from unit name: Invalid argument (after) $ build/systemctl cat [email protected] In check_triggering_units(), the call to unit_is_masked() is replaced with an open-coded check. This is a bit unfortunate, but unit_is_masked() now requires LookupPaths to be initialized, which we don't have or need in this case, so it seems easiest to just accept this tiny code duplication.
This is the default file gdb will use.
…temd to not record non-zero exit statuses See: #9588
…in" and "nta" options The current CLI does not support a way to clear these lists, since without any additional arguments, the command will list the current values. Introduce a new way to clear the lists by passing a single '' argument to these subcommands. Update the man page to document this. Tested: $ build/resolvectl domain eth1 Link 3 (eth1): ~. $ build/resolvectl domain eth1 '' $ build/resolvectl domain eth1 Link 3 (eth1): $ build/resolvectl domain eth1 '~.' '~example.com' $ build/resolvectl domain eth1 Link 3 (eth1): ~. ~example.com $ build/resolvectl domain eth1 '' $ build/resolvectl domain eth1 Link 3 (eth1): $ build/resolvectl domain eth1 '~.' $ build/resolvectl domain eth1 Link 3 (eth1): ~. And similar for "dns" and "nta".
No change in behaviour
The switch to memory_startswith() changed the logic to only look for a space or NUL byte after the matched word, but matching the full size should also be acceptable. This changed the behavior of parsing of "AUTH\r\n", where m will be set to 4, since even though the word will match, the check for it being followed by ' ' or NUL will make line_begins() return false. Tested: - Using netcat to connect to the private socket directly: $ echo -ne '\0AUTH\r\n' | sudo nc -U /run/systemd/private REJECTED EXTERNAL ANONYMOUS - Running the Ignition blackbox test: $ sudo sh -c 'PATH=$PWD/bin/amd64:$PATH ./tests.test' PASS Fixes: d27b725
It's not useful to bump the reference count before checking if the object is NULL. Thanks to d40f5cc we can do this ;). Related to https://bugzilla.redhat.com/show_bug.cgi?id=1576084, https://bugzilla.redhat.com/show_bug.cgi?id=1575340, https://bugzilla.redhat.com/show_bug.cgi?id=1575350. I'm not sure why those two people hit this code path, while most people don't. At least we won't abort.
cpu.cfs_quota_us is actually explained in sched-bwc.txt instead of sched-design-CFS.txt.
Using _GNU_SOURCE is better because that's how we include the headers in the actual build, and some headers define different stuff when it is defined. sys/stat.h for example defines 'struct statx' conditionally.
key_serial_t is defined in keyutil.h, which wasn't included in the header list in the test, so the test always failed. We were always compiling stuff with !HAVE_KEY_SERIAL_T. We could try to add keyutil.h to the test, but then we'd have to first check if it is available, which just doesn't seem worth the trouble. key_serial_t should always be defined as int32_t. Let's keep the uncoditional define, since repeated compatible typedefs are not a problem, and it allows us to compile even if the header file is missing. If there's ever a change in the definition, we'll have to adjust the code for the different type anyway, and our compiler will tell us.
Correct whitespace mess introduced by dc6e572.
Move BUS_DONT_DESTROY
network: fix memleak
Two meson fixmes
Store a copy of the input message if any stripping or truncation occurs
Systemctl mask check
These custom macros make the expression go through a function, in order to prevent ASSERT_SIDE_EFFECT false positives on our macros such as assert_se() and assert_return() that cannot be disabled and will always evaluate their expressions. This technique has been described and recommended in: https://community.synopsys.com/s/question/0D534000046Yuzb/suppressing-assertsideeffect-for-functions-that-allow-for-sideeffects Tested by doing a local cov-build and uploading the resulting tarball to scan.coverity.com, confirmed that the ASSERT_SIDE_EFFECT false positives were gone.
Micmute Key support of ThinkCentre M820z and M920z There was a ThinkCentre M800z Micmute Key support entry. But on new models M820z and M920z, the lines must change a bit, the keyboard:name... must change to evdev:name. Already tested on the M820z and M920z hardwares. Per Poettering's comment in #9619, We better combine M800z and M820/M920z entries and use the "evdev" prefix.
The dot is only shown for failed units. Alternative for #9644.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
update from upstream