Commit graph

32879 commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek a5935c6601 test-execute: skip exec-specifier-interpolation if perl is missing 2018-03-22 15:57:56 +01:00
Zbigniew Jędrzejewski-Szmek 6b08180ca6 test-execute: allow sit0@ to exist in private network namespace
It's always visible:

$ sudo modprobe sit
$ sudo unshare -n ip l
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ...
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ...
2018-03-22 15:57:56 +01:00
Zbigniew Jędrzejewski-Szmek c725631f4b test-execute: simplify checks if grep output is empty
grep already indicates if it matched anything by return value.
Additional advantage is then that if the test fails, the unexpected
matching lines are visible in the log output.
2018-03-22 15:57:56 +01:00
Zbigniew Jędrzejewski-Szmek b1ffacb631 tests: skip udev-test when perl is not installed 2018-03-22 15:57:56 +01:00
James Cowgill f5aeac1439 seccomp: add mmap and address family restrictions for MIPS (#8547) 2018-03-22 15:40:44 +01:00
Lennart Poettering 7f19eb3592
Merge pull request #8531 from poettering/dhcp-server-mini-fixes
some minor tweaks to sd-dhcp-server
2018-03-22 15:36:48 +01:00
Lennart Poettering c8475a8f8e
HACKING: small umask tweak for the rootpw (#8541) 2018-03-22 15:36:01 +01:00
Peter A. Bigot 1d0b60c481 units: disable systemd-time-sync-wait inside containers (#8537)
Fixes #8535
2018-03-22 05:27:27 +03:00
Peter A. Bigot e9cbef7dc9 doc/HACKING: show command to set root password in image (#8540)
Fixes #8538
2018-03-21 23:56:33 +01:00
juergbi 39362f6f7d main: add NoNewPrivileges config option (#8475)
This makes it possible to disable new privileges for the whole system.
2018-03-21 23:41:19 +01:00
Lennart Poettering 65baa289cf parse-util: similar to safe_atou16_full() add safe_atou_full()
What's good for uint16_t is also good for unsigned.

This is preparation for: #8140
2018-03-21 22:31:40 +01:00
Lennart Poettering 5ef56aa205 parse-util: introduce safe_atou16_full()
safe_atou16_full() is like safe_atou16() but also takes a base
parameter. safe_atou16() is then implemented as inline function on top
of it, passing 0 as base. Similar safe_atoux16() is reworked as inline
function too, with 16 as base.
2018-03-21 22:27:19 +01:00
Lennart Poettering bd11902696 man: watchdog documentation improvements 2018-03-21 22:00:30 +01:00
Lennart Poettering e799056e15 man: document that there's a second phase of shutdown in bootup(7) 2018-03-21 22:00:30 +01:00
Lennart Poettering 57027d0356 dhcp-server: don't propagate erros up the event loop
If we can't send a message this is no reason to completely abort the
event handler.

Issue identified by Nandor Han <nandor.han@ge.com>, Sebastian Reichel
<sebastian.reichel@collabora.co.uk>.

Replaces: #8525
2018-03-21 20:32:52 +01:00
Lennart Poettering cfcbb13583 dhcp-sever: check properly for invalid fds
We generally just compare for negativity, not for equlity to -1, let's
do so here too.
2018-03-21 20:30:29 +01:00
Lennart Poettering c3922c0c1c dhcp_server_handle_message: don't pretend there was a difference between return code 0 or 1
We ignore the difference anyway, hence let's systematically return 0.
2018-03-21 20:29:43 +01:00
Lennart Poettering 6408ba5fa9 dhcp-server: reduce level of indentation a bit
Less indentation is good, let's do that where it's easy.
2018-03-21 20:29:07 +01:00
Lennart Poettering 6e741541ed dhcp-server: introduce log_dhcp_server_errno()
Sometimes we want to print the error number, hence do so properly, and
avoid to use strerror() which is not reentrant.
2018-03-21 20:28:01 +01:00
Lennart Poettering 0f01c1f918 dhcp-server: don't assign sendmsg() return value to "int"
The type is "ssize_t", not "int", let's be accurate about that, as these
types are different on some archs.

Given that we don't actually care about the return value reall, drop
the whole assignment, just check if negative.
2018-03-21 20:27:16 +01:00
Lennart Poettering bdc8e623bb conf-parse: small prettification
Let's use first_word() instead of startswith(), it's more explanatory
and a bit more correct. Also, let's use the return value instead of
adding +9 when looking for the second part of the directive.
2018-03-21 20:04:16 +01:00
Lennart Poettering 41b283d0f1 conf-parser: let's explicitly deprecate .include in unit files
.include lines are already deprecated somewhat, and for example
explicitly not mentioned in the documentation for this reason. Let's get
one step further and generatea warning when we encounter them (but still
process them).

Why are they deprecated? Because they are semantically awful — they
complicate stat() based mtime checks for configuration files and they
allow arbitrary loops we currently have zero protection against and
really shouldn't have to have.
2018-03-21 20:04:16 +01:00
Lennart Poettering e743bca2a6 logind: drop obsolete comment
The code matching this comment was removed in
a50df72b37 in 2014, let's drop the comment
too.
2018-03-21 20:01:20 +01:00
Lennart Poettering bc2b6332a2 logind: use manager_get_user_by_pid() where appropriate
The current code reimplemented something like the
manager_get_user_by_pid() logic on its own, manually. Let's unify this.
2018-03-21 20:01:20 +01:00
Lennart Poettering 14ef4a6506 logind: rework manager_get_{user|session}_by_pid() a bit
Let's make sure we always initialize the return value if we return
non-negative.

Just a matter of coding style: we should always initialize our return
values when we return >= 0, and leave them unclobbered if we return < 0.
2018-03-21 20:01:20 +01:00
Zbigniew Jędrzejewski-Szmek 37cbc1d579 When mangling names, optionally emit a warning (#8400)
The warning is not emitted for absolute paths like /dev/sda or /home, which are
converted to .device and .mount unit names without any fuss.

Most of the time it's unlikely that users use invalid unit names on purpose,
so let's warn them. Warnings are silenced when --quiet is used.

$ build/systemctl show -p Id hello@foo-bar/baz
Invalid unit name "hello@foo-bar/baz" was escaped as "hello@foo-bar-baz" (maybe you should use systemd-escape?)
Id=hello@foo-bar-baz.service

$ build/systemd-run --user --slice foo-bar/baz --unit foo-bar/foo true
Invalid unit name "foo-bar/foo" was escaped as "foo-bar-foo" (maybe you should use systemd-escape?)
Invalid unit name "foo-bar/baz" was escaped as "foo-bar-baz" (maybe you should use systemd-escape?)
Running as unit: foo-bar-foo.service

Fixes #8302.
2018-03-21 15:26:47 +01:00
Lennart Poettering b85aca4f92
Merge pull request #8523 from keszybz/oss-fuzz-fixes
A fix for oss-fuzz msan ListenNetlink workaround
2018-03-21 15:26:25 +01:00
Franck Bui 100d5f6ee6 user-util: add new wrappers for reading/writing {passwd,shadow,gshadow} database files (#8521)
The API povided by the glibc is too error-prone as one has to deal directly
with errno in order to detect if errors occured.

Suggested by Zbigniew.
2018-03-21 15:26:02 +01:00
Zbigniew Jędrzejewski-Szmek af3865abf1 fuzz-unit-file: fix check if ListenNetlink is used
A line may contain leading spaces which we should skip.
Fixes https://oss-fuzz.com/v2/issue/5546208027213824/7049.
2018-03-21 13:16:52 +01:00
Zbigniew Jędrzejewski-Szmek 8a37ce6545 shared/conf-parser: fix outdated comment 2018-03-21 13:15:01 +01:00
Lennart Poettering ed47df8967 ac-power: add simple getopt() argument parsing to systemd-ac-power (#8516)
We should probably do that for all our tools, hence fill in this gap
here.
2018-03-21 12:52:18 +01:00
Zbigniew Jędrzejewski-Szmek 55c36ec0c1
Merge pull request #8508 from poettering/more-cocci
two new coccinelle rules files and their results
2018-03-21 12:50:49 +01:00
Peter A. Bigot 5c3376efcd time-sync-wait: add service (#8494)
This one-shot service waits until the kernel time has been set to
synchronized.
2018-03-21 12:42:04 +01:00
Lennart Poettering d9a43665eb
Merge pull request #8313 from alexgartrell/compression-threshold
Compression threshold
2018-03-21 12:37:54 +01:00
Lennart Poettering 0ba6791f46
Merge pull request #8368 from yuwata/nss-systemd-getpwent
nss-systemd: make dynamic users enumerable by `getent`
2018-03-21 12:36:47 +01:00
Lennart Poettering 4526113f57 dissect: add dissect_image_and_warn() that unifies error message generation for dissect_image() (#8517) 2018-03-21 12:10:01 +01:00
Lennart Poettering 31dc1ca3bf move MANAGER_IS_RELOADING() check into manager_recheck_{dbus|journal}() (#8510)
Let's better check this inside of the call than before it, so that we
never issue this while reloading, even should these calls be called due
to other reasons than just the unit notify.

This makes sure the reload state is unset a bit earlier in
manager_reload() so that we can safely call this function from there and
they do the right thing.

Follow-up for e63ebf71ed.
2018-03-21 12:03:45 +01:00
Lennart Poettering d56fced9e0 fileio: port parse_env_file_internal() to use _cleanup_free_ (#8511) 2018-03-21 11:59:56 +01:00
Long Li cf3fabacaa v3: Properly parsing SCSI Hyperv devices (#8509)
Since 2016, Hyperv devices moved to using standard way to expose UUID to sysfs. Fix the parsing function to work with the newer format.

Change log:
v2: changed code to work with both old and new path format
v3: changed guid_str_len type to size_t, fixed length in char guid[] in handle_scsi_hyperv()
2018-03-21 11:51:28 +01:00
Lennart Poettering ed1738a24a
Merge pull request #8487 from keszybz/oss-fuzz-fixes
Oss fuzz fixes, another batch
2018-03-21 11:50:57 +01:00
Lennart Poettering 2062ada74c selinux: let's fully (and statically) initialize log callback union (#8512)
We can make this const and static, and initialize this ahead of time and
fully, hence let's do that.
2018-03-21 11:48:40 +01:00
Zbigniew Jędrzejewski-Szmek 9d8c9125ed
Merge pull request #8513 from poettering/journal-minifixes
two minor journal fixes
2018-03-21 11:48:06 +01:00
Lennart Poettering 68b525d1d1 sd-bus: drop fd_nonblock() calls that are implied by rearrange_stdio() (#8514) 2018-03-21 11:46:49 +01:00
Lennart Poettering 43bfe75032 coredumpctl: drop unnecessary NULL initialization, and use const where possible (#8515) 2018-03-21 11:46:08 +01:00
Yu Watanabe 23e6c10bbe doc: update TODO 2018-03-21 13:39:16 +09:00
Yu Watanabe 12c2c56dcb nss-systemd: make dynamic users enumerable by getent
This adds `setpwent()`, `getpwent_r()`, `endpwent()`, `setgrent()`,
`getgrent_r()`, and `endgrent()` interfaces to nss-systemd library.
Thus, dynamic users can be enumerated by e.g. `getent passwd` command.
2018-03-21 13:39:03 +09:00
Yu Watanabe 9b5eaef3d1 nss-systemd: define dynamic user properties 2018-03-21 13:11:30 +09:00
Yu Watanabe 2458541961 nss-systemd: cleanup bypassing dbus logic 2018-03-21 13:11:17 +09:00
Yu Watanabe f9bfa6962d core: add new dbus method GetDynamicUsers
This intruduces a new dbus method GetDynamicUsers for systemd1.Manager,
which enumerates all dynamic users realized in the system.
2018-03-21 13:11:01 +09:00
Zbigniew Jędrzejewski-Szmek cb6870f67a Restore naming of IOPRIO_PRIO defines from linux/ioprio.h
This undoes part of 10062bbc35.
2018-03-21 00:46:22 +01:00