1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 09:21:26 +03:00
Commit Graph

37739 Commits

Author SHA1 Message Date
Lennart Poettering
f76fa08899 resolved: rework dns_server_limited_domains(), replace by dns_scope_has_route_only_domains()
The function dns_server_limited_domains() was very strange as it
enumerate the domains associated with a DnsScope object to determine
whether any "route-only" domains, but did so as a function associated
with a DnsServer object.

Let's clear this up, and replace it by a function associated with a
DnsScope instead. This makes more sense philosphically and allows us to
reduce the loops through which we need to jump to determine whether a
scope is suitable for default routing a bit.
2018-12-21 12:09:00 +01:00
Lennart Poettering
1750854916 resolved: bind .local domains to mDNS with DNS_SCOPE_YES, similar LLMNR
Previously, we'd return DNS_SCOPE_MAYBE for all domain lookups matching
LLMNR or mDNS. Let's upgrade this to DNS_SCOPE_YES, to make the binding
stronger.

The effect of this is that even if "local" is defined as routing domain
on some iface, we'll still lookup domains in local via mDNS — if mDNS is
turned on. This should not be limiting, as people who don't want such
lookups should turn off mDNS altogether, as it is useless if nothing is
routed to it.

This also has the nice benefit that mDNS/LLMR continue to work if people
use "~." as routing domain on some interface.

Similar for LLMNR and single label names.

Similar also for the link local IPv4 and IPv6 reverse lookups.

Fixes: #10125
2018-12-21 11:41:45 +01:00
Lennart Poettering
a97a3b256c resolved: rework how we determine which scope to send a query to
Fixes: #10830 #9825 #9472
2018-12-21 11:04:11 +01:00
Lennart Poettering
89307df394 resolved: add comment, explaining when Scope variables are copied from Link 2018-12-21 11:04:11 +01:00
Lennart Poettering
2bfdd6dc54 resolved: rename_DNS_SCOPE_INVALID → _DNS_SCOPE_MATCH_INVALID
The _INVALID and _MAX enum fields should always use the full name of
thenum.
2018-12-21 11:04:11 +01:00
Lennart Poettering
dc2bc986eb resolved: check dns_over_tls_mode in link_needs_save()
This was forgotten when DoT was added.
2018-12-21 11:04:11 +01:00
Lennart Poettering
9a1bbc6642 resolved: use structured initialization for DnsScope 2018-12-21 11:04:11 +01:00
Zbigniew Jędrzejewski-Szmek
b72200a8a1 hwdb: update database
I looked over the diff, and it seems it's only additions and fixes, no removals.
The diff for the source files is much bigger, but it seems that the sorting
code is working well.
2018-12-21 10:37:39 +01:00
Yu Watanabe
aa2437e2ae NEWS: mention DynamicUser= is disabled for networkd, resolved and timesyncd
Which was disabled by #10117.
2018-12-21 05:22:21 +09:00
Frantisek Sumsal
67f5c0c776 tests: explicitly enable user namespaces for TEST-13-NSPAWN-SMOKE 2018-12-21 05:19:37 +09:00
Hans de Goede
78a562ee4b hwdb: Add accelerometer orientation quirk for the PoV TAB-P1006W-232-3G
Add accelerometer orientation quirk for the Point of View TAB-P1006W-232-3G
tablet.
2018-12-20 18:46:56 +01:00
Lennart Poettering
614bf4131b
Merge pull request #11223 from poettering/read-line-0x00-0xff
fileio: fix read_one_line() when reading bytes > 0x7F
2018-12-20 14:53:23 +01:00
Jeremy Su
ce3201d004 hwdb: Add support for HP ProBook 645 wifi and slash key (#11207)
hwdb: Add support for HP ProBook 645 wifi and slash key
2018-12-20 13:58:02 +01:00
Lennart Poettering
2881f926a4
Merge pull request #11222 from keszybz/tmpfiles-crash
tmpfiles: fix crash with NULL in arg_root and other fixes and tests
2018-12-20 13:57:16 +01:00
Lennart Poettering
cdce33f987 test-fileio: add explicit check for safe_fgetc() with 0xFF 2018-12-20 12:11:18 +01:00
Lennart Poettering
517b776042 fileio: fix read_one_line() when reading bytes > 0x7F
Fixes: #11218
2018-12-20 12:11:18 +01:00
Zbigniew Jędrzejewski-Szmek
6ea05ac99f
Merge pull request #10912 from poettering/gpt-root-rw
make sure to propagate GPT root partition r/w flag into mount r/w flag
2018-12-20 11:37:41 +01:00
Zbigniew Jędrzejewski-Szmek
082bb1c59b tmpfiles: fix crash with NULL in arg_root and other fixes and tests
The function to replacement paths into the configuration file list was borked.
Apart from the crash with empty root prefix, it would incorrectly handle the
case where root *was* set, and the replacement file was supposed to override
an existing file.

prefix_root is used instead of path_join because prefix_root removes duplicate
slashes (when --root=dir/ is used).

A test is added.

Fixes #11124.
2018-12-20 09:56:51 +01:00
Zbigniew Jędrzejewski-Szmek
faf9e4426c
Merge pull request #11215 from poettering/gpt-auto-no-udev
gpt-auto-generator: don't wait for udev
2018-12-20 09:29:52 +01:00
Lennart Poettering
f70e7f70c9 dissect: add some assert()s 2018-12-19 23:27:47 +01:00
Lennart Poettering
052eaf5c93 gpt-auto-generator: don't wait for udev
Generators run in a context where waiting for udev is not an option,
simply because it's not running there yet. Hence, let's not wait for it
in this case.

This is generally OK to do as we are operating on the root disk only
here, which should have been probed already by the time we come this
far.

An alternative fix might be to remove the udev dependency from image
dissection again in the long run (and thus replace reliance on
/dev/block/x:y somehow with something else).

Fixes: #11205
2018-12-19 23:27:47 +01:00
Chris Down
2141bedb39
Merge pull request #11212 from keszybz/mount-storm-revert
Revert the patches for mount-storm prevention for now
2018-12-19 12:11:15 +00:00
Zbigniew Jędrzejewski-Szmek
ec8126d723 Revert "core/mount: minimize impact on mount storm."
This reverts commit 89f9752ea0.

This patch causes various problems during boot, where a "mount storm" occurs
naturally. Current approach is flakey, and it seems very risky to push a
feature like this which impacts boot right before a release. So let's revert
for now, and consider a more robust solution after later.

Fixes #11209.

> https://github.com/systemd/systemd/pull/11196#issuecomment-448523186:
"Reverting 89f9752ea0 and fcfb1f775e fixes this test."
2018-12-19 11:37:41 +01:00
Zbigniew Jędrzejewski-Szmek
e36db50075 Revert "mount: disable mount-storm protection while mount unit is starting."
This reverts commit fcfb1f775e.
2018-12-19 11:32:17 +01:00
NeilBrown
fcfb1f775e mount: disable mount-storm protection while mount unit is starting.
The starting of mount units requires that changes to
/proc/self/mountinfo be processed before the SIGCHILD from the
completion of /sbin/mount is processed, as described by the comment
  /* Note that due to the io event priority logic, we can be sure the new mountinfo is loaded
   * before we process the SIGCHLD for the mount command. */

The recently-added mount-storm protection can defeat this as it
will sometimes deliberately delay processing of /proc/self/mountinfo.

So we need to disable mount-storm protection when a mount unit is starting.
We do this by keeping a counter of the number of pending
mounts, and disabling the protection when this is non-zero.

Thanks to @asavah for finding and reporting this problem.
2018-12-19 00:44:19 +01:00
Lennart Poettering
ff03aee4b7
Merge pull request #11201 from keszybz/more-news
Some git history rewriting and more news
2018-12-18 20:50:16 +01:00
Lennart Poettering
be2e1823ef
Merge pull request #11182 from poettering/fileio-more-paranoia
More safety checks for fileio.c
2018-12-18 20:49:19 +01:00
Chris Down
a361cc99ae
Merge pull request #11203 from keszybz/json-no-slash-escaping
json: do not unescape slashes
2018-12-18 16:08:27 +00:00
Zbigniew Jędrzejewski-Szmek
8edb6563b4 json: do not unescape slashes
Apparently this originated in PHP, so the json output could be directly
embedded in HTML script tags.
See https://stackoverflow.com/questions/1580647/json-why-are-forward-slashes-escaped.

Since the output of our tools is not intended directly for web page generation,
let's not do this unescaping. If needed, the consumer can always do escaping as
appropriate for the target format.
2018-12-18 15:21:37 +01:00
Zbigniew Jędrzejewski-Szmek
7f9d1aedec test-fileio: test safe_fgetc directly
Non-ascii chars are used so that we get both "positive" and "negative"
characters (on the arches where char is signed).
2018-12-18 15:03:22 +01:00
Lennart Poettering
e3b6ae8d00 update TODO 2018-12-18 15:03:22 +01:00
Lennart Poettering
0d90bd9229 process-util: rework getenv_for_pid() to use read_nul_string() 2018-12-18 15:03:22 +01:00
Lennart Poettering
3946d5762f test: add test case for read_nul_string() 2018-12-18 15:03:22 +01:00
Lennart Poettering
91a306b813 fileio: let's minimize 'count' inc/dec calls
instead of increasing it and immediately after decreasing it again,
let's just increase it a bit later.
2018-12-18 15:03:21 +01:00
Lennart Poettering
41f11239c0 fileio: replace read_nul_string() by read_line() with a special flag
read_line() is a lot more careful and optimized than read_nul_string()
but does mostly the same thing. let's replace the latter by the former,
just with a special flag that toggles between the slightly different EOL
rules if both.
2018-12-18 15:03:05 +01:00
Lennart Poettering
2a7797e964 process-util: make get_process_environ() safer
Let's add a size limit, and let's use safe_fgetc().
2018-12-18 15:03:05 +01:00
Lennart Poettering
03a7dbeae0 tree-wide: port some code over to safe_fgetc() 2018-12-18 15:03:00 +01:00
Zbigniew Jędrzejewski-Szmek
b1a082cd91 NEWS: add a note about symlink following in .wants and .requires
This ain't so easy to express without using too much technical language...

https://github.com/systemd/systemd/pull/10094#issuecomment-427407570
2018-12-18 15:02:24 +01:00
Zbigniew Jędrzejewski-Szmek
e68a35a78d NEWS: add note about NNP=yes 2018-12-18 15:01:57 +01:00
Lennart Poettering
285a9b2749 fileio: add new safe_fgetc() helper call
We have very similar code whenever we call fgetc() in place, let's
replae it by a common implementation.
2018-12-18 14:55:34 +01:00
Zbigniew Jędrzejewski-Szmek
0e89eb474d Merge pull request #10221 from lucaswerkmeister/bash-completion
Merged locally to resolve a conflict. The redirection of error is required to
suppress "# Not showing unlisted system calls, ...".
2018-12-18 14:53:58 +01:00
Lennart Poettering
7d1353ccf2 update TODO 2018-12-18 14:47:46 +01:00
Lennart Poettering
fd89051ec3 gpt-auto: propagate gpt partition ro/rw flag into root mount
This ensures that the read/write state of the root mount matches the
read/write flag in the GPT partition table entry.

This is only used as fallback in case no ro/rw flag is specified on the
kernel cmdline, and there's no entry for the root partition in
/etc/fstab.

This is missing functionality of the GPT auto logic, as without this the
root partition was always mounted read-only — when booting with zero
configuration in /etc/fstab and /proc/cmdline —, as we defaulted to
read-only behaviour for all mounts. Moreover we honoured the r/o flag in
the partition table for all other partition types, except for the root
partition.
2018-12-18 14:47:46 +01:00
Lennart Poettering
c94b241777 gpt-auto: make arg_root_rw a tri-state
No change in behaviour, but let's track whether ro or rw are specified
on the kernel cmdline at all.
2018-12-18 14:47:46 +01:00
Lennart Poettering
59f13dd6f8 remount-fs: optionally remount / writable, if we are told through an env var 2018-12-18 14:47:44 +01:00
Lennart Poettering
58b86fdf1d remount-fs: split code for tracking PIDs in hashmap
Just some refactoring, no change in behaviour.
2018-12-18 14:47:06 +01:00
Lennart Poettering
e0fe3a03ab remount-fs: use PATH_IN_SET() at one more place 2018-12-18 14:38:30 +01:00
Lennart Poettering
8a9c44edf9 gpt-auto: compare kernel cmdline args with proc_cmdline_key_streq() 2018-12-18 14:38:30 +01:00
Lennart Poettering
e4abfc77c4
Merge pull request #11197 from keszybz/various-fixups
Various fixups
2018-12-18 14:35:00 +01:00
Lennart Poettering
6b256626c5
Merge pull request #11191 from poettering/hashmap-clear
rework hashmap_clear()
2018-12-18 14:34:39 +01:00