1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 06:52:22 +03:00
Commit Graph

44108 Commits

Author SHA1 Message Date
Lennart Poettering
a45aced09a test-terminal-util: fix typo 2020-04-08 19:45:08 +02:00
Lennart Poettering
a851ba0795 terminal-util: fixate underlined yellow color too
non-underlined yellow uses RGB ANSI sequences while the underlined
version uses the paletted ANSI sequences. Let's unify that and use the
RGB sequence for both cases, so that underlined or not doesn't alter the
color.
2020-04-08 19:43:44 +02:00
Lennart Poettering
ad313ec33b catalog: add entry for SD_MESSAGE_UNSAFE_USER_NAME 2020-04-08 17:30:04 +02:00
Lennart Poettering
887a8fa341 docs: hook up the new USER_NAMES document everywhere
(Also correct the set of names we accept in User=, which was forgotten
to be updated in ae480f0b09.
2020-04-08 17:30:04 +02:00
Lennart Poettering
cafed7b32c docs: add a longer document explaining our rules on user/group names 2020-04-08 17:30:04 +02:00
Lennart Poettering
7a8867abfa user-util: rework how we validate user names
This reworks the user validation infrastructure. There are now two
modes. In regular mode we are strict and test against a strict set of
valid chars. And in "relaxed" mode we just filter out some really
obvious, dangerous stuff. i.e. strict is whitelisting what is OK, but
"relaxed" is blacklisting what is really not OK.

The idea is that we use strict mode whenver we allocate a new user
(i.e. in sysusers.d or homed), while "relaxed" mode is when we process
users registered elsewhere, (i.e. userdb, logind, …)

The requirements on user name validity vary wildly. SSSD thinks its fine
to embedd "@" for example, while the suggested NAME_REGEX field on
Debian does not even allow uppercase chars…

This effectively liberaralizes a lot what we expect from usernames.

The code that warns about questionnable user names is now optional and
only used at places such as unit file parsing, so that it doesn't show
up on every userdb query, but only when processing configuration files
that know better.

Fixes: #15149 #15090
2020-04-08 17:11:20 +02:00
Lennart Poettering
2aea5883f1 userdbctl: drop redundant user name validity check
The userdb_by_name() invocation immediately following does the same check
anyway, no need to do this twice.

(Also, make sure we exit the function early on failure)
2020-04-08 16:48:54 +02:00
Frantisek Sumsal
e00e2e0b50 test: wait a bit after stopping the test service
Give systemd a chance to process the stop event before checking if the
PID has indeed leaked. This should fix the intermittent test fails in CI
even with a fixed systemd version, like this one:

```
Apr 08 10:22:09 testsuite-47.sh[345]: ++ cat /leakedtestpid
Apr 08 10:22:09 testsuite-47.sh[334]: + leaked_pid=342
Apr 08 10:22:09 testsuite-47.sh[334]: + systemctl stop testsuite-47-repro
Apr 08 10:22:10 testsuite-47.sh[334]: + ps -p 342
Apr 08 10:22:10 testsuite-47.sh[348]:     PID TTY          TIME CMD
Apr 08 10:22:10 testsuite-47.sh[348]:     342 ?        00:00:00 sleep
Apr 08 10:22:10 testsuite-47.sh[334]: + exit 42
```

Followup to 197298ff9f
2020-04-08 12:15:52 +02:00
Anita Zhang
8ff8ce6284
Merge pull request #15358 from poettering/preset-clean-up
preset: let's clean up preset list a bit
2020-04-07 17:52:45 -07:00
Susant Sahani
e9a8c550c1 LLDP: Add support to transmit MUD URL 2020-04-08 00:20:54 +02:00
Lennart Poettering
9e27fd321c preset: let's clean up preset list a bit
let's make sure we list all singleton units we define in the preset
list, either as disable or as enable. Only four were missing, let's add
them in.

Also, let's group the pstore one with the other ones that are enabled,
right at the top.
2020-04-07 19:01:00 +02:00
Susant Sahani
f69b4ae885 sd-lldp: Add support to receive MUD 2020-04-07 17:17:29 +02:00
Lennart Poettering
9afe05c149
Merge pull request #14930 from tomhughes/dnssec-canonicalise
Canonicalise names in DNS responses per RFC4034 requirements
2020-04-07 17:07:04 +02:00
Topi Miettinen
cabc1c6d7a units: add ProtectClock=yes
Add `ProtectClock=yes` to systemd units. Since it implies certain
`DeviceAllow=` rules, make sure that the units have `DeviceAllow=` rules so
they are still able to access other devices. Exclude timesyncd and timedated.
2020-04-07 15:37:14 +02:00
Zbigniew Jędrzejewski-Szmek
c3362c2f97 Remove message->priority field
A warning is emitted from sd_bus_message_{get,set}_priority. Those functions
are exposed by pystemd, so we have no easy way of checking if anything is
calling them.

Just making the functions always return without doing anything would be an
option, but then we could leave the caller with an undefined variable. So I
think it's better to make the functions emit a warnings and return priority=0
in the get operation.
2020-04-07 15:29:23 +02:00
Zbigniew Jędrzejewski-Szmek
6635f57d3e sysctl: enable coredump for suid binaries
Right now the kernel will not dump anything that went through setuid or
setgid. But it is routine for daemons to do that, and it makes things hard to
debug.

systemd-coredump saves the coredump readable by the users the process was
running as. This should be enough to avoid information leakage. So let's also
tell the kernel to do the coredump.

For https://bugzilla.redhat.com/show_bug.cgi?id=1790972.

Both patterns are stored in the same file, so they are enabled or disabled
together. (Though suid_dumpable=2 is supposed to be safe even when writing to
plain files.)
2020-04-07 15:28:46 +02:00
root
f9d29f6d06 fix manager_state 2020-04-07 15:27:50 +02:00
Hans de Goede
e6b68254c2 hwdb: Add accel orientation quirk for MPMAN MPWIN895CL tablet
Add a quirk to fix the accelerometer orientation on the MPMAN MPWIN895CL
tablet.
2020-04-07 14:23:31 +02:00
Lennart Poettering
602235f27d
Merge pull request #15349 from keszybz/doc-work
Remove stray file and fix two minor issues in man pages
2020-04-07 14:10:56 +02:00
Zbigniew Jędrzejewski-Szmek
9aa822179b man: update rules
Apparently this step was forgotten in 935052a8aa.
2020-04-06 20:47:14 +02:00
Zbigniew Jędrzejewski-Szmek
326b1f897b Remove stray file 2020-04-06 20:45:41 +02:00
Zbigniew Jędrzejewski-Szmek
bb288a2cb3 man: drop apostophe from section title
For whatever reason, this does not get rendered propely in the man
page and results in an invalid code:
W: manual-page-warning /usr/share/man/man7/systemd.special.7.gz 103: warning: macro `AQ' not defined

We say 'user manager' and 'system manager' in most other places, so let's just
use this form here too.
2020-04-06 20:45:41 +02:00
Marcel Holtmann
9fac14980d hwdb: Update database of Bluetooth company identifiers 2020-04-05 10:01:14 +02:00
Vito Caputo
219ab1fbd0 bus: introduce some sd-bus convenience helpers
Many of the convenience functions from sd-bus operate on verbose sets
of discrete strings for destination/path/interface/member.

For most callers, destination/path/interface are uniform, and just the
member is distinct.

This commit introduces a new struct encapsulating the
destination/path/interface pointers called BusAddress, and wrapper
functions which take a BusAddress* instead of three strings, and just
pass the encapsulated strings on to the sd-bus convenience functions.

Future commits will update call sites to use these helpers throwing
out a bunch of repetitious destination/path/interface strings littered
throughout the codebase, replacing them with some appropriately named
static structs passed by pointer to these new helpers.
2020-04-04 13:38:58 -07:00
Evgeny Vereshchagin
3c2a50c945 oss-fuzz: point the badge directly to our logs 2020-04-04 19:41:33 +02:00
Evgeny Vereshchagin
858b64593a semaphore: switch to upstream-ci
"debian/master" has been broken since
d6483013d5
was merged.
2020-04-04 19:36:53 +03:00
Zbigniew Jędrzejewski-Szmek
a2f838d590 detect-virt: also detect "microsoft" as WSL
From https://github.com/microsoft/WSL/issues/423#issuecomment-221627364:
> it's unlikely we'll change it to something that doesn't contain "Microsoft"
> or "WSL".

... but well, it happened. If they change it incompatibly w/o adding an stable
detection mechanism, I think we should not add yet another detection method.
But adding a different casing of "microsoft" is not a very big step, so let's
do that.

Follow-up for #11932.
2020-04-04 16:52:32 +02:00
Lennart Poettering
4c39820562
Merge pull request #15298 from keszybz/show-property-value
systemctl --property-value as shortcut for --property --value
2020-04-04 11:22:59 +02:00
Anita Zhang
3d9489ee45
Merge pull request #15321 from topimiettinen/dbus-execute-add-protect-clock
dbus-execute: show also ProtectClock
2020-04-03 16:15:51 -07:00
Anita Zhang
4fbf39926e
Merge pull request #15290 from keszybz/unrelated-fixes
Three unrelated minor tweaks
2020-04-03 15:54:38 -07:00
Anita Zhang
3adb304ae6
Merge pull request #15297 from poettering/homed-no-fallocate
homed: fall back to ftruncate() if fallocate() is not supported on ba…
2020-04-03 15:49:43 -07:00
Zbigniew Jędrzejewski-Szmek
5522e628f5 test: use show -P in places
Not all places are converted on purpose, to also test the other option
name.
2020-04-03 18:24:21 +02:00
Zbigniew Jędrzejewski-Szmek
5292c24047 systemctl: add -P as short for --value --property= 2020-04-03 18:24:20 +02:00
Zbigniew Jędrzejewski-Szmek
1b87e27999
Merge pull request #15315 from DaanDeMeyer/deprecate-sd-bus-priority
sd-bus: Deprecate priority functions
2020-04-03 18:07:54 +02:00
Lennart Poettering
c4b2371263 capability: don't skip ambient caps setup if we actually have something to set
Follow-up for 7ea4392f1e

Let's not hide errors needlessly aggressively.
2020-04-03 18:02:08 +02:00
Zbigniew Jędrzejewski-Szmek
e30934c80f
Merge pull request #15310 from poettering/repart-no-enable
make systemd-repart static again, but condition it out if no config
2020-04-03 17:44:47 +02:00
Topi Miettinen
1887032f71 shared/dissect-image: log messages from cryptsetup
Before:
```
write(2, "Device /dev/loop1p1 is too small.\n", 34) = -1 ENOTCONN (Transport
endpoint is not connected)
```

After:
```
$ journalctl -b -e | grep 'too small'
Apr 02 16:53:30 loora systemd[343579]: Device /dev/loop1p1 is too small.
```
2020-04-03 17:44:20 +02:00
Giedrius Statkevičius
aa5408e2e8 resolve: reload /etc/hosts on inode change
On certain distributions such as NixOS the mtime of `/etc/hosts` is
locked to a fixed value. In such cases, only checking the last mtime of
`/etc/hosts` is not enough - we also need to check if the st_ino/st_dev
match up. Thus, let's make sure make sure that systemd-resolved also
rereads `/etc/hosts` if the inode or the device containing `/etc/hosts` changes.

Test script:

```bash
hosts="/etc/hosts"
echo "127.0.0.1 testpr" > "hosts_new"
mv "hosts_new" "$hosts"
resolvectl query testpr || exit 1
mtime="$(stat -c %y "$hosts")"
echo "127.0.0.1 newhost" > "hosts_tmp"
touch -d "$mtime" "hosts_tmp"
install -p "hosts_tmp" "$hosts"
sleep 10
resolvectl query newhost || exit 1
rm -f "hosts_tmp"
```

Closes #14456.
2020-04-03 17:34:10 +02:00
Topi Miettinen
b8b7b838fd
dbus-execute: show also ProtectClock
Show also `ProtectClock=` setting. This also lets `systemd-analyze security`
get the correct state for it.
2020-04-03 16:32:10 +03:00
Evgeny Vereshchagin
50f5e2e281
Merge pull request #15309 from poettering/strv-split
remove dead-lock in strv_split()
2020-04-03 06:37:54 +03:00
Daan De Meyer
1e9a7c44a9 sd-bus: remove unused priority logic 2020-04-02 21:42:32 +02:00
Daan De Meyer
11a177d9de sd-bus: Deprecate priority functions 2020-04-02 21:36:59 +02:00
Lennart Poettering
fdfe909123 units: run systemd-repart only if there's configuration for it 2020-04-02 17:07:48 +02:00
Lennart Poettering
aade0c3b6e Revert "units: make systemd-repart.service installable"
This reverts commit 7e1ed1f3b2.

systemd-repart is not a user service that should be something people
enable/disable, instead it should just work if there's configuration for
it. It's like systemd-tmpfiles, systemd-sysusers, systemd-load-modules,
systemd-binfmt, systemd-systemd-sysctl which are NOPs if they have no
configuration, and thus don't hurt, but cannot be disabled since they
are too deep part of the OS.

This doesn't mean people couldn't disable the service if they really
want to, there's after all "systemctl mask" and build-time disabling,
but those are OS developer facing instead of admin facing, that's how it
should be.

Note that systemd-repart is in particular an initrd service, and so far
enable/disable state of those is not managed anyway via "systemctl
enable/disable" but more what dracut decides to package up and what not.
2020-04-02 17:04:59 +02:00
Lennart Poettering
0fc659eea9 update TODO 2020-04-02 16:58:49 +02:00
Lennart Poettering
82aa14e2a3 string-util: make clear that split() + FOREACH_WORD() should die 2020-04-02 16:43:39 +02:00
Lennart Poettering
29965a2a6e string-util: make sure we eat even half complete words in split()
split() and FOREACH_WORD really should die, and everything be moved to
extract_first_word() and friends, but let's at least make sure that for
the remaining code using it we can't deadlock by not progressing in the
word iteration.

Fixes: #15305
2020-04-02 16:43:36 +02:00
Lennart Poettering
5fed82c642 string-util: some minor coding style updates 2020-04-02 16:43:24 +02:00
Lennart Poettering
77b19caf6b update TODO 2020-04-02 16:42:20 +02:00
Zbigniew Jędrzejewski-Szmek
c83a5ead31 Merge pull request #15210 from ssahani/networkctl-up-down
Merging by hand because github refuses merging because "Rebasing the commits of
this branch on top of the base branch cannot be performed automatically as this
would create a different result than a regular merge.".
2020-04-02 11:21:25 +02:00