williamvds
6797a74f78
Add WRITE_STRING_FILE_TRUNCATE to set O_TRUNC
2020-10-21 17:18:25 +01:00
williamvds
82443be506
Add strv_prepend
...
Inserts a copy of the value at the head of the list.
2020-10-21 17:14:37 +01:00
Michal Koutný
0bc2f071e1
meson: Fix missing libseccomp dependencies
...
The builds with HAVE_SECCOMP fail on missing include paths:
FAILED: src/basic/libbasic.a.p/parse-util.c.o
cc -Isrc/basic/libbasic.a.p -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -I. -I.. -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -fPIC -pthread -fvisibility=default -MD -MQ src/basic/libbasic.a.p/parse-util.c.o -MF src/basic/libbasic.a.p/parse-util.c.o.d -o src/basic/libbasic.a.p/parse-util.c.o -c ../src/basic/parse-util.c
In file included from ../src/basic/parse-util.c:20:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
4 | #include <seccomp.h>
| ^~~~~~~~~~~
compilation terminated.
FAILED: test-parse-util.p/src_test_test-parse-util.c.o
cc -Itest-parse-util.p -I. -I.. -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -MD -MQ test-parse-util.p/src_test_test-parse-util.c.o -MF test-parse-util.p/src_test_test-parse-util.c.o.d -o test-parse-util.p/src_test_test-parse-util.c.o -c ../src/test/test-parse-util.c
In file included from ../src/test/test-parse-util.c:14:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
4 | #include <seccomp.h>
| ^~~~~~~~~~~
compilation terminated.
Add the respective deps.
Fixes: 005bfaf118
("exec: Add kill action to system call filters")
2020-10-16 12:30:24 +09:00
Zbigniew Jędrzejewski-Szmek
69c0807432
Merge pull request #15206 from anitazha/systoomd-v0
...
systemd-oomd
2020-10-15 14:16:52 +02:00
Lennart Poettering
b0eb40cda4
Merge pull request #17188 from keszybz/envvars-posix
...
Follow (mostly) POSIX rules for environment variables
2020-10-14 18:32:22 +02:00
Lennart Poettering
7848cb8c57
Merge pull request #17338 from poettering/close-range
...
make use of new kernel 5.9 close_range() syscall in close_all_fds()
2020-10-14 17:22:15 +02:00
Zbigniew Jędrzejewski-Szmek
547f724f7a
Merge pull request #17267 from yuwata/hashmap_put_strdup
...
hashmap: make hashmap_put_strdup() take hash_ops
2020-10-14 15:05:15 +02:00
Lennart Poettering
b8cfa2da7c
fd-util: port close_all_fds() to close_range()
2020-10-14 10:40:29 +02:00
Lennart Poettering
441e0fdb90
missing: add close_range() wrapper
...
The syscall was added in 5.9 and is not yet exposed in glibc, hence
define our own wrapper.
2020-10-14 10:40:10 +02:00
Lennart Poettering
562b01e996
alloc-util: avoid allocating zero size memory blocks
...
It's not clear what libc's make of this. We clamp to 1 byte allocations
in most cases already, let's add this for a few where this was missing.
2020-10-14 10:39:48 +02:00
Yu Watanabe
4081756a63
sd-dhcp-client: make sd_dhcp_client_set_request_option() not return -EEXIST
...
Fixes #16964 .
2020-10-14 12:54:55 +09:00
Yu Watanabe
5e71868ced
util: introduce two trivial hash_ops
...
Will be used in a later commit.
2020-10-13 22:40:22 +09:00
Yu Watanabe
11e9fec259
hashmap: introduce {hashmap,set}_put_strdup_full()
...
They can take hash_ops.
2020-10-13 22:39:06 +09:00
Zbigniew Jędrzejewski-Szmek
b45c068dd8
basic/env-util: (mostly) follow POSIX for what variable names are allowed
...
There was some confusion about what POSIX says about variable names:
names shall not contain the character '='. For values to be portable
across systems conforming to POSIX.1-2008, the value shall be composed
of characters from the portable character set (except NUL and as
indicated below).
i.e. it allows almost all ASCII in variable names (without NUL and DEL and
'='). OTOH, it says that *utilities* use a smaller set of characters:
Environment variable names used by the utilities in the Shell and
Utilities volume of POSIX.1-2008 consist solely of uppercase letters,
digits, and the <underscore> ( '_' ) from the characters defined in
Portable Character Set and do not begin with a digit.
When enforcing variable names in environment blocks, we need to use this
first definition, so that we can propagate all valid variables.
I think having non-printable characters in variable names is too much, so
I took out the whitespace stuff from the first definition.
OTOH, when we use *shell syntax*, for example doing variable expansion,
it seems enough to support expansion of variables that the shell would allow.
Fixes #14878 ,
https://bugzilla.redhat.com/show_bug.cgi?id=1754395 ,
https://bugzilla.redhat.com/show_bug.cgi?id=1879216 .
2020-10-12 18:24:28 +02:00
Zbigniew Jędrzejewski-Szmek
4b6f74f5a0
basic/selinux: work around mallinfo deprecation
...
Latest glibc has deprecated mallinfo(), so it might become unavailable at some point
in the future. There is malloc_info(), but it returns XML, ffs. I think the information
that we get from mallinfo() is quite useful, so let's use mallinfo() if available, and
not otherwise.
2020-10-12 15:51:39 +02:00
Lennart Poettering
656f7f8aa5
Merge pull request #17273 from mrc0mmand/coccinelle-check-for-bad-errno
...
coccinelle: resolve our own macros to avoid skipping functions
2020-10-12 11:39:25 +02:00
mirabilos
356e9c6687
missing_syscall: fixup syscall numbers for x32 vs. amd64
2020-10-09 15:56:19 +02:00
Frantisek Sumsal
d46b79bbe0
tree-wide: drop if braces around single line expressions as well
2020-10-09 15:11:55 +02:00
Frantisek Sumsal
d7a0f1f4f9
tree-wide: assorted coccinelle fixes
2020-10-09 15:02:23 +02:00
Lennart Poettering
2a155c53ab
ratelimit: add ratelimit_configured() helper
...
This helper alone doesn't make too much sense, but it's preparatory work
for #17274 , and I guess it can't hurt to land it early, it does make the
ratelimit code a tiny bit prettier after all.
2020-10-09 08:58:59 +02:00
Lennart Poettering
ba28df775d
missing-syscall: fix copypasta
...
As noticed by @mbiebl:
5134e18eed (r43033443)
2020-10-08 13:52:44 +02:00
Michael Biebl
cd20659891
basic/missing_syscall: fix syscall numbers for mips*
...
Thanks Christian Brauner @brauner
Fixes : #17261
2020-10-08 10:25:15 +02:00
Lennart Poettering
e7bcecf0e4
Merge pull request #17279 from poettering/systemctl-split-up
...
systemctl: split huge .c file into smaller bits
2020-10-08 10:17:29 +02:00
Anita Zhang
b41dcc51eb
cgroup-util: add cg_get_attribute_as_bool() helper
2020-10-07 17:12:24 -07:00
Anita Zhang
510ca79cf2
parse-util: add parse_loadavg_fixed_point
2020-10-07 16:17:24 -07:00
Anita Zhang
e30bbc90c9
core: add varlink call to get cgroup paths of units using ManagedOOM*=
2020-10-07 16:17:23 -07:00
Anita Zhang
4d824a4e0b
core: add ManagedOOM*= properties to configure systemd-oomd on the unit
...
This adds the hook ups so it can be read with the usual systemd
utilities. Used in later commits by sytemd-oomd.
2020-10-07 16:17:23 -07:00
Lennart Poettering
0f2219bb8f
basic: include stddef.h since we use NULL in header
2020-10-07 22:19:10 +02:00
Yu Watanabe
b2f61e0da0
basic: import linux/ipv6_route.h
2020-10-07 15:22:09 +02:00
Yu Watanabe
473a64e569
meson: add missing files
2020-10-07 15:22:09 +02:00
Michal Suchanek
3224e38bb6
basic/virt: Detect PowerVM hypervisor
...
Currently systemd-detect-virt fails to detect running under PowerVM.
Add code to detect PowerVM based on code in util-linux.
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
2020-10-06 08:24:12 +02:00
Lennart Poettering
5a8d00e8ca
virt: reference correct file path in log message
2020-10-05 11:40:48 +02:00
Zbigniew Jędrzejewski-Szmek
12bab3579f
Merge pull request #17230 from mrc0mmand/coccinelle_fixes
...
coccinelle: fix the incorrect transformation/isomorphisms
2020-10-05 08:03:40 +02:00
Frantisek Sumsal
1d6cc5d0e5
tree-wide: coccinelle fixes
2020-10-04 12:32:21 +02:00
Samanta Navarro
5e2b0e1cfa
man: fix typos
2020-10-03 11:56:50 +00:00
Lennart Poettering
c14ebe07a9
Merge pull request #17172 from keszybz/read-login-defs
...
Read /etc/login.defs
2020-10-02 11:01:30 +02:00
Zbigniew Jędrzejewski-Szmek
d338bfff4a
basic/fileio: add chase_symlinks_and_fopen_unlocked()
2020-10-01 17:52:50 +02:00
Franck Bui
8ce3de991b
Merge pull request #17214 from poettering/log-generator-fix
...
fix logging in generators
2020-10-01 10:51:19 +02:00
Lennart Poettering
fabf877705
Merge pull request #17154 from keszybz/crypttab-commas
...
Allow escaping commas in crypttab
2020-10-01 10:26:24 +02:00
Lennart Poettering
ef9bddb799
log: normalize log target condition check
...
THis doesn't change the condition's logic at all, but is an attempt to
make things a bit more readable: instead of checking log_target !=
LOG_TARGET_AUTO let's actually list the targets where we want to
consider journal/syslog/kmsg, to make things a bit less confusing. After
all the message here is not to avoid them if LOG_TARGET_AUTO is set, but
to definitely do them in the other cases.
2020-09-30 16:17:12 +02:00
Lennart Poettering
27ffec0831
log: update comment
...
The logic was changed in bc694c06e6
, let's
update the comment accordingly.
2020-09-30 16:06:55 +02:00
Zbigniew Jędrzejewski-Szmek
5ced292d10
Merge pull request #17199 from poettering/log-tid
...
include thread ID in log output
2020-09-30 10:28:51 +02:00
Pass Automated Testing Suite
e3820eeaf1
path-lookup: Correct order of XDG_CONFIG_HOME and XDG_CONFIG_DIRS
...
According to the XDG Base Directory Specification [1] XDG_CONFIG_HOME
should take precedence over XDG_CONFIG_DIRS.
Fixes: https://github.com/systemd/systemd/issues/16095
[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2020-09-29 21:47:01 +02:00
Lennart Poettering
38ffc7d18a
log: include TID= field in structred log output
...
It always was the intention to expose this as trusted field _TID=, i.e.
automatically determine it from journald via some SCM_xyz field or so,
but this is never happened, and it's unlikely this will be added anytime
soon to the kernel either, hence let's just generate this sender side,
even if it means it's untrusted.
2020-09-29 15:51:53 +02:00
Lennart Poettering
9ee806d1a8
log: optionally display thread ID in log output to tty
...
This is very useful when playing around with threaded tests, but should
be useful in other cases too.
2020-09-29 15:51:53 +02:00
Lennart Poettering
f25bff5eaf
fs-util: add new futimens_opath() helper
...
futimens() that works for O_PATH fds.
2020-09-28 18:45:54 +02:00
Lennart Poettering
9271daeed7
selinux: add apis to set labels/fix labels per fd instead of path
2020-09-28 18:45:54 +02:00
Zbigniew Jędrzejewski-Szmek
98dcb8f4c7
Move {uid,gid}_is_*() from basic to shared
...
Those are functions that express policy, and nothing in basic/ uses
(or should use) them.
2020-09-25 17:18:56 +02:00
Zbigniew Jędrzejewski-Szmek
d4d9f034b1
basic/strv: allow escaping the separator in strv_join()
...
The new parameter is false everywhere except for tests, so no functional change
is expected.
2020-09-25 13:36:34 +02:00
Zbigniew Jędrzejewski-Szmek
960b585ba1
Merge pull request #17145 from poettering/kill-chmod-and-chown-unsafe
...
remove chmod_and_chown_unsafe()
2020-09-24 09:40:56 +02:00