1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-31 16:21:26 +03:00
Commit Graph

41703 Commits

Author SHA1 Message Date
Dan Streetman
82a0fb328e src/boot/efi/shim: elide __attribute__((sysv_abi)) on non-intel archs
This attribute is x86-only, so when building on non-intel archs it
generates a compiler warning.  When building with -Werror this turns
into an error, so only include the attribute on intel archs.
2019-08-15 16:36:10 -04:00
Dan Streetman
9841802955 src/basic/missing_syscall: add comment lines for PR 13319 changes
Add a comment line explaining that the syscall defines might be
defined to invalid negative numbers, as libseccomp redefines them
to negative numbers if not defined by the kernel headers, which is
not obvious just from reading the code checking for defined && > 0
2019-08-15 19:36:50 +02:00
Evgeny Vereshchagin
ce2098b7e9 README: add an OSS-Fuzz badge
Since bug reports, backtraces, coverage reports and build logs are scattered
across at least four different places and there is no publicly available dashboards
the badge can point to, let's just point it to the build logs, which hopefully are going to be
a little bit more usable once https://github.com/google/oss-fuzz/issues/2690 is
addressed.
2019-08-15 17:34:56 +00:00
Tommi Rantala
e57cd3fb88 update-utmp: fix assertion failure if rescue.target, multi-user.target and graphical.target are all inactive
If rescue.target, multi-user.target and graphical.target are all
inactive, get_current_runlevel() is not able to determine current
runlevel, and returns with zero. This zero runlevel value results to
assertion failure in utmp_put_runlevel().

 # systemctl stop rescue.target multi-user.target graphical.target
 # systemctl start systemd-update-utmp-runlevel.service

 systemd[1]: Stopped target Graphical Interface.
 systemd[1]: Stopped target Multi-User System.
 systemd[1]: Starting Update UTMP about System Runlevel Changes...
 systemd-update-utmp[67]: Assertion 'runlevel > 0' failed at src/shared/utmp-wtmp.c:275, function utmp_put_runlevel(). Aborting.
 systemd[1]: systemd-update-utmp-runlevel.service: Main process exited, code=dumped, status=6/ABRT
 systemd[1]: systemd-update-utmp-runlevel.service: Failed with result 'core-dump'.
 systemd[1]: Failed to start Update UTMP about System Runlevel Changes.

Let's just print a warning in this case and skip the utmp update, to
avoid systemd-update-utmp-runlevel.service failures.
2019-08-14 18:22:09 +02:00
Zbigniew Jędrzejewski-Szmek
15e19aa1fc
Merge pull request #13273 from RPigott/zshcomp
Enable resolvectl zsh completions
2019-08-14 18:21:12 +02:00
Lennart Poettering
636e72bce6 sysusers: properly mark generated accounts as locked
Previously, we'd only set the shell to /usr/bin/nologin and lock the
password for system users. Let's go one step further and also lock the
whole account.

This is a paranoid safety precaution, since neither disabling the shell
like this nor disabling the password is sufficient to lock an account,
since remote shell tools generally allow passing different shells, and
logins into ftp or similar protocols don't know the shell concept anyway.
Moreover, in times of ssh authentication by password is just one
option of authentication among many.

Takes inspiration from the recommendations in usermod(8)'s -L switch:

    "Note: if you wish to lock the account (not only access with a
    password), you should also set the EXPIRE_DATE to 1."
2019-08-14 18:19:56 +02:00
Zbigniew Jędrzejewski-Szmek
5d9bc22ac0
Merge pull request #13298 from RPigott/busctl
zsh: add busctl completions
2019-08-14 18:18:55 +02:00
EtherGraf
8c21fba875 hwdb: acceleration mount matrix for a Medion Akoya E3221 (#13310) 2019-08-14 18:15:50 +02:00
Dan Streetman
59b657296a src/basic/missing_syscall: change #ifndef to #if ! (defined && > 0)
The #ifndef check used to work for missing __NR_* syscall defines, but
unfortunately libseccomp now redefines missing syscall number to negative
numbers, in their public header file, e.g.:
https://github.com/seccomp/libseccomp/blob/master/include/seccomp.h.in#L801

When systemd is built, since it includes <seccomp.h>, it pulls in the
incorrect negative value for any __NR_* syscall define that's included in
the seccomp.h header (for those syscalls that the kernel headers don't
yet define, e.g. when built with older/stable-distro kernels).  This leads
to bugs like:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1821625

This changes the check so that it can override the negative number that
libseccomp defines, instead of trying to use the negative syscall number.
To avoid gcc warnings (which are failures with meson --werror), this checks
without generating a redefinition gcc warning.

I have no idea why libseccomp decided to define missing syscalls
to negative numbers inside their *public* header file, causing
problems like this.
2019-08-14 18:09:47 +02:00
Zbigniew Jędrzejewski-Szmek
b208cbe5b4 shared/unit-file: fix systemctl cat user@.service
I assumed that unit_name_to_instnace() returns NULL if there is no instance.
In fact it returns "", so the check for instance was wrong.

Also avoid unnecessary call to unit_name_is_valid().
2019-08-14 16:20:49 +02:00
Lennart Poettering
24f36fb180
Merge pull request #13302 from yuwata/network-set-put-fixes
network: fixes related to set_put()
2019-08-14 16:18:06 +02:00
Lennart Poettering
87915c1c98
Merge pull request #13318 from ddstreet/s390_seccomp
add s390 pkey_mprotect syscall number, and s390 mmap syscall definitions
2019-08-14 16:13:58 +02:00
Mattias Jernberg
a5a8776ae5 core: Avoid race when starting dbus services
In high load scenarios it is possible for services to be started
before the NameOwnerChanged signal is properly installed.

Emulate a callback by also queuing a GetNameOwner when the match is
installed.

Fixes: #12956
2019-08-14 16:12:31 +02:00
Daniel Black
f364a17dd1 test: ppc64* qemu is qemu-system-ppc64 2019-08-14 07:43:29 +00:00
Francesco Pennica
c8818aebab hwdb: Fix airplane mode spam on HP Spectre x360 Convertible
Added additional rule matching my HP Spectre x360 Convertible from 2015 (skylake)
2019-08-14 12:34:35 +09:00
Ronan Pigott
e4e4e4954c shell-completion: complete --match argument for busctl 2019-08-13 20:27:56 -07:00
Dan Streetman
57311925aa src/shared/seccomp-util.c: Add mmap definitions for s390 2019-08-13 15:40:36 -04:00
Dan Streetman
4f6d0cf807 src/basic/missing_syscall: add s390 syscall number for __NR_pkey_mprotect
The syscall number for s390 was added to the kernel at:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b41c51c8e194c0bdfb4b1778a137aea8246c86cd
2019-08-13 15:40:29 -04:00
Lennart Poettering
9ef3376bc9 TODO: add more, and drop implemented stuff 2019-08-13 14:41:24 +02:00
Frantisek Sumsal
215bffe1b8 test: store coredumps in journal
To make debugging much easier, especially for crashes in tests under
QEMU, let's store the entire coredump bundle in the systemd journal,
which is usually kept around by various CIs. Right now, we usually end
up with a journal, but without the coredump itself, which is pretty
useless.
2019-08-13 07:09:57 +00:00
William Wold
d9fcca14a5 hwdb: Add axis overrides for HP Envy x360 (#13304) 2019-08-13 08:03:55 +10:00
Frantisek Sumsal
d397d2b220
Merge pull request #13303 from yuwata/bootctl-segfaults
bootctl: fix segfaults
2019-08-12 19:16:51 +00:00
William A. Kennington III
d1bdafd214 networkd: Keep track of static neighbors
We need to keep track of the static neighbors that are configured on the
interface so that we can delete stale entries that were removed.
2019-08-12 20:28:19 +09:00
Yu Watanabe
f8a2b09a18 bootctl: arg_dolloar_boot_path() may return NULL 2019-08-12 16:14:07 +09:00
Yu Watanabe
a2ae0d4969 bootctl: clear arg_xbootldr_path when acquire_xbootldr() succeeds 2019-08-12 00:04:44 +09:00
Frantisek Sumsal
67c434b03f test: drop the missed || exit 1 expression
...as we've already done in the rest of the testsuite, see
cc469c3dfc
2019-08-11 09:38:49 +02:00
Yu Watanabe
3dc2e7af5f network: add missing link_ref() 2019-08-11 09:11:25 +09:00
Yu Watanabe
75a302b561 network: fix potential memleaks related to set_put() 2019-08-11 08:57:01 +09:00
frederik
4c94a4c2d6 man: add example for IPv6 Prefix Delegation 2019-08-11 06:22:12 +09:00
Lennart Poettering
3619634ca5 firstboot: drop duplicate trailing whitespace from root pw question
Since ask_password() (and related calls) already append one char, we
ended up appending two. That's not pretty. Let's fix this, and do it
like in all other cases ask_password() (or an equivalent function) is
called.
2019-08-11 06:13:57 +09:00
Lennart Poettering
d35c77412a docs: fix env var name in random seed markdown documentation 2019-08-11 06:10:58 +09:00
Johannes Christ
7f024cb211 Fix typo in analyze-security.c. 2019-08-11 06:08:42 +09:00
Frantisek Sumsal
38d8a12353 test: introduce TEST-37-EXECRELOAD
A simple test case for #13098
2019-08-10 16:03:07 +02:00
Ronan Pigott
161719d50c zsh: add busctl completions 2019-08-10 01:21:35 -07:00
Evgeny Vereshchagin
d4d74d0fc0 fuzzit: get MSan to track origins
It's just a follow-up to https://github.com/systemd/systemd/pull/13281
that should make it a little bit easier to make sense of
MSan reports.

https://clang.llvm.org/docs/MemorySanitizer.html#origin-tracking
2019-08-09 07:25:39 +00:00
Evgeny Vereshchagin
46d01913af
Merge pull request #13281 from evverx/unleash-msan
fuzzit: an attempt to unleash MSan on all the fuzzers
2019-08-08 18:38:21 +03:00
Evgeny Vereshchagin
9cf19c1b30 fuzzit: collapse a series of commands
Now that the ids are gone, we can generate commands simply
using names as we go
2019-08-08 15:08:58 +00:00
Evgeny Vereshchagin
a9285009b7 fuzzit: switch to a new organization 2019-08-08 15:08:52 +00:00
Matthew Leeds
916f595c7c man: Fix grammar in systemd.kill.xml 2019-08-08 08:28:13 +00:00
Evgeny Vereshchagin
688b142d39 fuzzit: unleash MSan on all the fuzzers 2019-08-07 23:09:15 +00:00
Lennart Poettering
3884274b15 logind: set description for inhibitor event source 2019-08-08 07:40:37 +09:00
William A. Kennington III
0b1cd3e25a networkd: Routes should take the gateway into account
Otherwise, changing the default gateway doesn't purge old gateway routes
left on the system during daemon restart. This also fixes removing other
foreign gateway routes that don't match the expected configuration.

Tested:
    Changed gateway addresses prior to the patch and they lingered on
    the system during each reconfiguration. Applied this patch and
    reconfigured gateways and other routes multiple times and it removed
    the foreign routes that had gateways that didn't match.

Signed-off-by: William A. Kennington III <william@wkennington.com>
2019-08-07 20:32:36 +09:00
Ronan Pigott
24c55b6767 shell-completion: add resolvectl commands to zsh completion 2019-08-06 22:50:06 -07:00
Ronan Pigott
f65ccde2c1 shell-completion: enable resolvectl zsh completion 2019-08-06 22:49:44 -07:00
Yu Watanabe
9f4f7fe3b5
Merge pull request #13265 from keszybz/timedated-ntp-logging
Timedated logging and service priority
2019-08-07 08:07:57 +09:00
Zbigniew Jędrzejewski-Szmek
0957790b5f timedated: always enable&start the service with highest priority
This removes a special case that was implemented before: if some service
was already enabled, we'd treat it as having higher priority.

From https://bugzilla.redhat.com/show_bug.cgi?id=1735584#c4:
> Setting ntp off and on should give the same result as just setting it
> on. There should be no stickiness (hidden state). It should behave like
> running an ansible role.
>
> The other service might have been enabled because no other was installed at
> the time. If I install a new NTP service with a higher priority, setting ntp
> on should enable and start the new service, and disable all other. Also, if
> for some reason multiple services are enabled, after setting ntp on there
> should be only one enabled to avoid systemd selecting between them randomly
> on the next boot.
2019-08-06 15:04:03 +02:00
Ronan Pigott
46ff70ca69 systemctl: Add unit file states to state help message 2019-08-06 08:38:43 +02:00
Ronan Pigott
2c520df429 man: fix typo in resolvectl(1) man page 2019-08-06 07:54:31 +09:00
Zbigniew Jędrzejewski-Szmek
ad7fb9434c timedated: log about unit enablement actions and enhance logs in general
The general idea is that for things which can occur repeatedly, like SetNTP
being called with the same argument, we only log at debug level. For things
which change state, like when we realize that a unit that wasn't enabled
before needs to be enabled, we log at info level.

Also, don't return success if there are no units loaded.
2019-08-05 21:27:00 +02:00
Yu Watanabe
60ab2d1a4b unit: drop Before=sysinit.target from systemd-random-seed.service
Follow-up for 26ded55709.

The commit says,

> Note that with this change sysinit.target (and thus early boot) is NOT
systematically delayed until the entropy pool is initialized,

But the dependency was not dropped.

This was found by David Seifert (@SoapGentoo).
2019-08-05 20:21:38 +02:00